AWS Publish

AWS Publish

Certified

Publish messages to an SNS topic

Publishes one or many messages to an existing SNS topic. Accepts payloads via Data.From (string, list, or Message objects). Emits message count metric.

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

Send an SMS message using AWS SNS

yaml
id: aws_sns_publish
namespace: company.team

tasks:
  - id: publish
    type: io.kestra.plugin.aws.sns.Publish
    accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
    secretKeyId: "{{ secret('AWS_SECRET_KEY_ID') }}"
    region: "{{ secret('AWS_DEFAULT_REGION') }}"
    topicArn: "arn:aws:sns:eu-central-1:000000000000:MessageTopic"
    from:
    - data: Hello World
    - data: Hello Kestra
      subject: Kestra

Send an SMS message using AWS SNS based on a runtime-specific input

yaml
id: send_sms
namespace: company.team

inputs:
  - id: sms_text
    type: STRING
    defaults: Hello from Kestra and AWS SNS!

tasks:
  - id: send_sms
    type: io.kestra.plugin.aws.sns.Publish
    accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
    secretKeyId: "{{ secret('AWS_SECRET_KEY_ID') }}"
    region: "{{ secret('AWS_DEFAULT_REGION') }}"
    topicArn: arn:aws:sns:eu-central-1:123456789:kestra
    from:
      data: |
        {{ inputs.sms_text }}
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*Requiredstring

The message data

deduplicationIdstring

The message deduplication ID

groupIdstring

The message group ID

phoneNumberstring

The message phone number

structurestring

The message structure

subjectstring

The message subject

Topic ARN

Existing SNS topic to publish to.

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.

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 SNS topic.