

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

# Step Functions で Map 状態を持つキューのデータを処理する
<a name="sample-map-state"></a>

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

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

## ステップ 1: ステートマシンを作成する
<a name="sample-map-state-create"></a>

1. [Step Functions コンソール](https://console.aws.amazon.com/states/home?region=us-east-1#/)を開き、**[ステートマシンの作成]** を選択します。

1. **[テンプレートから作成]** を選択し、関連するスターターテンプレートを見つけます。[**次へ**] を選択して続行します。

1. テンプレートの使用方法を選択します。

   1. **デモの実行** – 読み取り専用のステートマシンを作成します。確認後、ワークフローとすべての関連リソースを作成できます。

   1. **その上に構築する** – 編集可能なワークフロー定義が提供され、内容を確認・カスタマイズし、独自のリソースでデプロイできます (関数やキューなどの関連リソースは自動的には作成**されません**)。

1. **[テンプレートの使用]** を選択して選択を続行します。
**注記**  
*アカウントにデプロイされたサービスには、Standard 料金が適用されます。*

## ステップ 2: Amazon SNS トピックを登録する
<a name="sample-map-subscribe-topic"></a>

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

1. [[Amazon SNS コンソール]](https://console.aws.amazon.com/sns/home) を開きます。

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

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

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

1. [**Create subscription**] を選択してください。

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

## ステップ 3: Amazon SQS キューにメッセージを追加する
<a name="sample-map-create-queue"></a>

1. [Amazon SQS コンソール](https://console.aws.amazon.com/sqs/home) を開きます。

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

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

## ステップ 4: ステートマシンを実行する
<a name="sample-map-start-execution"></a>

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

**[デモの実行]** オプションを選択した場合、すべての関連リソースがデプロイされ、実行準備が整います。**[その上に構築する]** オプションを選択した場合は、プレースホルダー値の設定や、カスタムワークフローの実行に必要な追加リソースの作成が必要になることがあります。

1. **[Deploy and run]** (デプロイと実行) を選択します。

1. CloudFormation スタックがデプロイされるのを待ちます。これには最大 10 分かかることがあります。

1. **[実行を開始]** オプションが表示されたら、**[入力]** を確認し、**[実行を開始]** を選択します。

**お疲れ様でした。**  
これで、ステートマシンのデモが実行されます。**グラフビュー**でステートを選択すると、入力、出力、変数、定義、イベントを確認できます。