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.
Amazon, DynamoDB, AWS, Put, Insert, Record
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
| Display Name | API Name | Default Value | Allowable Values | Description |
|---|---|---|---|---|
| Record Reader | record-reader | Controller Service API: RecordReaderFactory Implementations: CEFReader SyslogReader ReaderLookup ProtobufReader Syslog5424Reader CSVReader GrokReader WindowsEventLogReader ScriptedReader AvroReader ParquetReader JsonPathReader ExcelReader JsonTreeReader YamlTreeReader XMLReader | Specifies the Controller Service to use for parsing incoming data and determining the data's schema. | |
| AWS Credentials Provider Service | AWS Credentials Provider service | Controller Service API: AWSCredentialsProviderService Implementation: AWSCredentialsProviderControllerService | The Controller Service that is used to obtain AWS credentials provider | |
| Region | Region | US West (Oregon) |
| The AWS Region to connect to. |
| Table Name | Table Name | The DynamoDB table name Supports Expression Language: true (will be evaluated using variable registry only) | ||
| Partition Key Strategy | partition-key-strategy | Partition By Field |
| Defines the strategy the processor uses to assign partition key value to the inserted Items. |
| Partition Key Field | partition-key-field | Defines 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: true (will be evaluated using variable registry only) | ||
| Partition Key Attribute | partition-key-attribute | Specifies 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: true (will be evaluated using variable registry only) This Property is only considered if the [Partition Key Strategy] Property has a value of "Partition By Attribute". | ||
| Sort Key Strategy | sort-key-strategy | None |
| Defines the strategy the processor uses to assign sort key to the inserted Items. |
| Sort Key Field | sort-key-field | Defines the name of the sort key field in the DynamoDB table. Sort key is also known as range key. Supports Expression Language: true (will be evaluated using variable registry only) This Property is only considered if the [Sort Key Strategy] Property is set to one of the following values: [Sort By Field], [Generate Sequence] | ||
| Communications Timeout | Communications Timeout | 30 secs | The amount of time to wait in order to establish a connection to AWS or receive data from AWS before timing out. | |
| Proxy Configuration Service | proxy-configuration-service | Controller Service API: ProxyConfigurationService Implementation: StandardProxyConfigurationService | Specifies the Proxy Configuration Controller Service to proxy network requests. If set, it supersedes proxy settings configured per component. | |
| SSL Context Service | SSL Context Service | Controller Service API: SSLContextService Implementations: StandardSSLContextService StandardRestrictedSSLContextService | Specifies an optional SSL Context Service that, if provided, will be used to create connections |
| Name | Description |
|---|---|
| unprocessed | FlowFiles 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. |
| success | FlowFiles are routed to success relationship |
| failure | FlowFiles are routed to failure relationship |
| Name | Description |
|---|---|
| dynamodb.chunks.processed | Number of chunks successfully inserted into DynamoDB. If not set, it is considered as 0 |
| Name | Description |
|---|---|
| dynamodb.chunks.processed | Number of chunks successfully inserted into DynamoDB. If not set, it is considered as 0 |
| dynamodb.key.error.unprocessed | DynamoDB unprocessed keys |
| dynmodb.range.key.value.error | DynamoDB range key error |
| dynamodb.key.error.not.found | DynamoDB key not found |
| dynamodb.error.exception.message | DynamoDB exception message |
| dynamodb.error.code | DynamoDB error code |
| dynamodb.error.message | DynamoDB error message |
| dynamodb.error.type | DynamoDB error type |
| dynamodb.error.service | DynamoDB error service |
| dynamodb.error.retryable | DynamoDB error is retryable |
| dynamodb.error.request.id | DynamoDB error request id |
| dynamodb.error.status.code | DynamoDB error status code |
| dynamodb.item.io.error | IO exception message on creating item |
| Resource | Description |
|---|---|
| MEMORY | An instance of this component can cause high usage of this system resource. Multiple instances or high concurrency settings may result a degradation of performance. |
| NETWORK | An instance of this component can cause high usage of this system resource. Multiple instances or high concurrency settings may result a degradation of performance. |