Mempublikasikan pesan ke SNS topik Amazon dengan Step Functions - AWS Step Functions

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mempublikasikan pesan ke SNS topik Amazon dengan Step Functions

Pelajari cara menggunakan Step Functions untuk mempublikasikan pesan ke SNS topik Amazon. Halaman ini mencantumkan SNS API tindakan Amazon yang didukung dan memberikan contoh Task status untuk mempublikasikan pesan ke AmazonSNS.

Step Functions dapat mengontrol AWS layanan tertentu langsung dari Amazon States Language (ASL). Untuk mempelajari selengkapnya, lihat Mengintegrasikan layanan lain dan Meneruskan parameter ke layanan API di Step Functions.

Bagaimana SNS integrasi Amazon yang Dioptimalkan berbeda dari SNS AWS SDK integrasi Amazon

Tidak ada pengoptimalan untuk pola Minta Respons atau Tunggu Panggilan Balik dengan Token Tugas integrasi.

Amazon yang didukung SNSAPIs:

catatan

Ada kuota untuk input maksimum atau ukuran data hasil untuk tugas di Step Functions. Ini membatasi Anda untuk 256 KB data sebagai string yang dikodekan UTF -8 saat Anda mengirim ke, atau menerima data dari, layanan lain. Lihat Kuota yang berkaitan dengan eksekusi mesin status.

Parameter Step Functions dalam dinyatakan dalam PascalCase

Bahkan jika layanan asli API ada dicamelCase, misalnya API tindakanstartSyncExecution, Anda menentukan parameter di PascalCase, seperti:StateMachineArn.

Berikut ini mencakup Task status yang menerbitkan ke topik Amazon Simple Notification Service (AmazonSNS).

{ "StartAt": "Publish to SNS", "States": { "Publish to SNS": { "Type": "Task", "Resource": "arn:aws:states:::sns:publish", "Parameters": { "TopicArn": "arn:aws:sns:us-east-1:123456789012:myTopic", "Message.$": "$.input.message", "MessageAttributes": { "my_attribute_no_1": { "DataType": "String", "StringValue": "value of my_attribute_no_1" }, "my_attribute_no_2": { "DataType": "String", "StringValue": "value of my_attribute_no_2" } } }, "End": true } } }

Meneruskan nilai dinamis. Anda dapat memodifikasi contoh di atas untuk meneruskan atribut secara dinamis dari JSON payload ini:

{ "input": { "message": "Hello world" }, "SNSDetails": { "attribute1": "some value", "attribute2": "some other value", } }

Tambahkan .$ ke bidang StringValue:

"MessageAttributes": { "my_attribute_no_1": { "DataType": "String", "StringValue.$": "$.SNSDetails.attribute1" }, "my_attribute_no_2": { "DataType": "String", "StringValue.$": "$.SNSDetails.attribute2" }

Berikut ini mencakup Task status yang menerbitkan ke SNS topik Amazon, dan kemudian menunggu token tugas dikembalikan. Lihat Tunggu Panggilan Balik dengan Token Tugas.

{ "StartAt":"Send message to SNS", "States":{ "Send message to SNS":{ "Type":"Task", "Resource":"arn:aws:states:::sns:publish.waitForTaskToken", "Parameters":{ "TopicArn":"arn:aws:sns:us-east-1:123456789012:myTopic", "Message":{ "Input.$":"$", "TaskToken.$":"$$.Task.Token" } }, "End":true } } }

Untuk informasi tentang cara mengonfigurasi IAM izin saat menggunakan Step Functions dengan AWS layanan lain, lihatBagaimana Step Functions menghasilkan IAM kebijakan untuk layanan terintegrasi.