このページでは、ワークフロー自動化のアクションカタログで利用できるAWS DynamoDBアクションのリファレンスを提供します。これらのアクションを使用して、DynamoDBテーブル内の項目の読み取り、書き込み、更新、削除を行ったり、ワークフロー定義から直接テーブル設定を検査または変更したりします。
前提条件
前提条件と認証情報のセットアップについては、AWS認証情報のセットアップをご覧ください。
すべてのDynamoDBアクションは、同じ認証入力を受け付けます。awsRoleArn(推奨)またはアクセスキーペアを使用します。
アイテムを配置します。
アクション識別子はaws.dynamodb.putItemです。
DynamoDBテーブルに新しい項目を作成するか、既存の項目を置き換えます。itemマップには、DynamoDBの低レベルのAttributeValueフォーマットを使用します。
次の表に、このアクションの入力フィールドについて説明します。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | 必須。ターゲットテーブルのAWSリージョン。 |
|
| 弦 | 必須。DynamoDBテーブルの名前。 |
|
| 地図 | 必須。低レベルのDynamoDB AttributeValue形式の属性名/値ペアのマップ。プライマリキー属性のみが必須です;その他の属性はオプションです。 |
|
| 弦 | オプション。AWS APIコール用に引き受けるIAMロールARN。 |
|
| 弦 | オプション。AWSアクセスキーID。シークレットとして渡します。 |
|
| 弦 | オプション。AWSシークレットアクセスキー。シークレットとして渡します。 |
|
| 弦 | オプション。STS認証用の一時的なセッショントークンです。シークレットとして渡してください。 |
|
| 弦 | オプション。 |
|
| 地図 | オプション。式内の属性名の置換トークンです。予約語や特殊文字を参照するには、 |
|
| 地図 | オプション。低レベルのAttributeValue形式の式の置換値です。 |
|
| 地図 | オプション。上記でモデル化されていない |
|
| リスト | オプション。アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションの出力フィールドについて説明しています。
出力 | タイプ | 例 |
|---|---|---|
| ブール値 |
|
| オブジェクト | 生の |
| 弦 | 失敗時のエラーメッセージ。 |
例
name: put-dynamodb-itemdescription: Write an order item to DynamoDBsteps: - name: putOrderItem type: action action: aws.dynamodb.putItem version: '1' inputs: awsRoleArn: ${{ :secrets:awsRoleArn }} region: us-east-2 tableName: Orders item: orderId: { "S": "123" } status: { "S": "PLACED" } next: endアイテムの取得
アクション識別子はaws.dynamodb.getItemです。
プライマリキーによって、DynamoDBテーブルから単一の項目を取得します。
次の表に、このアクションの入力フィールドについて説明します。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | 必須。ターゲットテーブルのAWSリージョン。 |
|
| 弦 | 必須。DynamoDBテーブルの名前。 |
|
| 地図 | 必須。低レベルのAttributeValue形式の、取得する項目のプライマリキーです。 |
|
| 弦 | オプション。AWS APIコール用に引き受けるIAMロールARN。 |
|
| 弦 | オプション。AWSアクセスキーID。シークレットとして渡します。 |
|
| 弦 | オプション。AWSシークレットアクセスキー。シークレットとして渡します。 |
|
| 弦 | オプション。STS認証用の一時的なセッショントークンです。シークレットとして渡してください。 |
|
| 弦 | オプション。取得する属性のカンマ区切りのリスト。省略した場合、すべての属性が返されます。 |
|
| 地図 | オプション。式内の属性名の置換トークンです。予約語や特殊文字を参照するには、 |
|
| ブール値 | オプション。 |
|
| 地図 | オプション。上記でモデル化されていない |
|
| リスト | オプション。アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションの出力フィールドについて説明しています。
出力 | タイプ | 例 |
|---|---|---|
| ブール値 |
|
| オブジェクト | アイテムが見つかった場合、 |
| 弦 | 失敗時のエラーメッセージ。 |
例
name: get-dynamodb-itemdescription: Retrieve an order item from DynamoDB by primary keysteps: - name: getOrderItem type: action action: aws.dynamodb.getItem version: '1' inputs: awsRoleArn: ${{ :secrets:awsRoleArn }} region: us-east-2 tableName: Orders key: orderId: { "S": "123" } selectors: - name: item expression: '.response.Item' next: endアイテムの更新
アクション識別子はaws.dynamodb.updateItemです。
既存の項目の属性を編集するか、項目がまだ存在しない場合は新しい項目を追加します。
次の表に、このアクションの入力フィールドについて説明します。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | 必須。ターゲットテーブルのAWSリージョン。 |
|
| 弦 | 必須。DynamoDBテーブルの名前。 |
|
| 地図 | 必須。低レベルのAttributeValue形式の、更新する項目のプライマリキーです。 |
|
| 弦 | オプション。AWS APIコール用に引き受けるIAMロールARN。 |
|
| 弦 | オプション。AWSアクセスキーID。シークレットとして渡します。 |
|
| 弦 | オプション。AWSシークレットアクセスキー。シークレットとして渡します。 |
|
| 弦 | オプション。STS認証用の一時的なセッショントークンです。シークレットとして渡してください。 |
|
| 弦 | オプション。更新する属性を定義します。 |
|
| 弦 | オプション。 |
|
| 地図 | オプション。式内の属性名の置換トークンです。予約語や特殊文字を参照するには、 |
|
| 地図 | オプション。低レベルのAttributeValue形式の式の置換値です。 |
|
| 地図 | オプション。上記でモデル化されていない |
|
| リスト | オプション。アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションの出力フィールドについて説明しています。
出力 | タイプ | 例 |
|---|---|---|
| ブール値 |
|
| オブジェクト |
|
| 弦 | 失敗時のエラーメッセージ。 |
例
name: update-dynamodb-itemdescription: Update the status of an order in DynamoDBsteps: - name: updateOrderStatus type: action action: aws.dynamodb.updateItem version: '1' inputs: awsRoleArn: ${{ :secrets:awsRoleArn }} region: us-east-2 tableName: Orders key: orderId: { "S": "123" } updateExpression: 'SET #s = :status' expressionAttributeNames: '#s': status expressionAttributeValues: ':status': { "S": "SHIPPED" } parameters: ReturnValues: UPDATED_NEW selectors: - name: attributes expression: '.response.Attributes' next: endアイテムの削除
アクション識別子はaws.dynamodb.deleteItemです。
プライマリキーを使用して、DynamoDBテーブルから単一の項目を削除します。
次の表に、このアクションの入力フィールドについて説明します。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | 必須。ターゲットテーブルのAWSリージョン。 |
|
| 弦 | 必須。DynamoDBテーブルの名前。 |
|
| 地図 | 必須。低レベルのAttributeValue形式の、削除する項目のプライマリキーです。 |
|
| 弦 | オプション。AWS APIコール用に引き受けるIAMロールARN。 |
|
| 弦 | オプション。AWSアクセスキーID。シークレットとして渡します。 |
|
| 弦 | オプション。AWSシークレットアクセスキー。シークレットとして渡します。 |
|
| 弦 | オプション。STS認証用の一時的なセッショントークンです。シークレットとして渡してください。 |
|
| 弦 | オプション。 |
|
| 地図 | オプション。式内の属性名の置換トークンです。 |
|
| 地図 | オプション。低レベルのAttributeValue形式の式の置換値です。 |
|
| 地図 | オプション。上記でモデル化されていない |
|
| リスト | オプション。アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションの出力フィールドについて説明しています。
出力 | タイプ | 例 |
|---|---|---|
| ブール値 |
|
| オブジェクト |
|
| 弦 | 失敗時のエラーメッセージ。 |
例
name: delete-dynamodb-itemdescription: Delete an order item from DynamoDBsteps: - name: deleteOrderItem type: action action: aws.dynamodb.deleteItem version: '1' inputs: awsRoleArn: ${{ :secrets:awsRoleArn }} region: us-east-2 tableName: Orders key: orderId: { "S": "123" } next: endテーブルのスキャン
アクション識別子はaws.dynamodb.scanです。
必要に応じてフィルタリングを行い、テーブル全体をスキャンすることで、DynamoDBテーブルまたはインデックスから項目を返します。1回のスキャン応答は、ワークフロー自動化によって100 KBに制限されています(DynamoDB自体の制限は1 MBです)。大きなテーブルをページングするには、limitとexclusiveStartKeyを使用します。
重要
ワークフロー自動化は、アクションごとに100 KBの出力サイズ制限を適用します。aws.dynamodb.scanは、レスポンスがこの制限を超過した場合、DynamoDB独自の1レスポンスあたり1 MBの上限に収まっていたとしても、出力サイズ制限超過例外をスローします。結果をページ分割し、この制限内に収めるには、limitとexclusiveStartKeyを使用してください。
次の表に、このアクションの入力フィールドについて説明します。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | 必須。ターゲットテーブルのAWSリージョン。 |
|
| 弦 | 必須。DynamoDBテーブルの名前。 |
|
| 弦 | オプション。AWS APIコール用に引き受けるIAMロールARN。 |
|
| 弦 | オプション。AWSアクセスキーID。シークレットとして渡します。 |
|
| 弦 | オプション。AWSシークレットアクセスキー。シークレットとして渡します。 |
|
| 弦 | オプション。STS認証用の一時的なセッショントークンです。シークレットとして渡してください。 |
|
| 弦 | オプション。ベーステーブルの代わりにスキャンするローカルまたはグローバルのセカンダリインデックスの名前です。 |
|
| 弦 | オプション。アイテムの読み取り後に適用される条件です。フィルタリングされたアイテムは返されませんが、読み取りキャパシティは消費されます。 |
|
| 弦 | オプション。取得する属性のカンマ区切りのリスト。省略した場合、すべての属性が返されます。 |
|
| 地図 | オプション。式内の属性名の置換トークンです。 |
|
| 地図 | オプション。低レベルのAttributeValue形式の式の置換値です。 |
|
| 弦 | オプション。返す属性。許可される値: |
|
| 整数 | オプション。評価する項目の最大数です(必ずしも返される項目ではありません)。最小値:1。 |
|
| ブール値 | オプション。 |
|
| 地図 | オプション。評価する1番目のアイテムのプライマリ・キーです。ページネーションを行うには、前回のスキャンの |
|
| 整数 | オプション。並列スキャン用のセグメントの総数です。 |
|
| 整数 | オプション。並列スキャン用の0から始まるセグメントID。 |
|
| 地図 | オプション。上記でモデル化されていない |
|
| リスト | オプション。アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションの出力フィールドについて説明しています。
出力 | タイプ | 例 |
|---|---|---|
| ブール値 |
|
| オブジェクト |
|
| 弦 | 失敗時のエラーメッセージ。 |
例
name: scan-dynamodb-tabledescription: Scan for active orders in DynamoDBsteps: - name: scanActiveOrders type: action action: aws.dynamodb.scan version: '1' inputs: awsRoleArn: ${{ :secrets:awsRoleArn }} region: us-east-2 tableName: Orders filterExpression: '#s = :status' expressionAttributeNames: '#s': status expressionAttributeValues: ':status': { "S": "ACTIVE" } limit: 50 selectors: - name: items expression: '.response.Items' - name: lastKey expression: '.response.LastEvaluatedKey' next: endテーブルをクエリします。
アクション識別子はaws.dynamodb.queryです。
パーティションキーに一致するDynamoDBテーブルまたはインデックスの項目を返します。オプションで、ソートキー条件またはフィルター式によって絞り込むことができます。キーベースのルックアップでは、スキャンよりも効率的です。
重要
ワークフロー自動化は、アクションごとに100 KBの出力サイズ制限を適用します。aws.dynamodb.queryは、レスポンスがこの制限を超過した場合、DynamoDB独自の1レスポンスあたり1 MBの上限に収まっていたとしても、出力サイズ制限超過例外をスローします。結果をページ分割し、この制限内に収めるには、limitとexclusiveStartKeyを使用してください。
次の表に、このアクションの入力フィールドについて説明します。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | 必須。ターゲットテーブルのAWSリージョン。 |
|
| 弦 | 必須。DynamoDBテーブルの名前。 |
|
| 弦 | オプション。AWS APIコール用に引き受けるIAMロールARN。 |
|
| 弦 | オプション。AWSアクセスキーID。シークレットとして渡します。 |
|
| 弦 | オプション。AWSシークレットアクセスキー。シークレットとして渡します。 |
|
| 弦 | オプション。STS認証用の一時的なセッショントークンです。シークレットとして渡してください。 |
|
| 弦 | オプション。クエリを実行するローカルまたはグローバルセカンダリインデックスの名前。 |
|
| 弦 | オプション。パーティションキー(必須)、およびオプションでソートキーに対する条件です。 |
|
| 弦 | オプション。アイテムの読み取り後に適用される条件です。キー属性は参照できません。フィルタリングされた項目は返されませんが、引き続き読み取りキャパシティを消費します。 |
|
| 弦 | オプション。取得する属性のカンマ区切りのリストです。 |
|
| 地図 | オプション。式内の属性名の置換トークンです。 |
|
| 地図 | オプション。低レベルのAttributeValue形式の式の置換値です。 |
|
| 弦 | オプション。返す属性。許可される値: |
|
| 整数 | オプション。評価する項目の最大数です。最小値:1。 |
|
| ブール値 | オプション。 |
|
| ブール値 | オプション。 |
|
| 地図 | オプション。評価する1番目のアイテムのプライマリ・キーです。ページ分割するには、前のクエリの |
|
| 地図 | オプション。上記でモデル化されていない |
|
| リスト | オプション。アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションの出力フィールドについて説明しています。
出力 | タイプ | 例 |
|---|---|---|
| ブール値 |
|
| オブジェクト |
|
| 弦 | 失敗時のエラーメッセージ。 |
例
name: query-dynamodb-tabledescription: Query orders by customer IDsteps: - name: queryCustomerOrders type: action action: aws.dynamodb.query version: '1' inputs: awsRoleArn: ${{ :secrets:awsRoleArn }} region: us-east-2 tableName: Orders indexName: customerId-index keyConditionExpression: 'customerId = :cid' expressionAttributeValues: ':cid': { "S": "cust-1" } selectors: - name: items expression: '.response.Items' next: endテーブルの説明
アクション識別子はaws.dynamodb.describeTableです。
ステータス、プライマリキースキーマ、プロビジョニングされたスループット、および(グローバルテーブルの場合は)レプリカのステータスを含むテーブル情報を返します。
次の表に、このアクションの入力フィールドについて説明します。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | 必須。ターゲットテーブルのAWSリージョン。 |
|
| 弦 | 必須。DynamoDBテーブルの名前。 |
|
| 弦 | オプション。AWS APIコール用に引き受けるIAMロールARN。 |
|
| 弦 | オプション。AWSアクセスキーID。シークレットとして渡します。 |
|
| 弦 | オプション。AWSシークレットアクセスキー。シークレットとして渡します。 |
|
| 弦 | オプション。STS認証用の一時的なセッショントークンです。シークレットとして渡してください。 |
|
| リスト | オプション。アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションの出力フィールドについて説明しています。
出力 | タイプ | 例 |
|---|---|---|
| ブール値 |
|
| オブジェクト | グローバルテーブル用の |
| 弦 | 失敗時のエラーメッセージ。 |
例
name: describe-dynamodb-tabledescription: Get the status and configuration of a DynamoDB tablesteps: - name: describeOrdersTable type: action action: aws.dynamodb.describeTable version: '1' inputs: awsRoleArn: ${{ :secrets:awsRoleArn }} region: us-east-2 tableName: Orders selectors: - name: tableStatus expression: '.response.Table.TableStatus' next: endテーブルの一覧
アクション識別子はaws.dynamodb.listTablesです。
現在のAWSアカウントおよびリージョンにあるDynamoDBテーブル名のリストを返します。結果はページ分割されます — 結果をページ送りするには、前のレスポンスのLastEvaluatedTableNameとともにexclusiveStartTableNameを使用してください。
次の表に、このアクションの入力フィールドについて説明します。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | 必須。テーブルを一覧表示するAWSリージョンです。 |
|
| 弦 | オプション。AWS APIコール用に引き受けるIAMロールARN。 |
|
| 弦 | オプション。AWSアクセスキーID。シークレットとして渡します。 |
|
| 弦 | オプション。AWSシークレットアクセスキー。シークレットとして渡します。 |
|
| 弦 | オプション。STS認証用の一時的なセッショントークンです。シークレットとして渡してください。 |
|
| 弦 | オプション。評価する最初のテーブル名。ページネーションするには、以前のレスポンスの |
|
| 整数 | オプション。返すテーブル名の最大数(1~100)。デフォルト:100。 |
|
| リスト | オプション。アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションの出力フィールドについて説明しています。
出力 | タイプ | 例 |
|---|---|---|
| ブール値 |
|
| オブジェクト | さらにページが存在する場合、 |
| 弦 | 失敗時のエラーメッセージ。 |
例
name: list-dynamodb-tablesdescription: List all DynamoDB tables in a regionsteps: - name: listDynamoTables type: action action: aws.dynamodb.listTables version: '1' inputs: awsRoleArn: ${{ :secrets:awsRoleArn }} region: us-east-2 selectors: - name: tableNames expression: '.response.TableNames' next: endテーブルの更新
アクション識別子はaws.dynamodb.updateTableです。
DynamoDBテーブルのプロビジョニングされたスループット設定、請求モード、グローバルセカンダリインデックス、レプリケーションリージョン、またはその他の設定を変更します。
次の表に、このアクションの入力フィールドについて説明します。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | 必須。ターゲットテーブルのAWSリージョン。 |
|
| 弦 | 必須。DynamoDBテーブルの名前。 |
|
| 弦 | オプション。AWS APIコール用に引き受けるIAMロールARN。 |
|
| 弦 | オプション。AWSアクセスキーID。シークレットとして渡します。 |
|
| 弦 | オプション。AWSシークレットアクセスキー。シークレットとして渡します。 |
|
| 弦 | オプション。STS認証用の一時的なセッショントークンです。シークレットとして渡してください。 |
|
| リスト | オプション。テーブルおよびインデックスの属性定義の配列。新しいグローバルセカンダリインデックスを追加する際に必須です。 |
|
| 弦 | オプション。スループットの課金方法を制御します。許可される値: |
|
| 地図 | オプション。 |
|
| リスト | オプション。1つ以上のグローバルセカンダリインデックスの更新アクション(作成、更新、または削除)。テーブルあたり最大20個のGSI。 |
|
| 地図 | オプション。DynamoDB Streamsの設定。 |
|
| 地図 | オプション。サーバー側の暗号化設定。 |
|
| ブール値 | オプション。テーブルの削除保護を有効または無効にします。 |
|
| 地図 | オプション。上記でモデル化されていない |
|
| リスト | オプション。アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションの出力フィールドについて説明しています。
出力 | タイプ | 例 |
|---|---|---|
| ブール値 |
|
| オブジェクト |
|
| 弦 | 失敗時のエラーメッセージ。 |
例
name: update-dynamodb-tabledescription: Switch a DynamoDB table to on-demand billingsteps: - name: setPayPerRequest type: action action: aws.dynamodb.updateTable version: '1' inputs: awsRoleArn: ${{ :secrets:awsRoleArn }} region: us-east-2 tableName: Orders billingMode: PAY_PER_REQUEST selectors: - name: tableStatus expression: '.response.TableDescription.TableStatus' next: end