Writer Directives

The directives that are processed by the DynamoDB writer are listed below.

The suffixes shown are prefixed by the current <WriterKeyword>_ in a mapping file. By default, the <WriterKeyword> for the DynamoDB writer is COM.SAFE.FME.DYNAMODB_OUT.

REGION, ACCESS_KEY_ID, SECRET_ACCESS_KEY

These directives operate in the same manner as they do for the DynamoDB reader.

DEF

Each DynamoDB table must be defined before it can be written. The general form of a DynamoDB definition statement is:

COM.SAFE.FME.DYNAMODB_DEF <tableName> \
    [dynamodb_mode (put|delete|inherit_from_writer)] \
    [dynamodb_drop_table (yes|no)] \
    [dynamodb_read_capacity <readCapacity>] \
    [dynamodb_write_capacity <writeCapacity>] \
 [<fieldName> <fieldType>][,<indexType>]+

The table definition allows control of the table that will be created. If the table already exists, the majority of the dynamodb_ parameters will be ignored and need not be given. The values in <fieldName> and <fieldType> must match those in the table only if <indexType> is listed as a hash or range key.

If the table does not exist, then the field names and types are used to first create the table. In any case, if a <fieldType> is given, it may be any field type supported by the target database. Additionally, the writer will try to guess what type of data is in a given attribute, and will use the value in <fieldType> simply as a suggestion. The exception to this case, is if a hash or range key is specified, where the type is fixed by the value of <fieldType>.

Required/Optional

Required

Configuration Parameters

The configuration parameters present on the definition line are described in the following table:

Parameter

Contents

tableName

The name of the table to be written. If a table with the specified name exists, it will be dropped if the dynamodb_drop_table DEF line parameter set to YES, and subsequently created. Otherwise the table will be appended to.

Valid values for table names include any character string devoid of DynamoDB offensive characters and less than 256 characters in length.

dynamodb_mode

The default operation mode of the feature type in terms of the types of statements sent to the database.

Valid values are PUT, DELETE, and INHERIT_FROM_WRITER.

INHERIT_FROM_WRITER simply indicates the value will be taken from the writer level and not be overridden at the feature type level.

Default: INHERIT_FROM_WRITER

dynamodb_drop_table

This specifies that if the table exists by this name, it should be dropped and recreated before any features are written to it.

Default: NO

dynamodb_read_capacity

Create the table using the read capacity specified. This defaults to the AWS free tier level for a DynamoDB table.

Default: 10

dynamodb_write_capacity

Create the table using the write capacity specified. This defaults to the AWS free tier level for a DynamoDB table.

Default: 5

fieldName

The name of the field to be written.

Valid values for field name include any character string devoid of DynamoDB offensive characters and less than 256 characters in length.

fieldType

The type of a column in a table.

The valid values for the field type are listed below:

string

string_set

number

number_set

binary

binary_set

indexType

The type of index to create on the given field. Only one hash key and range key may be specified. When creating a table, a hash must be provided and optionally a range can be provided. Together, the combination of hash and range key must be unique.

The valid values for the index type are listed below:

Hash

Range