Skip to content

api.aws.dynamodb.batchWriteItem@v1

tristanls edited this page Dec 26, 2012 · 1 revision

Batch write item.

Since Version 1.1.0
Scope
accepts: public responds as: ~crosstalk

Parameters

All parameters are optional, unless otherwise indicated.

awsAccessKeyId AKIAIOSFODNN7EXAMPLE required AWS Access Key Id
requestItems { "table-name": [ REQUEST, REQUEST ], "table-name-2": [ ... ] } required The request items to process
region us-east-1 required Region where your DynamoDB is hosted
secretAccessKey wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY required AWS Secret Access Key

REQUEST

putRequest (see examples below)
item { "attr1": "value1", "attr2": "value2" } required The item to put
deleteRequest (see examples below)
key { "hashKeyElement": "hashKey", "rangeKeyElement" : "rangeKey" } required The key of item to delete (rangeKeyElement is optional depending on your table setup)

Response fields

Response

responses { "table-name": { consumedCapacityUnits : 3 }, ... } Consumed capacity units for successful requests
unprocessedItems { "table-name": [ ITEM, ITEM ], ... } Requests that failed. Some of these failures might be because you exceeded the provisioned throughput configured for the table or a transient failure such as a network error

Error

message Error message Error message

Example

Request

crosstalk.emit( 
  '~crosstalk.api.aws.dynamodb.batchWriteItem@v1', 
  {
    awsAccessKeyId : "KEYNAME",
    requestItems : {
      "my-dynamodb-table": [{
        putRequest : {
          item : {
            hash : "first hash",
            range : "0.0.0"
          }
        }
      },{
        putRequest : {
          item : {
            hash : "first hash",
            range : "0.0.1"
          }
        }
      },{
        ...
      }]
    },
    region : "us-east-1",
    secretAccessKey : "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
  }, 
  '~crosstalk', 
  function ( error, response ) { /* ... */ } 
);

Response:

{
  "responses": {
    "my-dynamodb-table": {
      "consumedCapacityUnits": 3
    }
  },
  "unprocessedItems": {
    "my-dynamodb-table": [{
      "putRequest": {
        "item": {
          "range": "0.0.3",
          "hash": "first hash"
        }
      }
    },{
      "putRequest": {
        "item": {
          "range": "0.0.4",
          "hash": "first hash"
        }
      }
    }]
  }
}

Error:

{
  "message": "Error message"
}