

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

# Step Functions Express ワークフローを使用して Amazon SQS からの大量のメッセージを処理する
<a name="sample-project-express-high-volume-sqs"></a>

このサンプルプロジェクトでは、 AWS Step Functions Express ワークフローを使用して、Amazon Simple Queue Service (Amazon SQS) などの大量のイベントソースからのメッセージまたはデータを処理する方法を示します。Express ワークフローは非常に高いレートで開始できるため、大容量のイベント処理やストリーミングデータワークロードに最適です。

イベントソースからステートマシンを実行するために一般的に使用される 2 つの方法は次のとおりです。
+ **イベントソースがイベントを発行するたびにステートマシンの実行をスタートするように Amazon CloudWatch Events ルールを設定します。**詳細については、[イベントでトリガーする CloudWatch Events ルールの作成](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/Create-CloudWatch-Events-Rule.html)を参照してください。
+ **イベントソースを Lambda 関数にマッピングし、ステートマシンを実行する関数コードを記述します。** AWS Lambda 関数は、イベントソースがイベントを発行するたびに呼び出され、ステートマシンの実行が開始されます。詳細については、[Amazon SQS を使った AWS Lambda の使用](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html)を参照してください。

このサンプルプロジェクトでは、2 番目の方法を使用して Amazon SQS キューがメッセージを送信するたびに実行をスタートします。同様の設定を使用して、Amazon Simple Storage Service (Amazon S3)、Amazon DynamoDB、Amazon Kinesis などの他のイベントソースから Express ワークフローの実行をトリガーできます。

Express ワークフローと Step Functions サービス統合の詳細については、以下を参照してください。
+ [Step Functions でワークフロータイプを選択する](choosing-workflow-type.md)
+ [サービスと Step Functions の統合](integrate-services.md)
+ [Step Functions のサービスクォータ](service-quotas.md)

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

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

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

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

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

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

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

## ステップ 2: ステートマシンの実行をトリガーする
<a name="trigger-execution"></a>

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

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

   名前は **Example-SQSQueue-wJalrXUtnFEMI** のようになっています。

1. **[Queue Actions]** (キュー操作) リストで、**[Send a Message]** (メッセージの送信) を選択します。

1. コピーボタンを使用して次のメッセージをコピーし、**[Send a Message]** (メッセージの送信) ウィンドウに入力して、**[Send Message]** (メッセージの送信) を選択します。
**注記**  
このサンプルメッセージでは、`input:` 行がページに合わせて改行されています。コピーボタンを使用するか、改行なしの 1 行として入力されていることを確認します。

   ```
   {
         "input": "QW5kIGxpa2UgdGhlIGJhc2VsZXNzIGZhYnJpYyBvZiB0aGlzIHZpc2lvbiwgVGhlIGNsb3VkLWNhcHBlZCB0b3dlcnMsIHRoZSBnb3JnZW
                   91cyBwYWxhY2VzLCBUaGUgc29sZW1uIHRlbXBsZXMsIHRoZSBncmVhdCBnbG9iZSBpdHNlbGbigJQgWWVhLCBhbGwgd2hpY2ggaXQgaW5o
                   ZXJpdOKAlHNoYWxsIGRpc3NvbHZlLCBBbmQgbGlrZSB0aGlzIGluc3Vic3RhbnRpYWwgcGFnZWFudCBmYWRlZCwgTGVhdmUgbm90IGEgcm
                   FjayBiZWhpbmQuIFdlIGFyZSBzdWNoIHN0dWZmIEFzIGRyZWFtcyBhcmUgbWFkZSBvbiwgYW5kIG91ciBsaXR0bGUgbGlmZSBJcyByb3Vu
                   ZGVkIHdpdGggYSBzbGVlcC4gU2lyLCBJIGFtIHZleGVkLiBCZWFyIHdpdGggbXkgd2Vha25lc3MuIE15IG9sZCBicmFpbiBpcyB0cm91Ym
                   xlZC4gQmUgbm90IGRpc3R1cmJlZCB3aXRoIG15IGluZmlybWl0eS4gSWYgeW91IGJlIHBsZWFzZWQsIHJldGlyZSBpbnRvIG15IGNlbGwg
                   QW5kIHRoZXJlIHJlcG9zZS4gQSB0dXJuIG9yIHR3byBJ4oCZbGwgd2FsayBUbyBzdGlsbCBteSBiZWF0aW5nIG1pbmQu"
   }
   ```

1. **[Close]** (閉じる) を選択します。

1. [Step Functions コンソール]()を開きます。

1.  [Amazon CloudWatch Logs ロググループ](https://console.aws.amazon.com/cloudwatch/home?#logs:)に移動して、ログを調べます。ロググループの名前は、**example-ExpressLogGroup-wJalrXUtnFEMI** のように表示されます。