Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengirim pesan ke antrian Amazon SQS dengan Step Functions
Anda dapat mengirim pesan ke antrean Amazon SQS menggunakan tindakan Amazon SQS API berikut dan contoh kode status Task
untuk alur kerja Step Functions.
Untuk mempelajari tentang mengintegrasikan dengan AWS layanan di Step Functions, lihat Integrasi layanan danMeneruskan parameter ke API layanan di Step Functions.
Untuk mempelajari selengkapnya tentang menerima pesan di Amazon SQS, lihat Terima dan Hapus Pesan Anda di Panduan Developer Amazon Simple Queue Service.
Contoh berikut mencakup Task
state (JSONata) yang mengirimkan pesan Amazon Simple Queue Service (Amazon SQS) dengan opsional: MessageAttributes
{
"StartAt": "Send to SQS",
"States": {
"Send to SQS": {
"Type": "Task",
"Resource": "arn:aws:states:::sqs:sendMessage",
"Arguments": {
"QueueUrl": "https://sqs.us-east-1.amazonaws.com/account-id
/myQueue",
"MessageBody": "{% $states.input.message %}",
"MessageAttributes": {
"my_attribute_no_1": {
"DataType": "String",
"StringValue": "attribute1
"
},
"my_attribute_no_2": {
"DataType": "String",
"StringValue": "attribute2
"
}
}
},
"End": true
}
}
}
Mesin status berikut menyertakan Task
status yang diterbitkan ke antrean Amazon SQS, dan kemudian menunggu token tugas dikembalikan. Lihat Tunggu Callback dengan Task Token.
{
"StartAt":"Send message to SQS",
"States":{
"Send message to SQS":{
"Type":"Task",
"Resource":"arn:aws:states:::sqs:sendMessage.waitForTaskToken",
"Arguments":{
"QueueUrl":"https://sqs.us-east-1.amazonaws.com/account-id
/myQueue",
"MessageBody":{
"Input" : "{% $states.input.message %}",
"MyTaskToken" : "{% $states.context.Task.Token %}"
}
},
"End":true
}
}
}
Amazon SQS yang dioptimalkan APIs
-
Parameter yang didukung:
Parameter di Step Functions diekspresikan dalam PascalCase
Bahkan jika API layanan asli ada di camelCase, misalnya startSyncExecution
tindakan API, Anda menentukan parameter PascalCase, seperti:. StateMachineArn
Kuota untuk data masukan atau hasil
Saat mengirim atau menerima data antar layanan, input atau hasil maksimum untuk suatu tugas adalah 256 KiB data sebagai string yang dikodekan UTF-8. Lihat Kuota yang berkaitan dengan eksekusi mesin status.
Kebijakan IAM untuk memanggil Amazon SQS
Contoh templat berikut menunjukkan cara AWS Step Functions menghasilkan kebijakan IAM berdasarkan sumber daya dalam definisi mesin status Anda. Untuk informasi selengkapnya, lihat Bagaimana Step Functions menghasilkan kebijakan IAM untuk layanan terintegrasi dan Temukan pola integrasi layanan di Step Functions.
Sumber daya statis
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sqs:SendMessage"
],
"Resource": [
"arn:aws:sqs:region
:account-id
:queueName
"
]
}
]
}
Sumber daya dinamis
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sqs:SendMessage"
],
"Resource": "*"
}
]
}