AWS Publish

AWS Publish

Certified

Publish messages to an SQS queue

Publishes one or more messages to the target queue URL using Data.From inputs. Emits message count metric.

yaml
type: io.kestra.plugin.aws.sqs.Publish

Publish a message to an SQS queue

yaml
id: aws_sqs_publish
namespace: company.team

tasks:
  - id: publish
    type: io.kestra.plugin.aws.sqs.Publish
    accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
    secretKeyId: "{{ secret('AWS_SECRET_ACCESS_KEY') }}"
    region: "{{ secret('AWS_DEFAULT_REGION') }}"
    queueUrl: "https://sqs.eu-central-1.amazonaws.com/000000000000/test-queue"
    from:
    - data: Hello World
    - data: Hello Kestra
      delaySeconds: 5

Publish an input to an SQS queue

yaml
id: sqs_publish_message
namespace: company.team

inputs:
  - id: message
    type: STRING
    defaults: Hi from Kestra!

tasks:
  - id: publish_message
    type: io.kestra.plugin.aws.sqs.Publish
    accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
    secretKeyId: "{{ secret('AWS_SECRET_ACCESS_KEY') }}"
    region: "{{ secret('AWS_DEFAULT_REGION') }}"
    queueUrl: https://sqs.eu-central-1.amazonaws.com/123456789/kestra
    from:
      data: "{{ inputs.message }}"
Properties

Structured data items, either as a map, a list of map, a URI, or a JSON string.

Structured data items can be defined in the following ways:

  • A single item as a map (a document).
  • A list of items as a list of maps (a list of documents).
  • A URI, supported schemes are kestra for internal storage files, file for host local files, and nsfile for namespace files.
  • A JSON String that will then be serialized either as a single item or a list of items.
Definitions
data*Requiredobject

The message data

Accepts a string (Pebble-templated, e.g. "{{ inputs.payload }}") or a structured value (map, list) that is serialized to JSON before sending. String values are rendered at runtime; non-string values are passed through Jackson.

deduplicationIdstring

The message deduplication ID

delaySecondsinteger

The message delay in seconds

groupIdstring

The message group ID

The SQS queue URL. The queue must already exist

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.

DefaultPT5S

The amount of time to wait when acquiring a connection from the pool before giving up and timing out

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.

Default50

Maximum number of allowed concurrent requests

For HTTP/1.1 this is the same as max connections. For HTTP/2 the number of connections that will be used depends on the max streams allowed per connection. If the maximum number of concurrent requests is exceeded they may be queued in the HTTP client (see maxPendingConnectionAcquires) and can cause increased latencies. If the client is overloaded enough such that the pending connection queue fills up, subsequent requests may be rejected or time out (see connectionAcquisitionTimeout).

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.

Published messages

Count of messages successfully sent.

Unitmessages

Number of messages published to the SQS queue.