Mengirim pesan ke antrian Amazon SQS 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.

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 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": "*" } ] }