Step Functions を使用して DynamoDB CRUDオペレーションを実行する - AWS Step Functions

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Step Functions を使用して DynamoDB CRUDオペレーションを実行する

Step Functions を DynamoDB と統合して、DynamoDB テーブルでCRUDオペレーションを実行できます。このページでは、サポートされている DynamoDB を一覧表示APIsし、DynamoDB から項目を取得するためのTask状態の例を示します。

Step Functions での AWS サービスとの統合については、 サービスとの統合「」および「」を参照してください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 のタスクには入力データまたは結果データの最大サイズにはクォータがあります。これにより、別のサービスとの間でデータを送受信するときに、UTF-8 でエンコードされた文字列として 256 KiB のデータに制限されます。「ステートマシンの実行に関連するクォータ」を参照してください。

サポートされている DynamoDB APIs

のパラメータ Step Functions は で表されます PascalCase

API アクション camelCaseなどのネイティブサービスAPIが にある場合でもstartSyncExecution、 PascalCaseなどのパラメータを で指定しますStateMachineArn

IAM DynamoDB を呼び出すための ポリシー

次のサンプルテンプレートは、 がステートマシン定義のリソースに基づいてIAMポリシー AWS Step Functions を生成する方法を示しています。詳細については、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 IAMDynamoDB デベロッパーガイド」の「DynamoDB を使用したポリシー」を参照してください。 DynamoDB さらに、DynamoDB 用 PartiQL のIAMポリシーの詳細については、Amazon DynamoDB DynamoDB デベロッパーガイドIAMDynamoDB 用 PartiQL のポリシー」を参照してください。