Stockez et servez des fichiers avec le SDK JavaScript
Les flux quotidiens de aura.storage, avec les règles d'accès observées par rapport à une pile en cours d'exécution.
1. Seaux
Un compartiment regroupe les fichiers et décide s'ils sont publics. La création et la suppression de compartiments nécessitent une clé service_role. Leur liste nécessite un utilisateur connecté ou une clé service_role ; la clé publique seule obtient 403.
Un compartiment accepte également fileSizeLimit (en octets) et allowedMimeTypes. Un téléchargement trop volumineux renvoie 413 et un type non autorisé renvoie 400.
2. Télécharger, télécharger, lister, supprimer
À quoi s'attendre :
- Le téléchargement d'un chemin existant renvoie
409sauf si vous transmettezupsert: true. - Le téléchargement nécessite un utilisateur connecté ou une clé
service_role. La clé publique seule obtient403, même pour un compartiment public. - Un chemin avec
..est refusé avec400. - Les chemins sont partagés dans un compartiment. Si un autre utilisateur possède déjà le chemin, vous obtenez
409. Placez les fichiers de chaque utilisateur dans leur propre dossier, tel que${user.id}/….
3. Partagez un fichier
Les deux liens ont été récupérés sans aucune clé et ont renvoyé le fichier. Un lien signé cesse de fonctionner après expires_in secondes. Pour permettre à un navigateur de télécharger sans clé, un serveur émet createSignedUploadUrl(path) (un appel service_role).
4. Qui peut faire quoi
| Action | Clé publique | Utilisateur connecté | service_role |
|---|---|---|---|
| Lire un fichier dans un bucket public | oui | oui | oui |
| Lire, lister un fichier dans un bucket privé | non | son propriétaire seulement | oui |
| Télécharger | non | oui | oui |
| Remplacer ou supprimer un fichier | non | son propriétaire seulement | oui |
| Répertorier les buckets | non | oui | oui |
| Créer, supprimer des compartiments | non | non | oui |
Le propriétaire est l'utilisateur qui a téléchargé le fichier. Dans une exécution réelle, un deuxième utilisateur ne pouvait pas répertorier, télécharger ou supprimer le fichier du premier utilisateur dans un compartiment privé, et ne pouvait pas non plus le remplacer.
5. Déplacer et copier, depuis un serveur
Le redimensionnement de l'image est décrit dans la référence de stockage.