Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

AWS SDK サービス統合を使用して Amazon S3 バケット情報を収集する

フォーカスモード
AWS SDK サービス統合を使用して Amazon S3 バケット情報を収集する - AWS Step Functions

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

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

このチュートリアルでは、Amazon Simple Storage Service による AWS SDK 統合の実行方法を学習します。このチュートリアルで作成するステートマシンは、Amazon S3 バケットに関する情報を収集し、現在のリージョンの各バケットのバージョン情報とともにバケットを一覧表示します。

ステップ 1: ステートマシンを作成する

Step Functions コンソールを使用して、現在のアカウントとリージョンのすべての Amazon S3 バケットを一覧表示する Task 状態を含むステートマシンを作成します。次に、HeadBucket API を呼び出す Task 状態をもう 1 つ追加して、返されたバケットが現在のリージョンでアクセスできるかどうかを確認します。バケットにアクセスできない場合、HeadBucket API コールは S3.S3Exception エラーを返します。この例外を捕捉する Catch ブロックと、フォールバック状態として Pass 状態を含めます。

  1. Step Functions コンソールを開き、[ステートマシンの作成] を選択します。

  2. [テンプレートを選択] ダイアログボックスで [空白] を選択します。

  3. [選択] を選択して、デザインモード で Workflow Studio を開きます。

  4. このチュートリアルでは、コードエディタ でステートマシンの Amazon States Language (ASL) 定義を記述します。これを行うには、[コード] を選択します。

  5. 既存のボイラープレートコードを削除して、次のステートマシンの定義を貼り付けます。

    { "Comment": "A description of my state machine", "StartAt": "ListBuckets", "States": { "ListBuckets": { "Type": "Task", "Parameters": {}, "Resource": "arn:aws:states:::aws-sdk:s3:listBuckets", "Next": "Map" }, "Map": { "Type": "Map", "ItemsPath": "$.Buckets", "ItemProcessor": { "ProcessorConfig": { "Mode": "INLINE" }, "StartAt": "HeadBucket", "States": { "HeadBucket": { "Type": "Task", "ResultPath": null, "Parameters": { "Bucket.$": "$.Name" }, "Resource": "arn:aws:states:::aws-sdk:s3:headBucket", "Catch": [ { "ErrorEquals": [ "S3.S3Exception" ], "ResultPath": null, "Next": "Pass" } ], "Next": "GetBucketVersioning" }, "GetBucketVersioning": { "Type": "Task", "End": true, "Parameters": { "Bucket.$": "$.Name" }, "ResultPath": "$.BucketVersioningInfo", "Resource": "arn:aws:states:::aws-sdk:s3:getBucketVersioning" }, "Pass": { "Type": "Pass", "End": true, "Result": { "Status": "Unknown" }, "ResultPath": "$.BucketVersioningInfo" } } }, "End": true } } }
  6. ステートマシンの名前を指定します。これを行うには、MyStateMachine のデフォルトステートマシン名の横にある編集アイコンを選択します。次に、[ステートマシンの設定][ステートマシン名] ボックスに名前を指定します。

    このチュートリアルでは、名前として「Gather-S3-Bucket-Info-Standard」と入力します。

  7. (オプション) [ステートマシンの設定] で、ステートマシンのタイプや実行ロールなど、他のワークフロー設定を指定します。

    [ステートマシンの設定] のデフォルト設定をすべてそのまま使用します。

    ステートマシンに適切なアクセス許可を持つ IAM ロールを以前に作成していて、そのロールを使用する場合は、[アクセス許可][既存のロールを選択] を選択し、一覧からロールを選択します。または、[ロールの ARN を入力] を選択し、その IAM ロールの ARN を指定します。

  8. [ロールの作成を確認] ダイアログボックスで、[確認] を選択して続行します。

    [ロールの設定を表示] を選択して [ステートマシンの設定] に戻ることもできます。

    注記

    Step Functions が作成した IAM ロールを削除すると、Step Functions を後で再作成することはできません。同様に、ロールを変更すると (例えば、IAM ポリシーのプリンシパルから Step Functions を削除するなど)、後で Step Functions でそれを元の設定に復元することはできません。

    ステップ 2 では、不足しているアクセス許可をステートマシンのロールに追加します。

ステップ 2: 必要な IAM ロールを追加する

現在のリージョンにある Amazon S3 バケットに関する情報を収集するには、Amazon S3 バケットにアクセスするために必要なアクセス許可をステートマシンに提供する必要があります。

  1. ステートマシンのページで [IAM ロール ARN] を選択し、ステートマシンのロールの [ロール] ページを開きます。

  2. [アクセス許可を追加][インラインポリシーを作成] の順に選択します。

  3. [JSON] タブを選択して、次のアクセス許可を JSON エディタに貼り付けます。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketVersioning" ], "Resource": "*" } ] }
  4. [ポリシーの確認] を選択します。

  5. [ポリシーの確認] でポリシーの [名前] に「s3-bucket-permissions」と入力します。

  6. [Create policy] を選択します。

ステップ 3: Standard ステートステートマシンを実行する

  1. [Gather-S3-Bucket-Info-Standard] ページで、[実行を開始] を選択します。

  2. [実行を開始] ダイアログボックスで、以下の操作を行います。

    1. (オプション) 生成されたデフォルトを上書きするカスタム実行名を入力します。

      非 ASCII 名とログ記録

      Step Functions では、ステートマシン、実行、アクティビティ、ラベルに、ASCII 以外の文字を含む名前を使用できます。このような文字は Amazon CloudWatch では機能しないため、CloudWatch でメトリクスを追跡できるように ASCII 文字のみを使用することをお勧めします。

    2. [実行のスタート] を選択します。

    3. Step Functions コンソールから実行 ID のタイトルが付いたページが表示されます。このページは、[実行の詳細] ページと呼ばれます。このページでは、実行の進行中または完了後に実行結果を確認できます。

      実行結果を確認するには、[グラフビュー] で個々の状態を選択し、ステップの詳細 ペインの個々のタブを選択すると、入力、出力、定義などの各状態の詳細がそれぞれ表示されます。[実行の詳細] ページに表示できる実行情報の詳細については、「実行の詳細の概要」を参照してください。

ステップ 4: Express ステートマシンを実行する

  1. ステップ 1 で提供されたステートマシン定義を使用して Express ステートマシンを作成します。ステップ 2 で説明したように、必要な IAM ロールのアクセス許可も必ず含めてください。

    ヒント

    前に作成した Standard マシンと区別するため、Express ステートマシンには Gather-S3-Bucket-Info-Express という名前を付けます。

  2. [Gather-S3-Bucket-Info-Standard] ページで、[実行を開始] を選択します。

  3. [実行を開始] ダイアログボックスで、以下の操作を行います。

    1. (オプション) 生成されたデフォルトを上書きするカスタム実行名を入力します。

      非 ASCII 名とログ記録

      Step Functions では、ステートマシン、実行、アクティビティ、ラベルに、ASCII 以外の文字を含む名前を使用できます。このような文字は Amazon CloudWatch では機能しないため、CloudWatch でメトリクスを追跡できるように ASCII 文字のみを使用することをお勧めします。

    2. [実行のスタート] を選択します。

    3. Step Functions コンソールから実行 ID のタイトルが付いたページが表示されます。このページは、[実行の詳細] ページと呼ばれます。このページでは、実行の進行中または完了後に実行結果を確認できます。

      実行結果を確認するには、[グラフビュー] で個々の状態を選択し、ステップの詳細 ペインの個々のタブを選択すると、入力、出力、定義などの各状態の詳細がそれぞれ表示されます。[実行の詳細] ページに表示できる実行情報の詳細については、「実行の詳細の概要」を参照してください。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.