Amazon DynamoDB - Create item

Declaration

<AMAWSDYNAMODB ACTIVITY="create_item" PROVIDER="session_based" SESSION="text" ACCESSKEY="text" SECRETKEY="text (encrypted)" USERAGENT="text" MAXERRORRETRY="number" SERVICEURL="text" PROXYHOST="text" PROXYPORT="number" PROXYUSER="text" PROXYPWD="text (encrypted)" SIGNMETHOD="text" SIGNVERSION="number" TABLE="text"><ATTRIBUTE TYPE="text (options)" NAME="text" VALUE="text" /></AMAWSDYNAMODB>

Related Topics

Description

Creates a new item or replaces an old item with a new one (including all attributes). If an item already exists in the specified table with the same primary key, the new item completely replaces the existing one.

IMPORTANT: Amazon DynamoDB activities are performed using Amazon's DynamoDB engine, therefore, launching and managing DynamoDB through Automate Desktop requires a valid Access Key ID and Secret Access Key.

Practical usage

Perform this activity to insert a new item if one with the specified primary key doesn't exist or replace an existing item if it has certain attribute values. Each attribute in an item can be single or multi-valued.

Parameters

Connection

Property Type Required Default Markup Description
Connection --- --- --- --- Indicates where user credentials and preferences should originate from. This is a design mode parameter used only during task construction and configuration, thus, comprises no markup. The available options are:
  • Host (default) - Specifies that user credentials and/or advanced preferences are configured individually for this activity. Normally chosen if only a single activity is required to complete an operation.
  • Session - Specifies that user credentials and/or advanced preferences are obtained from a pre-configured session created in an earlier step with the use of the Amazon DynamoDB - Create session activity. Normally chosen if a combination of activities within the same action group are required. Linking several activities to a single session eliminates redundancy and improves efficiency. Multiple sessions can run simultaneously within a single task without interference.
Session Text Yes, if the connection is set to Session DynamoDBSession1 SESSION="myDynamoDBsession" The name of an existing session to associate with this activity. This parameter becomes active and is required if the Connection parameter is set to Session.
Access key Text Yes, if the connection is set to Host (Empty) ACCESSKEY="[accessKey]" The ID that uniquely identifies the owner of the AWS service account (similar to a username). Together, the Access Key and Secret Access Key are the main credentials used to access and control basic AWS services through the API. This parameter is active only if the Connection parameter is set to Host.    
Secret access key Text Yes, if the connection is set to Host (Empty) SECRETKEY="[SecretKey]" The secret ID that corresponds with the Access Key (similar to a password). When a request is sent, AWS verifies that this key corresponds with the Access Key in order to authenticate the signature and confirm that the request sender is legitimate. This parameter is active only if the Connection parameter is set to Host.  
User agent Text No Automate USERAGENT="Automate" The name of the client or application initiating requests to AWS. The default value is Automate
Maximum number retries on error Number No (Empty) MAXERRORRETRY="7" The amount of times this activity should retry sending the request to the server before returning an error. Network components can generate errors anywhere in the life of a given request, therefore, implementing retries can increase reliability. 
Service URL Text No (Empty) SERVICEURL="https://sdb.eu-west-1.amazonaws.com" The URL that provides the service region endpoint. To make the service call to a different region, simply specify the region-specific endpoint. For example, entering https://dynamodb.us-east-1.amazonaws.com would point to US East (Northern Virginia) region. A complete list of DynamoDB regions and their associated endpoints  can be found below under DynamoDB regions and endpoints.  
Proxy host Text No (Empty) PROXYHOST="proxy.host.com" The hostname (for example, server.domain.com) or IP address (for example, xxx.xxx.xxx.xxx) of the proxy server to use when connecting to AWS.  
Proxy port Number No (Empty) PROXYPORT="1028" The port number to use to connect to the proxy server. 
Proxy username Text No (Empty) PROXYUSERNAME="Username" The username to authenticate with the proxy server.
Proxy password Text No (Empty) PROXYPWD="encrypted" The password to authenticate with the proxy server. 
Signature method Text No (Empty) SIGNMETHOD="HmacSHA256" The signature method to use for signing the request. This provides a valid hashing algorithm for signature calculation. Valid AWS signature methods are HmacSHA1 and HmacSHA256.
Signature version Number No (Empty) SIGNVERSION="2" The signature version for signing the request. Valid AWS signature versions are 2 and 4. The difference with version 4 is that it allows you to sign your message using a key that is derived from your secret access key rather than using the secret access key itself.

Item

Property Type Required Default Markup Description
Table Text Yes (Empty) TABLE="myTable" The name of the table in which the new item should be placed.
[Attribute] Type Text (options) Yes (Empty)
  • TYPE="Type"
  • TYPE="Number"
  • TYPE="StringSet"
  • TYPE="NumberSet"
In Amazon DynamoDB, a table is a collection of items and each item is a collection of attributes. Item attributes consists of type and name-value pair. In visual mode, select Click here to add new row to expose a grid in which to enter one or more rows of attributes to set for the new item. The available attribute types to set for an item are:
  • String - Unicode with UTF8 binary encoding (for example, store name).
  • Number - Positive or negative exact-value decimals and integers (for example, invoice or order number).
  • StringSet - Multi-valued string (for example, item1, item2, item3).
  • NumberSet - Multi-valued number (for example, item1 product number, item2 product number).
[Attribute] Name Text Yes (Empty) NAME="Phone" Specifies the name portion of the name-value pair to set for the new item. In visual mode, select Click here to add new row to expose a grid in which to enter one or more rows of attributes to set for the new item.
NOTE: An item can have multiple attributes and an attribute can have multiple values.

[Attribute] Value

Text

Yes

(Empty)

VALUE=714-555-1212

Specifies the value' portion of the name-value pair to set for the new item. In visual mode, select Click here to add new row to expose a grid in which to enter one or more rows of attributes to set for the new item.
NOTE: An item can have multiple attributes and an attribute can have multiple values.

Description

Error Causes

On Error

Additional notes

DynamoDB regions and endpoints

This table contains a complete list of DynamoDB endpoints, associated regions and supported protocols.

Endpoint Region Protocol
elasticmapreduce.us-east-1.amazonaws.com US East (Northern Virginia) Region HTTP and HTTPS
elasticmapreduce.us-west-2.amazonaws.com US West (Oregon) Region HTTP and HTTPS
elasticmapreduce.us-west-1.amazonaws.com US West (Northern California) Region HTTP and HTTPS
elasticmapreduce.eu-west-1.amazonaws.com EU (Ireland) Region HTTP and HTTPS
elasticmapreduce.ap-southeast-1.amazonaws.com Asia Pacific (Singapore) Region HTTP and HTTPS
elasticmapreduce.ap-southeast-2.amazonaws.com Asia Pacific (Sydney) Region HTTP and HTTPS
elasticmapreduce.ap-northeast-1.amazonaws.com Asia Pacific (Tokyo) Region HTTP and HTTPS
elasticmapreduce.sa-east-1.amazonaws.com South America (Sao Paulo) Region HTTP and HTTPS

Example

NOTE:
  • Copy and paste the sample AML code below directly into the Task Builder Steps Panel.
  • To successfully run the sample code, update parameters containing user credentials, files, file paths, or other information specific to the task to match your environment.

Description

This sample Amazon DynamoDB task creates a new table and new item in the table. A step-by-step description is embedded in the task.

Copy
<!-- Create session -->
<AMAWSDYNAMODB ACTIVITY="create_session" SESSION="DBSession1" ACCESSKEY="AKIAJ25JAKOPAC7123457" SECRETKEY="AM3i6P77pVEBOw=aME" />
<!-- Create table -->
<AMAWSDYNAMODB ACTIVITY="create_table" PROVIDER="session_based" SESSION="DBSession1" NAME="mytable" HASH="HashKeyName" />
<!-- Create item -->
<AMAWSDYNAMODB ACTIVITY="create_item" PROVIDER="session_based" SESSION="DBSession1" TABLE="mytable">
<ATTRIBUTE TYPE="String" NAME="gameName" VALUE="myGame" /><ATTRIBUTE TYPE="Number" NAME="gameId" VALUE="41021234" /><ATTRIBUTE TYPE="String" NAME="gameCost" VALUE="20" /></AMAWSDYNAMODB>
<!-- End session -->
<AMAWSDYNAMODB ACTIVITY="end_session" SESSION="DBSession1" />