Skip to main content

PutDynamoDBRecord

Description

Inserts items into DynamoDB based on record-oriented data. The record fields are mapped into DynamoDB item fields, including partition and sort keys if set. Depending on the number of records the processor might execute the insert in multiple chunks in order to overcome DynamoDB's limitation on batch writing. This might result partially processed FlowFiles in which case the FlowFile will be transferred to the "unprocessed" relationship with the necessary attribute to retry later without duplicating the already executed inserts.

Tags

AWS, Amazon, DynamoDB, Insert, Put, Record

Properties

In the list below required Properties are shown with an asterisk (*). Other properties are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

Display NameAPI NameDefault ValueAllowable ValuesDescription
Table Name *Table NameThe DynamoDB table name

Supports Expression Language, using Environment variables.
Region *RegionUS West (Oregon)
  • AWS GovCloud (US-East)
  • AWS GovCloud (US-West)
  • Africa (Cape Town)
  • Asia Pacific (Hong Kong)
  • Asia Pacific (Hyderabad)
  • Asia Pacific (Jakarta)
  • Asia Pacific (Malaysia)
  • Asia Pacific (Melbourne)
  • Asia Pacific (Mumbai)
  • Asia Pacific (Osaka)
  • Asia Pacific (Seoul)
  • Asia Pacific (Singapore)
  • Asia Pacific (Sydney)
  • Asia Pacific (Tokyo)
  • Canada (Central)
  • Canada West (Calgary)
  • China (Beijing)
  • China (Ningxia)
  • EU ISOE West
  • Europe (Frankfurt)
  • Europe (Ireland)
  • Europe (London)
  • Europe (Milan)
  • Europe (Paris)
  • Europe (Spain)
  • Europe (Stockholm)
  • Europe (Zurich)
  • Israel (Tel Aviv)
  • Middle East (Bahrain)
  • Middle East (UAE)
  • South America (Sao Paulo)
  • US East (N. Virginia)
  • US East (Ohio)
  • US ISO East
  • US ISO WEST
  • US ISOB East (Ohio)
  • US West (N. California)
  • US West (Oregon)
  • aws-cn-global
  • aws-global
  • aws-iso-b-global
  • aws-iso-global
  • aws-us-gov-global
AWS Credentials Provider Service *AWS Credentials Provider serviceController Service:
AWSCredentialsProviderService

Implementations:
AWSCredentialsProviderControllerService
The Controller Service that is used to obtain AWS credentials provider
Record Reader *record-readerController Service:
RecordReaderFactory

Implementations:
AvroReader
CEFReader
CSVReader
ExcelReader
GrokReader
JsonPathReader
JsonTreeReader
ReaderLookup
ScriptedReader
Syslog5424Reader
SyslogReader
WindowsEventLogReader
XMLReader
YamlTreeReader
Specifies the Controller Service to use for parsing incoming data and determining the data's schema.
Partition Key Strategy *partition-key-strategyPartition By Field
  • Partition By Field
  • Partition By Attribute
  • Generated UUID
Defines the strategy the processor uses to assign partition key value to the inserted Items.
Partition Key Field *partition-key-fieldDefines the name of the partition key field in the DynamoDB table. Partition key is also known as hash key. Depending on the "Partition Key Strategy" the field value might come from the incoming Record or a generated one.

Supports Expression Language, using Environment variables.
Partition Key Attribute *partition-key-attributeSpecifies the FlowFile attribute that will be used as the value of the partition key when using "Partition by attribute" partition key strategy.

Supports Expression Language, using Environment variables.

This property is only considered if:
  • the property Partition Key Strategy has a value of ByAttribute
Sort Key Strategy *sort-key-strategyNone
  • None
  • Sort By Field
  • Generate Sequence
Defines the strategy the processor uses to assign sort key to the inserted Items.
Sort Key Field *sort-key-fieldDefines the name of the sort key field in the DynamoDB table. Sort key is also known as range key.

Supports Expression Language, using Environment variables.

This property is only considered if:
  • the property Sort Key Strategy has a value of ByField or BySequence
Communications Timeout *Communications Timeout30 secs
Endpoint Override URLEndpoint Override URLEndpoint URL to use instead of the AWS default including scheme, host, port, and path. The AWS libraries select an endpoint URL based on the AWS region, but this property overrides the selected endpoint URL, allowing use with other S3-compatible endpoints.

Supports Expression Language, using Environment variables.
Proxy Configuration Serviceproxy-configuration-serviceController Service:
ProxyConfigurationService

Implementations:
StandardProxyConfigurationService
Specifies the Proxy Configuration Controller Service to proxy network requests.
SSL Context ServiceSSL Context ServiceController Service:
SSLContextService

Implementations:
StandardRestrictedSSLContextService
StandardSSLContextService
Specifies an optional SSL Context Service that, if provided, will be used to create connections

Dynamic Properties

This component does not support dynamic properties.

Relationships

NameDescription
failureFlowFiles are routed to failure relationship
successFlowFiles are routed to success relationship
unprocessedFlowFiles are routed to unprocessed relationship when DynamoDB is not able to process all the items in the request. Typical reasons are insufficient table throughput capacity and exceeding the maximum bytes per request. Unprocessed FlowFiles can be retried with a new request.

Reads Attributes

NameDescription
dynamodb.chunks.processedNumber of chunks successfully inserted into DynamoDB. If not set, it is considered as 0

Writes Attributes

NameDescription
dynamodb.chunks.processedNumber of chunks successfully inserted into DynamoDB. If not set, it is considered as 0
dynamodb.error.codeDynamoDB error code
dynamodb.error.exception.messageDynamoDB exception message
dynamodb.error.messageDynamoDB error message
dynamodb.error.request.idDynamoDB error request id
dynamodb.error.retryableDynamoDB error is retryable
dynamodb.error.serviceDynamoDB error service
dynamodb.error.status.codeDynamoDB error status code
dynamodb.item.io.errorIO exception message on creating item
dynamodb.key.error.not.foundDynamoDB key not found
dynamodb.key.error.unprocessedDynamoDB unprocessed keys
dynmodb.range.key.value.errorDynamoDB range key error

State Management

This component does not store state.

Restricted

This component is not restricted.

Input Requirement

This component requires an incoming relationship.

System Resource Considerations

ScopeDescription
MEMORYAn instance of this component can cause high usage of this system resource. Multiple instances or high concurrency settings may result a degradation of performance.

See Also

DeleteDynamoDB, GetDynamoDB, PutDynamoDB