camel-aws-ddb-sink-kafka-connector sink configuration

Connector Description: Send data to Amazon DynamoDB. The sent data inserts, updates, or deletes an item on the specified AWS DynamoDB table. The basic authentication method for the AWS DynamoDB service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider. If you use the default credentials provider, the DynamoDB client loads the credentials through this provider and doesn’t use the basic authentication method. This Kamelet expects a JSON-formatted body and it must include the primary key values that define the DynamoDB item. The mapping between the JSON fields and table attribute values is done by key. For example, for '{"username":"oscerd", "city":"Rome"}' input, the Kamelet inserts or update an item in the specified AWS DynamoDB table and sets the values for the 'username' and 'city' attributes. For PutItem operation the Json body defines all item attributes. For DeleteItem operation the Json body defines only the primary key attributes that identify the item to delete. For UpdateItem operation the Json body defines both key attributes to identify the item to be updated and all item attributes tht get updated on the item. The given Json body can use "operation", "key" and "item" as top level properties that will be mapped to respective attribute value maps. { "operation": "PutItem" "key": {}, "item": {} }

When using camel-aws-ddb-sink-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-aws-ddb-sink-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

To use this sink connector in Kafka connect you’ll need to set the following connector.class

connector.class=org.apache.camel.kafkaconnector.awsddbsink.CamelAwsddbsinkSinkConnector

The camel-aws-ddb-sink sink connector supports 12 options, which are listed below.

Name Description Default Priority

camel.kamelet.aws-ddb-sink.table

Required The name of the DynamoDB table.

HIGH

camel.kamelet.aws-ddb-sink.accessKey

The access key obtained from AWS.

MEDIUM

camel.kamelet.aws-ddb-sink.secretKey

The secret key obtained from AWS.

MEDIUM

camel.kamelet.aws-ddb-sink.region

Required The AWS region to access.

HIGH

camel.kamelet.aws-ddb-sink.operation

The operation to perform. Example: PutItem.

"PutItem"

MEDIUM

camel.kamelet.aws-ddb-sink.useDefaultCredentialsProvider

If true, the DynamoDB client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key).

false

MEDIUM

camel.kamelet.aws-ddb-sink.useProfileCredentialsProvider

Set whether the DynamoDB client should expect to load credentials through a profile credentials provider.

false

MEDIUM

camel.kamelet.aws-ddb-sink.useSessionCredentials

Set whether the DynamoDB client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in DynamoDB.

false

MEDIUM

camel.kamelet.aws-ddb-sink.profileCredentialsName

If using a profile credentials provider this parameter will set the profile name.

MEDIUM

camel.kamelet.aws-ddb-sink.sessionToken

Amazon AWS Session Token used when the user needs to assume a IAM role.

MEDIUM

camel.kamelet.aws-ddb-sink.uriEndpointOverride

The overriding endpoint URI. To use this option, you must also select the overrideEndpoint option.

MEDIUM

camel.kamelet.aws-ddb-sink.overrideEndpoint

Select this option to override the endpoint URI. To use this option, you must also provide a URI for the uriEndpointOverride option.

false

MEDIUM

The camel-aws-ddb-sink sink connector has no converters out of the box.

The camel-aws-ddb-sink sink connector has no transforms out of the box.

The camel-aws-ddb-sink sink connector has no aggregation strategies out of the box.