本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Step Functions 執行 DynamoDB 支CRUD援作業
您可以將 Step Functions 與 DynamoDB 整合,以便在 DynamoDB 表上執行CRUD作業。此頁面列出支援的 DynamoDB,APIs並提供從 DynamoDB 擷取項目的範例Task
狀態。
Step Functions 可以直接從Amazon States Language(ASL)控制某些 AWS 服務。如需了解詳細資訊,請參閱 整合其他服務 和 將參數傳遞給 Step Functions 數API中的服務。
注意
「Step Functions 數」中的工作有最大輸入或結果資料大小的配額。當您傳送至其他服務或從其他服務接收資料時,這會將您限制為 256 KB 的資料,以 UTF -8 編碼字串形式。請參閱 與狀態機器執行相關的配額。
最佳化的 DynamoDB 整合與 DynamoDB 整合有何不同 AWS SDK
-
請求回應整合模式沒有最佳化。
-
不支援等候傳回任務字符的回呼整合模式。
-
只有
GetItem
、PutItem
UpdateItem
、和DeleteItem
API動作可透過最佳化整合使用。其他API動作 (例如CreateTable
,可透過 DynamoDB AWS SDK 整合使用) 來執行。
支援的 Amazon DynamoDB APIs 和語法:
中的參Step Functions數表示於 PascalCase
即使原生服務位API於中 camelCase (例如API動作)startSyncExecution
,您也可以在中指定參數 PascalCase,例如: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與其他 AWS 服務搭配使用時如何設定IAM權限的相關資訊,請參閱Step Functions 式如何為整合式服務產生IAM原則。