Put an item into a DynamoDB table.

If an item with the same key already exists, the element will be updated.

yaml
type: "io.kestra.plugin.aws.dynamodb.PutItem"

Put an item in map form into a table.

yaml
id: aws_dynamodb_put_item
namespace: company.team

tasks:
  - id: put_item
    type: io.kestra.plugin.aws.dynamodb.PutItem
    accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
    secretKeyId: "{{ secret('AWS_SECRET_KEY_ID') }}"
    region: "eu-central-1"
    tableName: "persons"
    item:
      id: 1
      firstname: "John"
      lastname: "Doe"

Put an item in JSON string form into a table.

yaml
id: aws_dynamodb_put_item
namespace: company.team

tasks:
  - id: put_item
    type: io.kestra.plugin.aws.dynamodb.PutItem
    accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
    secretKeyId: "{{ secret('AWS_SECRET_KEY_ID') }}"
    region: "eu-central-1"
    tableName: "persons"
    item: "{{ outputs.task_id.data | json }}"

Add multiple items to a DynamoDB table

yaml
    id: add_items_to_dynamodb
    namespace: company.team

    tasks:
      - id: first_item_as_map
        type: io.kestra.plugin.aws.dynamodb.PutItem
        item:
          id: 1
          flow: "{{ flow.id }}"
          task: "{{ task.id }}"

      - id: second_item_as_json
        type: io.kestra.plugin.aws.dynamodb.PutItem
        item: |
          {
              "id": 2,
              "flow": "{{ flow.id }}",
              "task": "{{ task.id }}"
          }

    pluginDefaults:
      - type: io.kestra.plugin.aws.dynamodb.PutItem
        values:
          tableName: demo
          region: "{{ secret('AWS_DEFAULT_REGION') }}"
          accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
          secretKeyId: "{{ secret('AWS_SECRET_ACCESS_KEY') }}"
Properties

The DynamoDB table name.

Access Key Id in order to connect to AWS.

If no credentials are defined, we will use the default credentials provider chain to fetch credentials.

Enable compatibility mode.

Use it to connect to S3 bucket with S3 compatible services that don't support the new transport client.

The endpoint with which the SDK should communicate.

This property allows you to use a different S3 compatible storage backend.

Force path style access.

Must only be used when compatibilityMode is enabled.

The DynamoDB item.

The item can be in the form of a JSON string, or a map.

AWS region with which the SDK should communicate.

Secret Key Id in order to connect to AWS.

If no credentials are defined, we will use the default credentials provider chain to fetch credentials.

AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource.

If no credentials are defined, we will use the default credentials provider chain to fetch credentials.

The AWS STS endpoint with which the SDKClient should communicate.

AWS STS Role.

The Amazon Resource Name (ARN) of the role to assume. If set the task will use the StsAssumeRoleCredentialsProvider. If no credentials are defined, we will use the default credentials provider chain to fetch credentials.

AWS STS External Id.

A unique identifier that might be required when you assume a role in another account. This property is only used when an stsRoleArn is defined.

Default PT15M
Format duration

AWS STS Session duration.

The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an stsRoleArn is defined.

AWS STS Session name.

This property is only used when an stsRoleArn is defined.