Skip to main content
Blob Storage ha un gateway compatibile con S3 che funziona con qualsiasi client S3. L’SDK ti fornisce le sue credenziali, oppure un S3Client già pronto dell’AWS SDK.
Entrambi i metodi richiedono una chiave API. Un client creato con un token di upload riceve 403 UPLOAD_TOKEN_NOT_ALLOWED, e una chiave in un vecchio formato riceve LEGACY_API_KEY.

s3()

s3() restituisce un S3Client di @aws-sdk/client-s3, già configurato con l’endpoint, la regione e le credenziali del gateway, e con forcePathStyle: true. @aws-sdk/client-s3 è una peer dependency opzionale: installala solo se usi s3(). Viene caricata in modo lazy, così l’SDK stesso resta privo di dipendenze.

Bucket

Vedi Bucket e Chiavi per come le chiavi S3 corrispondono agli oggetti, e Operazioni supportate per ciò che il gateway accetta.

s3Credentials()

Per altri client S3 (aws-cli, rclone, boto3, …), s3Credentials() restituisce la coppia di chiavi grezza:
Usa l’indirizzamento path-style con qualsiasi altro client.
secret_access_key concede lo stesso accesso della chiave API. Tienila sul server e conservala come la chiave stessa. Revocare o rigenerare la chiave API invalida anche la coppia.

Cache

La coppia è deterministica per chiave API, quindi l’SDK la memorizza in cache per ogni istanza del client: s3Credentials() e s3() chiamano l’API una sola volta, e le chiamate successive riutilizzano il risultato. Una chiamata fallita non viene memorizzata in cache, quindi la chiamata successiva riprova.
La route delle credenziali accetta solo 10 richieste all’ora. Crea un solo client SquareCloudBlob e riutilizzalo invece di crearne uno per ogni richiesta.
Riferimento API: S3 Credentials.