= aws_dynamodb_partiql :type: processor :status: experimental :categories: ["Integration"] //// THIS FILE IS AUTOGENERATED! To make changes, edit the corresponding source file under: https://github.com/redpanda-data/connect/tree/main/internal/impl/. And: https://github.com/redpanda-data/connect/tree/main/cmd/tools/docs_gen/templates/plugin.adoc.tmpl //// // © 2024 Redpanda Data Inc. component_type_dropdown::[] Executes a PartiQL expression against a DynamoDB table for each message. Introduced in version 3.48.0. [tabs] ====== Common:: + -- ```yml # Common config fields, showing default values label: "" aws_dynamodb_partiql: query: "" # No default (required) args_mapping: "" ``` -- Advanced:: + -- ```yml # 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: "" ``` -- ====== 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 [tabs] ====== Insert:: + -- The following example inserts rows into the table footable with the columns foo, bar and baz populated with values extracted from messages: ```yaml 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 === `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 xref:guides:bloblang/about.adoc[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 xref:guides:cloud/aws.adoc[]. *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. [CAUTION] ==== This field contains sensitive information that usually shouldn't be added to a config directly, read our xref:configuration:secrets.adoc[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 https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html[an IAM role associated with the instance^]. *Type*: `bool` *Default*: `false` Requires version 4.2.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*: `""`