Blob Upload Tokens
Générez un jeton d’envoi de courte durée avec POST /v1/upload-tokens afin qu’un navigateur puisse envoyer directement vers Blob Storage sans votre clé API.
POST
string
requis
La clé d’API de votre compte. Vous pouvez la trouver dans les paramètres de votre compte.
blob:write et un plan payant.
Le jeton se place dans l’en-tête Authorization d’Object Post ou des routes d’envoi chunked, et ne fonctionne nulle part ailleurs (403 UPLOAD_TOKEN_NOT_ALLOWED). Tout ce que vous définissez lors de sa création est figé : le navigateur ne peut pas modifier le nom, le préfixe, la visibilité, l’expiration ou les métadonnées, envoyer un fichier plus volumineux, ni utiliser un autre type de fichier.
- Chaque envoi consomme une utilisation : un appel à Object Post, ou l’ouverture d’un envoi chunked (ses parties et sa finalisation n’en consomment pas davantage).
- Sans
name, c’est le navigateur qui le choisit et le nom reçoit toujours un security hash, de sorte qu’un jeton divulgué ne peut jamais remplacer vos fichiers existants. - Le jeton cesse de fonctionner lorsque ses utilisations sont épuisées (
401 UPLOAD_TOKEN_USED), lorsqu’il expire ou lorsque la clé API qui l’a généré est révoquée (401 ACCESS_DENIED).
string
Fige le nom du fichier. Sans lui, le navigateur envoie
name dans la query.string
Fige le préfixe. Un navigateur qui en envoie un autre reçoit
403 PREFIX_NOT_ALLOWED.boolean
Fige la visibilité.
boolean
Uniquement avec
name : false permet à l’envoi de remplacer le fichier portant ce nom. Sinon, le nom reçoit toujours un hash.string | null
Fige l’expiration (
30d, 6h), ou null pour aucune. En dessous de 7 jours, nécessite Enterprise.number
Taille maximale de fichier en octets, de 512 à 10737418240 (10 GiB).
string[]
Extensions acceptées, de 1 à 20, en minuscules et sans le point (
png, tar.gz).object
Métadonnées ajoutées à chaque fichier envoyé avec le jeton. Pro et Enterprise uniquement.
number
défaut:"900"
Durée de validité du jeton, de 60 à 3600 secondes.
number
défaut:"1"
Nombre d’envois autorisés par le jeton, de 1 à 100.
Limites de débit
120 jetons par minute (
RATE_LIMITED, 429). La génération ne stocke rien, un jeton par envoi d’utilisateur final convient donc parfaitement.Réponse
string
“success” en cas de succès, “error” sinon.
object
Erreurs
Lorsque le navigateur envoie le fichier :
401 UPLOAD_TOKEN_USED (épuisé), 401 ACCESS_DENIED (expiré ou révoqué), 403 PREFIX_NOT_ALLOWED (autre préfixe), 400 FILE_TYPE_NOT_ALLOWED (extension non autorisée) et 413 FILE_TOO_LARGE (au-delà de max_size).
