翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Step Functions でマップ状態のキューからのデータを処理する
このサンプルワークフローでは、状態はキューからのデータマップワークフローの状態を処理し、サブスクライバーにメッセージを送信してデータベースに保存します。
Step Functions は、最適化された統合を使用して Amazon SQSキューからメッセージをプルします。メッセージが利用可能になると、選択状態はJSONメッセージの配列を処理のためにマッピング状態に渡します。メッセージごとに、ステートマシンはメッセージを DynamoDB に書き込み、キューからメッセージを削除し、メッセージを Amazon SNSトピックに発行します。
このサンプルプロジェクトには、次のリソースが含まれています。
-
An AWS Step Functions ステートマシン
-
マップ状態がメッセージを反復的に読み取りおよび削除する Amazon SQSキュー。
-
Map ステートによってメッセージが繰り返し書き込まれる DynamoDB テーブル。
-
Step Functions が Amazon SQSキューから読み取るメッセージを発行する Amazon SNSトピック。
-
関連 AWS Identity and Access Management (IAM) ロール
ステップ 1: ステートマシンを作成する
-
Step Functions コンソール
を開き、[ステートマシンの作成] を選択します。 -
マップ状態 で動的にデータを処理します。[次へ] を選択して続行します。
-
デモを実行して読み取り専用の ready-to-deploy ワークフローを作成するか、ビルドを選択して編集可能なステートマシン定義を作成し、ビルド後にデプロイできます。
-
[テンプレートの使用] を選択して選択を続行します。
次のステップは、前の選択肢によって異なります。
-
デモの実行 – によってデプロイされたリソースを使用して読み取り専用プロジェクトを作成する前に、ステートマシンを確認できます。 AWS CloudFormation を に AWS アカウント.
ステートマシンの定義を表示でき、準備ができたら、デプロイと実行を選択してプロジェクトをデプロイし、リソースを作成します。
デプロイでは、リソースとアクセス許可の作成に最大 10 分かかる場合があります。スタック ID リンクを使用して、 の進行状況をモニタリングできます。 AWS CloudFormation.
デプロイが完了すると、コンソールに新しいステートマシンが表示されます。
-
構築 – ワークフロー定義を確認して編集できます。カスタムワークフローの実行を試みる前に、サンプルプロジェクトのプレースホルダーの値を設定する必要がある場合があります。
注記
アカウントにデプロイされたサービスには、標準料金が適用される場合があります。
ステップ 2: Amazon SNSトピックをサブスクライブする
ヒント
ステートマシンを実行する前に、Amazon SNSトピックをサブスクライブし、Amazon SQSキューに項目を追加します。
-
Amazon SNSコンソール
を開きます。 -
トピック を選択し、サンプルプロジェクトによって作成されたトピックを見つけます。
-
サブスクリプションの作成 を選択し、プロトコル で E メール を選択します。
-
エンドポイント で、トピックをサブスクライブする E メールアドレスを入力します。
-
[Create subscription] を選択します。
-
E メールのサブスクリプションを確認して、サブスクリプションをアクティブ化します。
ステップ 3: Amazon SQSキューにメッセージを追加する
-
Amazon SQSコンソール
を開きます。 -
サンプルプロジェクトによって作成されたキューを選択します。
-
メッセージの送信と受信 を選択し、メッセージを入力し、メッセージの送信 を選択します。このステップを繰り返して、キューに複数のメッセージを追加します。
ステップ 4: ステートマシンを実行する
ヒント
Amazon のキューSNSは結果整合性があります。ステートマシンを実行する前に、キューにメッセージを送信してから数分待つ必要がある場合があります。
-
[ステートマシン] ページで、サンプルプロジェクトを選択します。
-
サンプルプロジェクトページで、[実行を開始] を選択します。
-
[実行を開始] ダイアログボックスで、以下の操作を行います。
-
(オプション) 生成されたデフォルトを上書きするカスタム実行名を入力します。
非ASCII名前とログ記録
Step Functions は、 ASCII以外の文字を含むステートマシン、実行、アクティビティ、およびラベルの名前を受け入れます。このような文字は Amazon では機能しないため CloudWatch、 でメトリクスを追跡できるようにASCII、文字のみを使用することをお勧めします CloudWatch。
-
(オプション) 入力ボックスに、入力値を として入力しますJSON。デモを実行している場合は、このステップをスキップできます。
-
[実行のスタート] を選択します。
Step Functions コンソールで実行の詳細ページに移動し、グラフビューで状態を選択して、ステップの詳細ペインの関連情報を確認できます。
-
お疲れ様でした。
これで、実行中のデモまたはカスタマイズできるステートマシン定義のいずれかができました。