AWS PutItem

AWS PutItem

Certified

Put an item into a DynamoDB table

Creates or replaces an item. Upserts when the key already exists.

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 | toJson }}"

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

Table name

Target DynamoDB table for the operation.

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.

Item

Item content as a JSON string or map; rendered before write.

Reference (ref) of the pluginDefaults to apply to this task.

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.

DefaultPT15M

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.