本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Step Functions 调用 DynamoDB API
Step Functions 可以直接从 Amazon States Language (ASL) 控制某些 Amazon 服务。有关使用 Amazon Step Functions 及其集成的更多信息,请参阅以下内容:
注意
在 Step Functions 中,任务的最大输入或结果数据大小有一个配额。在向另一个服务发送数据或从另一个服务接收数据时,数据大小不得超过 256 KB(UTF-8 编码字符串)。请参阅与状态机执行相关的配额。
优化的 DynamoDB 集成与 DynamoDB Amazon 开发工具包集成有何不同
-
请求响应集成模式没有优化。
-
不支持等待具有任务令牌的回调集成模式。
-
通过优化集成,只有
GetItem
、PutItem
、UpdateItem
andDeleteItem
API 操作可用。其他 API 操作(例如CreateTable
)可通过 DynamoDB Amazon 开发工具包集成获得。
支持的 Amazon DynamoDB API 和语法:
注意
Step Functions 中的参数以 PascalCase 表示,即使原生服务 API 使用 camelCase 也是如此。例如,您可以使用 Step Functions API 操作 startSyncExecution
并将其参数指定为 StateMachineArn
。
下面是从 DynamoDB 检索消息的 Task
状态。
"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"
},
要在可正常使用的示例中查看此状态,请参阅传输数据记录(Lambda、DynamoDB、Amazon SQS)示例项目。
有关在将 Step Functions 与其他 Amazon 服务一起使用时如何配置 IAM 权限的信息,请参阅集成服务的 IAM 策略。