Call Amazon SQS with Step Functions
Step Functions can control certain Amazon services directly from the Amazon States Language. For more information about working with Amazon Step Functions and its integrations, see the following:
How the Optimized Amazon SQS integration is different than the Amazon SQS Amazon SDK integration
There are no optimizations for the Request Response or Wait for a Callback with the Task Token integration patterns.
Supported Amazon SQS APIs:
Note
There is a quota for the maximum input or result data size for a task in Step Functions. This restricts you to 262,144 bytes of data as a UTF-8 encoded string when you send to, or receive data from, another service. See Quotas related to state machine executions.
-
Supported parameters:
The following includes a Task
state that sends an Amazon Simple Queue Service (Amazon SQS)
message.
{
"StartAt": "Send to SQS",
"States": {
"Send to SQS": {
"Type": "Task",
"Resource": "arn:aws-cn:states:::sqs:sendMessage",
"Parameters": {
"QueueUrl": "https://sqs.us-east-1.amazonaws.com/123456789012/myQueue",
"MessageBody.$": "$.input.message",
"MessageAttributes": {
"my attribute no 1": {
"DataType": "String",
"StringValue": "attribute1
"
},
"my attribute no 2": {
"DataType": "String",
"StringValue": "attribute2
"
}
}
},
"End": true
}
}
}
The following includes a Task
state that publishes to an Amazon SQS queue, and
then waits for the task token to be returned. See Wait for a Callback with the Task Token.
{
"StartAt":"Send message to SQS",
"States":{
"Send message to SQS":{
"Type":"Task",
"Resource":"arn:aws:states:::sqs:sendMessage.waitForTaskToken",
"Parameters":{
"QueueUrl":"https://sqs.us-east-1.amazonaws.com/123456789012/myQueue",
"MessageBody":{
"Input.$":"$",
"TaskToken.$":"$$.Task.Token"
}
},
"End":true
}
}
}
To learn more about receiving messages in Amazon SQS, see Receive and Delete Your Message in the Amazon Simple Queue Service Developer Guide.
For information on how to configure IAM when using Step Functions with other Amazon services, see IAM Policies for integrated services.