Speichern und bereitstellen Sie Dateien mit dem JavaScript SDK
Die alltäglichen Abläufe von aura.storage, wobei die Zugriffsregeln für einen laufenden Stapel beachtet werden.
1. Eimer
Ein Bucket gruppiert Dateien und entscheidet, ob sie öffentlich sind. Zum Erstellen und Löschen von Buckets ist ein service_role-Schlüssel erforderlich. Um sie aufzulisten, ist ein angemeldeter Benutzer oder ein service_role-Schlüssel erforderlich. Der öffentliche Schlüssel allein erhält 403.
Ein Bucket akzeptiert auch fileSizeLimit (in Bytes) und allowedMimeTypes. Ein zu großer Upload gibt 413 zurück, und ein nicht zulässiger Typ gibt 400 zurück.
2. Hochladen, herunterladen, auflisten, entfernen
Was Sie erwartet:
- Das Hochladen eines vorhandenen Pfads gibt
409zurück, es sei denn, Sie übergebenupsert: true. - Zum Hochladen ist ein angemeldeter Benutzer oder ein
service_role-Schlüssel erforderlich. Der öffentliche Schlüssel allein erhält403, selbst für einen öffentlichen Bucket. - Ein Pfad mit
..wird abgelehnt, mit400. - Pfade werden innerhalb eines Buckets gemeinsam genutzt. Wenn ein anderer Benutzer den Pfad bereits hat, erhalten Sie
409. Legen Sie die Dateien jedes Benutzers in einem eigenen Ordner ab, z. B.${user.id}/….
3. Geben Sie eine Datei frei
Beide Links wurden ohne Schlüssel abgerufen und die Datei zurückgegeben. Ein signierter Link funktioniert nach expires_in Sekunden nicht mehr. Um einen Browser ohne Schlüssel hochladen zu lassen, prägt ein Server createSignedUploadUrl(path) (einen service_role-Aufruf).
4. Wer kann was tun?
| Aktion | Öffentlicher Schlüssel | Angemeldeter Benutzer | service_role |
|---|---|---|---|
| Lesen Sie eine Datei in einem öffentlichen Bucket | ja | ja | ja |
| Lesen Sie, listen Sie eine Datei in einem privaten Bucket auf | Nein | nur sein Besitzer | ja |
| Hochladen | Nein | ja | ja |
| Ersetzen oder entfernen Sie eine Datei | Nein | nur sein Besitzer | ja |
| Buckets auflisten | Nein | ja | ja |
| Buckets erstellen und löschen | Nein | Nein | ja |
Der Eigentümer ist der Benutzer, der die Datei hochgeladen hat. In einem echten Durchlauf konnte ein zweiter Benutzer die Datei des ersten Benutzers nicht in einem privaten Bucket auflisten, herunterladen oder entfernen und sie auch nicht ersetzen.
5. Verschieben und kopieren Sie von einem Server
Die Größenänderung von Bildern wird in der Speicherreferenz beschrieben.