AWS SDK for JavaScript V3 APIリファレンスガイドでは、バージョン 3 (V3) のすべてのAPIオペレーションについて詳しく説明しています AWS SDK for JavaScript 。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon S3 に関する考慮事項
Amazon S3 マルチパートアップロード
v2 では、Amazon S3 クライアントには、Amazon S3 が提供するマルチパートアップロード機能を備えた大きなオブジェクトのアップロードをサポートする upload()
オペレーションが含まれています。
v3 では、 @aws-sdk/lib-storage
upload()
オペレーションで提供されるすべての機能をサポートし、Node.js とブラウザの両方のランタイムをサポートします。
Amazon S3 署名付き URL
v2 では、Amazon S3 クライアントには、ユーザーが Amazon S3 からオブジェクトをアップロードまたはダウンロードするために使用できる URL を生成する getSignedUrl()
および getSignedUrlPromise()
オペレーションが含まれています。 Amazon S3
v3 では、 @aws-sdk/s3-request-presigner
getSignedUrl()
および getSignedUrlPromise()
オペレーションの両方の関数が含まれています。このブログ記事
Amazon S3 リージョンリダイレクト
間違ったリージョンが Amazon S3 クライアントに渡され、後続の PermanentRedirect
(ステータス 301) エラーがスローされた場合、v3 の Amazon S3 クライアントはリージョンリダイレクト (v2 の Amazon S3 グローバルクライアントと呼ばれていました) をサポートします。クライアント設定で followRegionRedirects
フラグを使用して、Amazon S3 クライアントにリージョンリダイレクトをフォローさせ、グローバルクライアントとしてその機能をサポートさせることができます。
注記
この機能は、ステータスが 301 のPermanentRedirect
エラーを受信すると、失敗したリクエストが修正されたリージョンで再試行されるため、レイテンシーが増加する可能性があることに注意してください。この機能は、バケットのリージョンが事前にわからない場合にのみ使用してください (複数可)。
Amazon S3 ストリーミングとバッファされたレスポンス
v3 SDK は、潜在的に大きなレスポンスをバッファしないことを優先します。これは、v2 で を返したが、v3 で を返す Amazon S3 GetObject
オペレーションStream
でよく発生します。 Buffer
Node.js では、ソケットを解放して接続を新しいトラフィックに開放し続けるために、ストリームまたはガベージを消費してクライアントまたはそのリクエストハンドラーを収集する必要があります。
// v2 const get = await s3.getObject({ ... }).promise(); // this buffers consumes the stream already.
// v3, consume the stream to free the socket const get = await s3.getObject({ ... }); // object .Body has unconsumed stream const str = await get.Body.transformToString(); // consumes the stream // other ways to consume the stream include writing it to a file, // passing it to another consumer like an upload, or buffering to // a string or byte array.
詳細については、ソケットの