aws_dynamodb_partiql

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

Introduced in version 3.48.0.

  • Common

  • Advanced

processors:
  label: ""
  aws_dynamodb_partiql:
    query: "" # No default (required)
    args_mapping: ""
processors:
  label: ""
  aws_dynamodb_partiql:
    query: "" # No default (required)
    unsafe_dynamic_query: false
    args_mapping: ""
    region: "" # No default (optional)
    endpoint: "" # No default (optional)
    credentials:
      profile: "" # No default (optional)
      id: "" # No default (optional)
      secret: "" # No default (optional)
      token: "" # No default (optional)
      from_ec2_role: "" # No default (optional)
      role: "" # No default (optional)
      role_external_id: "" # No default (optional)

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

Insert

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": meta("kafka_topic") },
            { "S": this.document.content },
          ]

Fields

args_mapping

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

Type: string

Default: ""

credentials

Optional manual configuration of AWS credentials to use. More information can be found in Amazon Web Services.

Type: object

credentials.from_ec2_role

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

Requires version 4.2.0 or later.

Type: bool

credentials.id

The ID of credentials to use.

Type: string

credentials.profile

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

Type: string

credentials.role

A role ARN to assume.

Type: string

credentials.role_external_id

An external ID to provide when assuming a role.

Type: string

credentials.secret

The secret for the credentials being used.

This field contains sensitive information that usually shouldn’t be added to a configuration directly. For more information, see Secrets.

Type: string

credentials.token

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

Type: string

endpoint

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

Type: string

query

A PartiQL query to execute for each message.

Type: string

region

The AWS region to target.

Type: string

unsafe_dynamic_query

Whether to enable dynamic queries that support interpolation functions.

Type: bool

Default: false