
AWS Publish
CertifiedPublish messages to an SQS queue
AWS Publish
Publish messages to an SQS queue
Publishes one or more messages to the target queue URL using Data.From inputs. Emits message count metric.
type: io.kestra.plugin.aws.sqs.PublishExamples
Publish a message to an SQS queue
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
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
from *RequiredNon-dynamicstringarray
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
kestrafor internal storage files,filefor host local files, andnsfilefor namespace files. - A JSON String that will then be serialized either as a single item or a list of items.
io.kestra.plugin.aws.sqs.model.Message
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.
The message deduplication ID
The message delay in seconds
The message group ID
queueUrl *Requiredstring
The SQS queue URL. The queue must already exist
accessKeyId string
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.
compatibilityMode booleanstring
Enable compatibility mode
Use it to connect to S3 bucket with S3 compatible services that don't support the new transport client.
connectionAcquisitionTimeout string
PT5SThe amount of time to wait when acquiring a connection from the pool before giving up and timing out
endpointOverride string
The endpoint with which the SDK should communicate
This property allows you to use a different S3 compatible storage backend.
forcePathStyle booleanstring
Force path style access
Must only be used when compatibilityMode is enabled.
maxConcurrency integerstring
50Maximum 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).
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
region string
AWS region with which the SDK should communicate
secretKeyId string
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.
sessionToken string
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.
stsEndpointOverride string
The AWS STS endpoint with which the SDKClient should communicate
stsRoleArn string
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.
stsRoleExternalId string
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.
stsRoleSessionDuration string
PT15MAWS 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.
stsRoleSessionName string
AWS STS Session name
This property is only used when an stsRoleArn is defined.
Outputs
messagesCount integer
Published messages
Count of messages successfully sent.
Metrics
sqs.publish.messages counter
messagesNumber of messages published to the SQS queue.