Skip to main content
Blob Storage には、任意の S3 クライアントで利用できる S3 互換ゲートウェイがあります。SDK はその認証情報、または AWS SDK のすぐに使える S3Client を提供します。
どちらのメソッドにも API キーが必要です。アップロードトークンで作成したクライアントは 403 UPLOAD_TOKEN_NOT_ALLOWED になり、古い形式のキーは LEGACY_API_KEY になります。

s3()

s3() は @aws-sdk/client-s3 の S3Client を返します。ゲートウェイの endpoint、リージョン、認証情報が設定済みで、forcePathStyle: true も指定されています。 @aws-sdk/client-s3 はオプションの peer dependency です。s3() を使う場合にのみインストールしてください。遅延読み込みされるため、SDK 自体は依存関係ゼロのままです。

バケット

S3 のキーとオブジェクトの対応についてはバケットとキーを、ゲートウェイが受け付ける操作についてはサポートされる操作を参照してください。

s3Credentials()

その他の S3 クライアント (aws-cli、rclone、boto3 など) 向けに、s3Credentials() は生のキーペアを返します:
他のクライアントではパススタイルのアドレス指定を使ってください。
secret_access_key は API キーと同じアクセス権を与えます。サーバー上に保管し、キーそのものと同様に保存してください。API キーを取り消したりローテーションしたりすると、このペアも無効になります。

キャッシュ

このペアは API キーごとに決定的なため、SDK はクライアントインスタンスごとにキャッシュします。s3Credentials() と s3() が API を呼び出すのは 1 回だけで、以降の呼び出しはその結果を再利用します。失敗した呼び出しはキャッシュされないため、次の呼び出しで再試行されます。
認証情報のルートが受け付けるのは 1 時間あたり 10 リクエストだけです。リクエストごとに SquareCloudBlob クライアントを作成するのではなく、1 つ作成して再利用してください。
API リファレンス: Blob S3 認証情報。