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 yang Didukung
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.