Call DynamoDB APIs with Step Functions
Step Functions can control certain AWS services directly from the Amazon States Language (ASL). For more information about working with AWS Step Functions and its integrations, see the following:
Note
There is a quota for the maximum input or result data size for a task in Step Functions. This restricts you to 256 KB 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.
How the optimized DynamoDB integration is different than the DynamoDB AWS SDK integration
-
There is no optimization for the Request Response integration pattern.
-
The Wait for a Callback with the Task Token integration pattern is not supported.
-
Only
GetItem
,PutItem
,UpdateItem
, andDeleteItem
API actions are available through optimized integration. Other API actions, such asCreateTable
are available using the DynamoDB AWS SDK integration.
Supported Amazon DynamoDB APIs and syntax:
The following is a Task
state that retrieves a message from DynamoDB.
"Read Next Message from DynamoDB": {
"Type": "Task",
"Resource": "arn:aws:states:::dynamodb:getItem",
"Parameters": {
"TableName": "TransferDataRecords-DDBTable-3I41R5L5EAGT",
"Key": {
"MessageId": {"S.$": "$.List[0]"}
}
},
"ResultPath": "$.DynamoDB",
"Next": "Send Message to SQS"
},
To see this state in a working example, see the Transfer data records (Lambda, DynamoDB, Amazon SQS) sample project.
For information about how to configure IAM permissions when using Step Functions with other AWS services, see IAM Policies for integrated services.