AWS SDK for JavaScript V3 API リファレンスガイドでは、バージョン 3 (V3) のすべての API オペレーション AWS SDK for JavaScript について詳しく説明します。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ブラウザでの開始方法
このセクションでは、ブラウザ JavaScript で SDK for のバージョン 3 (V3) を実行する方法を示す例を説明します。
注記
ブラウザでV3を実行することは、バージョン2 (V2)とは若干異なります。詳細については、「V3 でブラウザーを使用」を参照してください。
SDK に の (V3) を使用するその他の例については JavaScript、「」を参照してくださいSDK for JavaScript (v3) コードの例。
このウェブアプリケーションの例は、以下を示します。
認証に Amazon Cognito を使用して AWS サービスにアクセスする方法。
AWS Identity and Access Management () ロールを使用して Amazon Simple Storage Service (Amazon S3) バケット内のオブジェクトのリストを読み取る方法。IAM
注記
この例では、 を認証 AWS IAM Identity Center に用いません。
シナリオ
Amazon S3 は、業界をリードするスケーラビリティ、データ可用性、セキュリティ、パフォーマンスを提供するオブジェクトストレージサービスです。Amazon S3 を使用して、バケットと呼ばれるコンテナ内にデータをオブジェクトとして保存できます。Amazon S3 の詳細については、「Amazon S3 ユーザーガイド」を参照してください。
この例では、Amazon S3 バケットから読み取るIAMロールを引き受けるウェブアプリをセットアップして実行する方法を示します。この例では、React フロントエンドライブラリと Vite フロントエンドツールを使用して JavaScript 開発環境を提供します。ウェブアプリは Amazon Cognito ID プールを使用して、 AWS サービスへのアクセスに必要な認証情報を提供します。含まれているコード例は、ウェブアプリケーションで SDK の JavaScript をロードして使用するための基本的なパターンを示しています。
ステップ 1: Amazon Cognito ID プールとIAMロールを作成する
この演習では、Amazon Cognito アイデンティティプールを作成して使用し、Amazon S3 サービスのウェブアプリケーションで未認証のアクセスを提供します。ID プールを作成すると、認証されていないゲストユーザーをサポートする AWS Identity and Access Management (IAM) ロールも作成されます。この例では、タスクに集中し続けるために、認証されていないユーザーロールのみを使用します。後で ID プロバイダーと認証済みユーザーのサポートを統合できます。Amazon Cognito アイデンティティプールの追加についての詳細は、「Amazon Cognito デベロッパーガイド」の「チュートリアル: ID プールの作成」を参照してください。
Amazon Cognito ID プールと関連するIAMロールを作成するには
にサインイン AWS Management Console し、 で Amazon Cognito コンソールを開きますhttps://console.aws.amazon.com/cognito/
。 左のナビゲーションペインで、[ID プール] を選択します。
[ID プールを作成] を選択します。
[ID プールの信頼を設定] で、ユーザー認証に [ゲストアクセス] を選択します。
アクセス許可の設定 で、新しいIAMロールの作成 を選択し、ロール名 に名前 (例: getStartedRole) を入力します。 IAM
プロパティの設定 で、アイデンティティプール名 に名前 (例: getStartedPool) を入力します。
[確認および作成] で、新しいアイデンティティプールに対して行った選択を確認します。[編集] を選択してウィザードに戻り、設定を変更します。終了したら、[ID プールの作成] を選択します。
[ID プールの ID] と、新しく作成した Amazon Cognito アイデンティティプールの [リージョン] を書き留めます。置き換えるには、これらの値が必要です。
IDENTITY_POOL_ID
また、REGION
「ステップ 4: ブラウザコードを設定する」の中
Amazon Cognito アイデンティティプールを作成したら、ウェブアプリケーションにより必要な Amazon S3 権限を追加する準備が整います。
ステップ 2: 作成したIAMロールにポリシーを追加する
ウェブアプリケーションで Amazon S3 バケットへのアクセスを有効にするには、Amazon Cognito ID プール用に作成された認証されていないIAMロール ( などgetStartedRole) を使用します ( など)getStartedPool。そのためには、IAMポリシーをロールにアタッチする必要があります。IAM ロールの変更の詳細については、IAM「 ユーザーガイド」の「ロールアクセス許可ポリシーの変更」を参照してください。
認証されていないユーザーに関連付けられたIAMロールに Amazon S3 ポリシーを追加するには
にサインイン AWS Management Console し、 でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/
。 左のナビゲーションペインで、[ロール] を選択します。
変更するロールの名前 (例: getStartedRole) を選択し、アクセス許可タブを選択します。
[アクセス許可を追加]、[ポリシーをアタッチ] の順に選択します。
このロールのアクセス許可の追加ページで、AmazonS3ReadOnlyAccess のチェックボックスを見つけて選択します。
注記
このプロセスを使用して、任意の AWS サービスへのアクセスを有効にすることができます。
[Add permissions (許可の追加)] を選択します。
Amazon Cognito ID プールを作成し、認証されていないユーザーのIAMロールに Amazon S3 のアクセス許可を追加すると、Amazon S3 バケットを追加および設定する準備が整います。
ステップ 3: Amazon S3 バケットとオブジェクトを追加する
このステップでは、例の Amazon S3 バケットとオブジェクトを追加します。また、バケットのクロスオリジンリソース共有 (CORS) も有効にします。Amazon S3 バケットとオブジェクトの作成についての詳細は、「Amazon S3 ユーザーガイド」の「Amazon S3 の開始方法」を参照してください。
を使用して Amazon S3 バケットとオブジェクトを追加するには CORS
にサインイン AWS Management Console し、 で Amazon S3 コンソールを開きますhttps://console.aws.amazon.com/s3/
。 左側のナビゲーションペインで、[バケット] を選択してから、[バケットを作成] を選択します。
バケットの命名規則 (getstartedbucket など) に準拠したバケット名を入力し、[バケットを作成] を選択します。
作成したバケットを選択し、[オブジェクト] タブを選択します。次に、アップロードを選択します。
[Files and Folders (ファイルとフォルダ)] で、[Add files (ファイルを追加)] を選択します。
アップロードするファイルを選択し、続いて [オープン] を選択します。次に、[アップロード] を選択して、バケットへのオブジェクトのアップロードを完了します。
次に、バケットのアクセス許可タブを選択し、クロスオリジンリソース共有 (CORS) セクションで編集を選択します。以下を入力しますJSON。
[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "GET" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [] } ]
[Save changes] (変更の保存) をクリックします。
Amazon S3 バケットを追加してオブジェクトを追加したら、ブラウザコードを設定する準備が整います。
ステップ 4: ブラウザコードを設定する
サンプルアプリケーションは単一ページの React アプリケーションで構成されています。この例のファイルは、 GitHub
サンプルアプリケーションを設定するには
Node.js
をインストールします。 コマンドラインから、AWS のコードサンプルリポジトリ
をクローンします。 git clone --depth 1 https://github.com/awsdocs/aws-doc-sdk-examples.git
サンプルアプリケーションに移動します。
cd aws-doc-sdk-examples/javascriptv3/example_code/web/s3/list-objects/
次のコマンドを実行して、必要なパッケージをインストールします。
npm install
次に、テキストエディタで
src/App.tsx
を開き、次の処理を実行します。置換
YOUR_IDENTITY_POOL_ID
でメモした Amazon Cognito ID プール ID を使用しますステップ 1: Amazon Cognito ID プールとIAMロールを作成する。リージョンの値を Amazon S3 バケットと Amazon Cognito アイデンティティプールに割り当てられたリージョンに置き換えます。両方のサービスのリージョンは同じでなければならないことに注意してください (us-east-2 など)。
置換
bucket-name
で作成したバケット名ステップ 3: Amazon S3 バケットとオブジェクトを追加する。
テキストを置き換えたら、App.tsx
ファイルを保存します。これで、ウェブアプリケーションを実行する準備ができました。
ステップ 5: 例を実行する
サンプルアプリケーションを実行するには
コマンドラインから、サンプルアプリケーションに移動します。
cd aws-doc-sdk-examples/javascriptv3/example_code/web/s3/list-objects/
コマンドラインから、以下のコマンドを実行します。
npm run dev
Vite 開発環境が実行され、次のメッセージが表示されます。
VITE v4.3.9 ready in 280 ms ➜ Local: http://localhost:5173/ ➜ Network: use --host to expose ➜ press h to show help
ウェブブラウザで、URL上記の に移動します (例: http://localhost:5173)。サンプルアプリケーションでは、Amazon S3 バケット内のオブジェクトファイル名のリストが表示されます。
クリーンアップ
このチュートリアルで作成されたリソースをクリーンアップするには、以下を行います。
Amazon S3 コンソール
で、作成されたオブジェクトとバケット (getstartedbucket など) をすべて削除します。 IAM コンソール
で、ロール名 (例: ) を削除しますgetStartedRole。 Amazon Cognito コンソール
で、ID プール名 ( などgetStartedPool) を削除します。