

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

# Step Functions を使用して Amazon SQS キューにメッセージを送信する
<a name="connect-sqs"></a>

次の Amazon SQS API アクションと、Step Functions ワークフローの `Task` ステートコードの例を使用して、Amazon SQS キューにメッセージを送信できます。

Step Functions での AWS サービスとの統合については、[ サービスとの統合](integrate-services.md)「」および「」を参照してください[Step Functions でサービス API にパラメータを渡す](connect-parameters.md)。

Amazon SQS におけるメッセージの受信の詳細については、*Amazon Simple Queue Service デベロッパーガイド*の[メッセージの受信および削除](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/step-receive-delete-message.html)を参照してください。

次のサンプルには、オプションの **MessageAttributes** を付けて Amazon Simple Queue Service (Amazon SQS) メッセージを送信する `Task` ステート (JSONata) が含まれています。

```
{
 "StartAt": "Send to SQS",
 "States": {
   "Send to SQS": {
     "Type": "Task",
     "Resource": "arn:aws:states:::sqs:sendMessage",
     "Arguments": {
       "QueueUrl": "https://sqs.us-east-1.amazonaws.com/{{account-id}}/myQueue",
       "MessageBody": "{% $states.input.message %}",
       "MessageAttributes": {
         "my_attribute_no_1": {
           "DataType": "String",
           "StringValue": "{{attribute1}}"
         },
         "my_attribute_no_2": {
           "DataType": "String",
           "StringValue": "{{attribute2}}"
         }
       }
     },
     "End": true
    }
  }
}
```

次のステートマシンには、Amazon SQS キューにパブリッシュしてから、タスクトークンが返されるのを待機する `Task` ステートが含まれています。「[タスクトークンのコールバックまで待機する](connect-to-resource.md#connect-wait-token)」を参照してください。

```
{  
   "StartAt":"Send message to SQS",
   "States":{  
      "Send message to SQS":{  
         "Type":"Task",
         "Resource":"arn:aws:states:::sqs:sendMessage.waitForTaskToken",
         "Arguments":{  
            "QueueUrl":"https://sqs.us-east-1.amazonaws.com/{{account-id}}/myQueue",
            "MessageBody":{  
               "Input" : "{% $states.input.message %}",
               "MyTaskToken" : "{% $states.context.Task.Token %}"
            }
         },
         "End":true
      }
   }
}
```

## 最適化された Amazon SQS API
<a name="connect-sqs-api"></a>
+ [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)

**Step Functions のパラメータは PascalCase で表されます。**  
ネイティブサービス API が、API アクション `startSyncExecution` などの camelCase である場合でも、`StateMachineArn` などの PascalCase でパラメータを指定します。

**入力または結果データのクォータ**  
サービス間でデータを送受信する際、タスクの入力または結果の最大サイズは、UTF-8 でエンコードされた文字列で 256 KiB です。「[ステートマシンの実行に関連するクォータ](service-quotas.md#service-limits-state-machine-executions)」を参照してください。

## Amazon SQS を呼び出すための IAM ポリシー
<a name="sqs-iam"></a>

次のサンプルテンプレートは、 がステートマシン定義のリソースに基づいて IAM ポリシー AWS Step Functions を生成する方法を示しています。詳細については、「[Step Functions が統合サービスの IAM ポリシーを生成する方法](service-integration-iam-templates.md)」および「[Step Functions でサービス統合パターンを検出する](connect-to-resource.md)」を参照してください。

静的リソース**

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sqs:SendMessage"
            ],
            "Resource": [
                "arn:aws:sqs:{{us-east-1}}:{{123456789012}}:myQueueName"
            ]
        }
    ]
}
```

動的リソース**

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sqs:SendMessage"
            ],
            "Resource": "*"
        }
    ]
}
```