トランスファーアクセラレーションを使用する
トランスファーアクセラレーションを有効にして、エンドユーザーデバイスとS3バケット間で長距離にわたるファイルの高速かつ安全な転送を行うことができます。このこのこの構成のストレージリソースをオーバーライドしてから、useAccelerateEndpointパラメータを使用して、加速されたS3エンドポイントを活用できます。
ストレージリソースをオーバーライドする
S3バケットでトランスファーアクセラレーションを有効にするために、ストレージリソースをオーバーライドすることから始めます。
$ amplify override storage✅ Successfully generated "override.ts" folder at <project>/amplify/backend/storage/accelerated-bucket✔ Do you want to edit override.ts file now? (Y/n) · yesEdit the file in your editor: <project>/amplify/backend/storage/accelerated-bucket/override.ts生成されたoverride.tsファイルで、次のCDKスニペットを使用してトランスファーアクセラレーションを有効にします。
// amplify/backend/storage/accelerated-bucket/override.tsimport { AmplifyS3ResourceTemplate } from '@aws-amplify/cli-extensibility-helper';
export function override(resources: AmplifyS3ResourceTemplate) { resources.s3Bucket.accelerateConfiguration = { accelerationStatus: 'Enabled' }}次に、このストレージリソースをデプロイします。
amplify push加速されたS3エンドポイントを使用してファイルをアップロードする
useAccelerateEndpointパラメータをtrueに設定して、加速されたS3エンドポイントに切り替えます。たとえば、getUrlメソッドの場合:
const getUrlResult = await getUrl({ path: "album/2024/1.jpg", options: { useAccelerateEndpoint: true; // 加速エンドポイントを使用するかどうか。 },});次のStorage APIは加速エンドポイントをサポートします
- getUrl
- getProperties
- list
- remove
- downloadData
- uploadData