使用 Step Functions 執行 DynamoDB 支CRUD援作業 - AWS Step Functions

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Step Functions 執行 DynamoDB 支CRUD援作業

您可以將 Step Functions 與 DynamoDB 整合,以便在 DynamoDB 表上執行CRUD作業。此頁面列出支援的 DynamoDB,APIs並提供從 DynamoDB 擷取項目的範例Task狀態。

若要瞭解如何整合 AWS 服務在 Step Functions 中,請參閱整合 服務和。將參數傳遞給 Step Functions 數API中的服務

最佳化 DynamoDB 整合的主要功能

以下是從 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 數」中的工作有最大輸入或結果資料大小的配額。當您傳送至其他服務或從其他服務接收資料時,這會將您限制為 256 KB 的資料,以 UTF -8 編碼字串形式。請參閱 與狀態機器執行相關的配額

支援的 DynamoDB APIs

參數 Step Functions 表示於 PascalCase

即使原生服務位API於中 camelCase (例如API動作)startSyncExecution,您也可以在中指定參數 PascalCase,例如:StateMachineArn

IAM呼叫 DynamoDB 的原則

下面的示例模板顯示如何 AWS Step Functions 根據狀態機器定義中的資源產生IAM策略。如需詳細資訊,請參閱 Step Functions 式如何為整合式服務產生IAM原則探索 Step Functions 中的服務整合模式

靜態資源

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem" ], "Resource": [ "arn:aws:dynamodb:[[region]]:[[accountId]]:table/[[tableName]]" ] } ] }

動態資源

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem" ], "Resource": "*" } ] }

如需有關所有 DynamoDB API 動作之IAM政策的詳細資訊,請參閱 Amazon DynamoDB 開發人員指南中的使用 DynamoDB IAM 政策此外,如需適用於 DynamoDB 之部分 SQL IAM 政策的相關資訊,請參閱 Amazon DynamoDB 開發人員指南中的使用適用於 DynamoDB 的 PartiQL IAM 政策