Skip to main content
Blob Storage dispose d’une passerelle compatible S3 qui fonctionne avec n’importe quel client S3. Le SDK vous fournit ses identifiants, ou un S3Client prêt à l’emploi issu de l’AWS SDK.
Les deux méthodes nécessitent une clé API. Un client créé avec un jeton d’envoi reçoit 403 UPLOAD_TOKEN_NOT_ALLOWED, et une clé dans un ancien format reçoit LEGACY_API_KEY.

s3()

s3() renvoie un S3Client de @aws-sdk/client-s3, déjà configuré avec l’endpoint, la région et les identifiants de la passerelle, et avec forcePathStyle: true. @aws-sdk/client-s3 est une dépendance pair optionnelle : installez-la uniquement si vous utilisez s3(). Elle est chargée à la demande, de sorte que le SDK lui-même reste sans dépendance.

Buckets

Voir Buckets et Clés pour la correspondance entre les clés S3 et les objets, et Opérations prises en charge pour ce que la passerelle accepte.

s3Credentials()

Pour les autres clients S3 (aws-cli, rclone, boto3, …), s3Credentials() renvoie la paire de clés brute :
Utilisez l’adressage de type path-style avec tout autre client.
secret_access_key donne le même accès que la clé API. Gardez-la sur le serveur et stockez-la comme la clé elle-même. Révoquer ou renouveler la clé API invalide aussi la paire.

Mise en cache

La paire est déterministe pour une clé API donnée : le SDK la met donc en cache par instance de client. s3Credentials() et s3() appellent l’API une seule fois, et les appels suivants réutilisent le résultat. Un appel échoué n’est pas mis en cache, de sorte que l’appel suivant réessaie.
La route des identifiants n’accepte que 10 requêtes par heure. Créez un seul client SquareCloudBlob et réutilisez-le au lieu d’en créer un par requête.
Référence de l’API : Identifiants S3.