DynamoDB Bulk Write

This Snap provides the ability to write data into a DynamoDB table.

Supported Accounts

Snap views

Type Description Examples of upstream and downstream Snaps
Input This Snap has exactly one document input view. The table schema is suggested on input view. The attribute values for the attributes of the table for each record are passed from input view.
Output This Snap has exactly one document output view. This Snap provides the result of the Bulk Write operation for each request. Errors can be routed to the error view if enabled or cause the Snap to fail during execution.
Learn more about Error handling.

Snap settings

Note: Learn about the common controls in the Snap settings dialog.
Field/Field set Description

Label

String
Required.Specify a unique name for the Snap. Modify this to be more appropriate, especially if there are more than one of the same Snap in the pipeline.

Default value: DynamoDB Bulk Write

Table name

String/Expression
Required. The name of the table to write the data into. This property is suggestible, which shows the list of the tables in the database.

Default value: None

Example: Thread

Thread count

Integer/Expression
This property represents the total number of parallel threads to be created for Bulk Write operation.

Default value: None

Example: 2

Batch size

Integer/Expression
Number of records batched for each request.

Default value: None

Example: 25

Request delay

Integer/Expression
Delay between two successive batch requests in seconds.

Default value: None

Example: 5

Snap execution

Dropdown list
Choose one of the three modes in which the Snap executes. Available options are:
  • Validate & Execute: Performs limited execution of the Snap and generates a data preview during pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during pipeline runtime.
  • Execute only: Performs full execution of the Snap during pipeline execution without generating preview data.
  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Default value: Execute only

Mandatory Path Mappings in upstream Mapper

The DynamoDB Bulk Write Snap expects an upstream Mapper Snap to feed the right mappings between input stream and the DynamoDB table. The Mapper must output a file/document that has the data in a readable and writable form for the DynamoDB Bulk Write Snap to populate the DynamoDB tables. See Examples for more details.

Warning: Input stream mappings are mandatory: In the absence of input stream mappings from the upstream Mapper Snap, the DynamoDB Bulk Write fails during Pipeline execution.

DynamoDB Complex types

Sets

String Set [SS]

A values of this type contains a set of strings delimited by double quotes as follows:

Pattern: [String object 1, String object 2, ........, String Object n]

Example: ["Snaplogic", "San Mateo", "Pipeline"]

Number Set [NS]

A value of this type contains a set of numbers delimited by double quotes as follows:

Pattern: [Number Obj1, Number Object2,...., Number Object n]

Example: ["123", "24.56", "-35", "-21.456","0"]

Binary Set [BS]

A value of this type contains a set of base64-encoded binary data objects delimited by double quotes as follows:

Pattern: [ Binary Object 1, Binary Object 2,...Binary Object n]

Example: ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]

List (L)

A value of this type contains a set of objects. Each object further can be of any type (String, Number, String Set, Map, List etc.,). In general, the List object resembles a JSON array.

Pattern: [ object 1, object 2, ........, Object n]

Example: [{"N":"3"},{"S":"-7.5"},{"B":"U3Vubnk="},{"L":[{"N":"-45.56"},{"M":{"Name":{"S":"ahmed"}}}]}, {"M":{"name":{"S":"syed"}}},{"SS":["a","b"]},{"BS":["U3Vubnk="]},{"NS":["23","45"]}]

Map (M)

A value of this type contains a set of key-value pairs. Keys are always strings, whereas values can be of any type (String, Number, String Set, Map, List etc.,). In general, the Map object resembles a JSON array.

Pattern: {"Key1":Object1, "Key2": Object2......"Keyn": Objectn}

Example: {"id":{"S":"snaplogic"}, "orgs":{"L":[{"S":"uat"}, {"S":"qa"}]}, "admins":{"L":[{"M":{"name":{"S":"a"}}}, {"M":{"name":{"S":"45"}}}]}}

The pipeline using all the Set types for the Bulk Write Snap:


Pipeline using Set types


Mapper with Set types


Set types output preview