ブラウザでの開始方法 - AWS SDK for JavaScript

AWS SDK for JavaScript V3 APIリファレンスガイドでは、バージョン 3 (V3) のすべてのAPIオペレーションについて詳しく説明しています AWS SDK for JavaScript 。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ブラウザでの開始方法

このセクションでは、ブラウザ JavaScript で SDK for のバージョン 3 (V3) を実行する方法を示す例について説明します。

注記

ブラウザでV3を実行することは、バージョン2 (V2)とは若干異なります。詳細については、「V3 でブラウザーを使用」を参照してください。

SDK for の (V3) を使用するその他の例については JavaScript、「」を参照してくださいSDK JavaScript (v3) コード例の

このウェブアプリケーションの例は、以下を示します。

  • 認証に Amazon Cognito を使用して AWS サービスにアクセスする方法。

  • AWS Identity and Access Management (IAM) ロールを使用して Amazon Simple Storage Service (Amazon S3) バケット内のオブジェクトのリストを読み取る方法。

注記

この例では、認証 AWS IAM Identity Center に を使用しません。

シナリオ

Amazon S3 は、業界をリードするスケーラビリティ、データ可用性、セキュリティ、パフォーマンスを提供するオブジェクトストレージサービスです。Amazon S3 を使用して、バケットと呼ばれるコンテナ内にデータをオブジェクトとして保存できます。Amazon S3 の詳細については、「Amazon S3 ユーザーガイド」を参照してください。

この例では、Amazon S3 バケットから読み取る IAM ロールを引き受けるウェブアプリケーションを設定して実行する方法を示します。この例では、React フロントエンドライブラリと Vite フロントエンドツールを使用して JavaScript 開発環境を提供します。ウェブアプリは Amazon Cognito ID プールを使用して、 AWS サービスへのアクセスに必要な認証情報を提供します。含まれているコード例は、 JavaScript ウェブアプリケーションで SDK for をロードして使用するための基本的なパターンを示しています。

ステップ 1: Amazon Cognito アイデンティティプールと IAM ロールを作成する

この演習では、Amazon Cognito アイデンティティプールを作成して使用し、Amazon S3 サービスのウェブアプリケーションで未認証のアクセスを提供します。ID プールを作成すると、認証されていないゲストユーザーをサポートする AWS Identity and Access Management (IAM) ロールも作成されます。この例では、タスクに集中し続けるために、認証されていないユーザーロールのみを使用します。後で ID プロバイダーと認証済みユーザーのサポートを統合できます。Amazon Cognito アイデンティティプールの追加についての詳細は、「Amazon Cognito デベロッパーガイド」の「チュートリアル: ID プールの作成」を参照してください。

Amazon Cognito アイデンティティプールおよび関連付けられた IAM ロールを作成するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/cognito/ で Amazon Cognito コンソールを開きます。

  2. 左のナビゲーションペインで、[ID プール] を選択します。

  3. [ID プールを作成] を選択します。

  4. [ID プールの信頼を設定] で、ユーザー認証に [ゲストアクセス] を選択します。

  5. 「アクセス許可の設定」で「新しい IAM ロールの作成」を選択し、「IAM ロールStartedRole」に名前 ( の取得など) を入力します。

  6. 「プロパティの設定StartedPool」で、アイデンティティプール名 に名前を入力します (例: を取得)。

  7. [確認および作成] で、新しいアイデンティティプールに対して行った選択を確認します。[編集] を選択してウィザードに戻り、設定を変更します。終了したら、[ID プールの作成] を選択します。

  8. [ID プールの ID] と、新しく作成した Amazon Cognito アイデンティティプールの [リージョン] を書き留めます。ステップ 4: ブラウザコードを設定するIDENTITY_POOL_ID および REGION を置換するには、これらの値が必要です。

Amazon Cognito アイデンティティプールを作成したら、ウェブアプリケーションにより必要な Amazon S3 権限を追加する準備が整います。

ステップ 2: 作成した IAM ロールにポリシーを追加する

ウェブアプリで Amazon S3 バケットへのアクセスを有効にするには、Amazon Cognito ID プール用に作成された認証されていない IAM ロール ( の取得StartedRoleなど) を使用します ( の取得StartedPoolなど)。これを進めるには、IAM ポリシーをロールにアタッチする必要があります。IAM ロールの変更の詳細については、「IAM ユーザーガイド」の「ロールのアクセス許可ポリシーの変更」を参照してください。

Amazon S3ポリシーを、非認証ユーザーに関連付けられているIAM ロールに追加するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/ で IAM コンソールを開きます。

  2. 左のナビゲーションペインで、[ロール] を選択します。

  3. 変更するロールの名前 ( の取得など) StartedRoleを選択し、アクセス許可タブを選択します。

  4. [アクセス許可を追加][ポリシーをアタッチ] の順に選択します。

  5. このロールのアクセス許可の追加ページで、AmazonS3ReadOnlyAccess のチェックボックスを見つけて選択します。

    注記

    このプロセスを使用して、任意の AWS サービスへのアクセスを有効にできます。

  6. [Add permissions (許可の追加)] を選択します。

Amazon Cognito アイデンティティプールを作成した後、非認証ユーザーの IAM ロールに Amazon S3の許可を追加すると、Amazon S3 バケットを追加し設定する準備が整います。

ステップ 3: Amazon S3 バケットとオブジェクトを追加する

このステップでは、例の Amazon S3 バケットとオブジェクトを追加します。また、バケットの Cross-Origin Resource Sharing (CORS) を有効にします。Amazon S3 バケットとオブジェクトの作成についての詳細は、「Amazon S3 ユーザーガイド」の「Amazon S3 の開始方法」を参照してください。

CORS でAmazon S3 バケットとオブジェクトを追加するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. 左側のナビゲーションペインで、[バケット] を選択してから、[バケットを作成] を選択します。

  3. バケットの命名規則 (getstartedbucket など) に準拠したバケット名を入力し、[バケットを作成] を選択します。

  4. 作成したバケットを選択し、[オブジェクト] タブを選択します。次に、アップロードを選択します。

  5. [Files and Folders (ファイルとフォルダ)] で、[Add files (ファイルを追加)] を選択します。

  6. アップロードするファイルを選択し、続いて [Open (オープン)] を選択します。次に、[アップロード] を選択して、バケットへのオブジェクトのアップロードを完了します。

  7. 次に、バケットの [アクセス許可] タブを選択し、[Cross-Origin Resource Sharing (CORS)] セクションで [編集] を選択します。次の JSON を入力します。

    [ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "GET" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [] } ]
  8. [変更を保存] を選択します。

Amazon S3 バケットを追加してオブジェクトを追加したら、ブラウザコードを設定する準備が整います。

ステップ 4: ブラウザコードを設定する

サンプルアプリケーションは単一ページの React アプリケーションで構成されています。この例のファイルは、 にあります GitHub

サンプルアプリケーションを設定するには
  1. Node.js をインストールします。

  2. コマンドラインから、AWS のコードサンプルリポジトリをクローンします。

    git clone --depth 1 https://github.com/awsdocs/aws-doc-sdk-examples.git
  3. サンプルアプリケーションに移動します。

    cd aws-doc-sdk-examples/javascriptv3/example_code/web/s3/list-objects/
  4. 次のコマンドを実行して、必要なパッケージをインストールします。

    npm install
  5. 次に、テキストエディタで src/App.tsx を開き、次の処理を実行します。

テキストを置き換えたら、App.tsx ファイルを保存します。これで、ウェブアプリケーションを実行する準備ができました。

ステップ 5: 例を実行する

サンプルアプリケーションを実行するには
  1. コマンドラインから、サンプルアプリケーションに移動します。

    cd aws-doc-sdk-examples/javascriptv3/example_code/web/s3/list-objects/
  2. コマンドラインから、以下のコマンドを実行します。

    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
  3. ウェブブラウザで上記の URL (例: http://localhost:5173) に移動します。サンプルアプリケーションでは、Amazon S3 バケット内のオブジェクトファイル名のリストが表示されます。

クリーンアップ

このチュートリアルで作成されたリソースをクリーンアップするには、以下を行います。