Skip to main content

aws_dynamodb_partiql

EXPERIMENTAL

This component is experimental and therefore subject to change or removal outside of major version releases.

Executes a PartiQL expression against a DynamoDB table for each message.

Introduced in version 1.0.0.

# Common config fields, showing default values
label: ""
aws_dynamodb_partiql:
query: "" # No default (required)
args_mapping: ""

Both writes or reads are supported, when the query is a read the contents of the message will be replaced with the result. This processor is more efficient when messages are pre-batched as the whole batch will be executed in a single call.

Examples

The following example inserts rows into the table footable with the columns foo, bar and baz populated with values extracted from messages:

pipeline:
processors:
- aws_dynamodb_partiql:
query: "INSERT INTO footable VALUE {'foo':'?','bar':'?','baz':'?'}"
args_mapping: |
root = [
{ "S": this.foo },
{ "S": metadata("kafka_topic") },
{ "S": this.document.content },
]

Fields

query

A PartiQL query to execute for each message.

Type: string

unsafe_dynamic_query

Whether to enable dynamic queries that support interpolation functions.

Type: bool
Default: false

args_mapping

A Bloblang mapping that, for each message, creates a list of arguments to use with the query.

Type: string
Default: ""

region

The AWS region to target.

Type: string
Default: ""

endpoint

Allows you to specify a custom endpoint for the AWS API.

Type: string
Default: ""

credentials

Optional manual configuration of AWS credentials to use. More information can be found in this document.

Type: object

credentials.profile

A profile from ~/.aws/credentials to use.

Type: string
Default: ""

credentials.id

The ID of credentials to use.

Type: string
Default: ""

credentials.secret

The secret for the credentials being used.

Secret

This field contains sensitive information that usually shouldn't be added to a config directly, read our secrets page for more info.

Type: string
Default: ""

credentials.token

The token for the credentials being used, required when using short term credentials.

Type: string
Default: ""

credentials.from_ec2_role

Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance.

Type: bool
Default: false
Requires version 1.0.0 or newer

credentials.role

A role ARN to assume.

Type: string
Default: ""

credentials.role_external_id

An external ID to provide when assuming a role.

Type: string
Default: ""

credentials.expiry_window

Allow the credentials to trigger refreshing prior to the credentials actually expiring. This is beneficial so race conditions with expiring credentials do not cause requests to fail. For example '10s' would refresh credentials ten seconds before expiration. Setting to a duration of 0 disables the expiry window.

Type: string
Default: ""