
Consume
Consume messages from an AWS SQS queue.
Requires maxDuration or maxRecords.
type: "io.kestra.plugin.aws.sqs.Consume"Examples
id: aws_sqs_consume
namespace: company.team
tasks:
- id: consume
type: io.kestra.plugin.aws.sqs.Consume
accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
secretKeyId: "{{ secret('AWS_SECRET_KEY_ID') }}"
region: "eu-central-1"
queueUrl: "https://sqs.eu-central-1.amazonaws.com/000000000000/test-queue"
Properties
queueUrl*Requiredstring
The SQS queue URL. The queue must already exist.
accessKeyIdstring
Access Key Id in order to connect to AWS.
autoDeletebooleanstring
trueDelete consumed messages automatically.
When set to true (default), the message is automatically deleted from SQS after being consumed. Set to false if you want to handle deletion manually.
compatibilityModebooleanstring
Enable compatibility mode.
Use it to connect to S3 bucket with S3 compatible services that don't support the new transport client.
connectionAcquisitionTimeoutstring
PT5SdurationThe amount of time to wait when acquiring a connection from the pool before giving up and timing out.
endpointOverridestring
The endpoint with which the SDK should communicate.
This property allows you to use a different S3 compatible storage backend.
forcePathStylebooleanstring
Force path style access.
Must only be used when compatibilityMode is enabled.
maxConcurrencyintegerstring
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).
maxDurationstring
durationMaximum duration in the Duration ISO format, after that the task will end.
maxRecordsintegerstring
Maximum number of records; when reached, the task will end.
regionstring
AWS region with which the SDK should communicate.
secretKeyIdstring
Secret Key Id in order to connect to AWS.
serdeTypestring
STRINGSTRINGJSONThe serializer/deserializer to use.
sessionTokenstring
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.
stsEndpointOverridestring
The AWS STS endpoint with which the SDKClient should communicate.
stsRoleArnstring
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.
stsRoleExternalIdstring
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.
stsRoleSessionDurationstring
PT15MdurationAWS 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.
stsRoleSessionNamestring
AWS STS Session name.
This property is only used when an stsRoleArn is defined.
visibilityTimeoutintegerstring
30Visibility timeout for consumed messages.
When set, a received message stays hidden from other consumers for this amount of time (in seconds). The default value is 30 seconds.
Outputs
countinteger
Number of consumed rows.
uristring
uriFile URI containing consumed messages.
Metrics
sqs.consume.messagescounter
messagesNumber of messages consumed from the SQS queue.