Step Functions で Map 状態を持つキューのデータを処理する - AWS Step Functions

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

Step Functions で Map 状態を持つキューのデータを処理する

このサンプルワークフローでは、Map 状態のワークフロー 状態はキューからのデータを処理し、サブスクライバーにメッセージを送信してデータベースに保存します。

Step Functions は、最適化された統合を使用して Amazon SQSキューからメッセージをプルします。メッセージが利用可能になると、選択状態はJSONメッセージの配列を処理のために マッピング 状態に渡します。メッセージごとに、ステートマシンはメッセージを DynamoDB に書き込み、キューからメッセージを削除し、Amazon SNSトピックにメッセージを発行します。

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

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

  2. 使用するスターターテンプレートを見つけて選択します。[次へ] を選択して続行します。

  3. デモを実行して読み取り専用と ready-to-deployワークフローを作成するか、ビルドを選択して編集可能なステートマシン定義を作成し、後でデプロイできます。

  4. [テンプレートの使用] を選択して選択を続行します。

次のステップは、前の選択によって異なります。

  1. デモの実行 – によって AWS CloudFormation にデプロイされたリソースを使用して読み取り専用プロジェクトを作成する前に、ステートマシンを確認できます AWS アカウント。

    ステートマシン定義を表示し、準備ができたら、[デプロイと実行] を選択してプロジェクトをデプロイし、リソースを作成します。

    デプロイには、リソースとアクセス許可の作成に最大 10 分かかる場合があります。スタック ID リンクを使用して、 AWS CloudFormationの進行状況をモニタリングできます。

    デプロイが完了すると、コンソールに新しいステートマシンが表示されます。

  2. その上に構築する – ワークフロー定義を確認して編集できます。カスタムワークフローの実行を試みる前に、サンプルプロジェクト内のプレースホルダーの値を設定する必要がある場合があります。

注記

アカウントにデプロイされたサービスには、Standard 料金が適用される場合があります。

ステップ 2: Amazon SNSトピックをサブスクライブする

ヒント

ステートマシンを実行する前に、Amazon SNSトピックをサブスクライブし、Amazon SQSキューに項目を追加します。

  1. Amazon SNSコンソールを開きます。

  2. [トピック] を選択し、サンプルプロジェクトで作成されたトピックを見つけます。

  3. [サブスクリプションの作成] 画面の [プロトコル] で、[E メール] を選択します。

  4. [エンドポイント] で、トピックにサブスクライブする E メールアドレスを入力します。

  5. [Create subscription] を選択します。

  6. E メールのサブスクリプションを確認して、サブスクリプションをアクティブ化します。

ステップ 3: Amazon SQSキューにメッセージを追加する

  1. Amazon SQSコンソールを開きます。

  2. サンプルプロジェクトで作成されたキューを選択します。

  3. [メッセージを送受信] を選択し、メッセージを入力して、[メッセージの送信] を選択します。このステップを繰り返して、キューに複数のメッセージを追加します。

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

ヒント

Amazon のキューSNSは結果整合性があります。ステートマシンを実行する前に、キューにメッセージを送信してから数分待つ必要がある場合があります。

  1. [ステートマシン] ページで、サンプルプロジェクトを選択します。

  2. サンプルプロジェクトページで、[実行を開始] を選択します。

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

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

      以外のASCII名前とログ記録

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

    2. (オプション) 入力ボックスに、入力値を として入力しますJSON。デモを実行している場合は、このステップをスキップできます。

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

    Step Functions コンソールから [実行の詳細] ページに移動し、[グラフビュー] で状態を選択して [ステップの詳細] ペインの関連情報を確認できます。

お疲れ様でした。

これで、実行中のデモまたはカスタマイズできるステートマシン定義のいずれかが完成しました。