aws_dynamodb_partiql
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
- Advanced
# Common config fields, showing default values
label: ""
aws_dynamodb_partiql:
query: "" # No default (required)
args_mapping: ""
# All config fields, showing default values
label: ""
aws_dynamodb_partiql:
query: "" # No default (required)
unsafe_dynamic_query: false
args_mapping: ""
region: ""
endpoint: ""
credentials:
profile: ""
id: ""
secret: ""
token: ""
from_ec2_role: false
role: ""
role_external_id: ""
expiry_window: ""
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": 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.
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: ""