SQSContoh Amazon menggunakan AWS CLI - AWS SDKContoh Kode

Ada lebih banyak AWS SDK contoh yang tersedia di GitHub repo SDKContoh AWS Dokumen.

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

SQSContoh Amazon menggunakan AWS CLI

Contoh kode berikut menunjukkan kepada Anda cara melakukan tindakan dan mengimplementasikan skenario umum dengan menggunakan AWS Command Line Interface With AmazonSQS.

Tindakan adalah kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Sementara tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks dalam skenario terkait.

Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.

Tindakan

Contoh kode berikut menunjukkan cara menggunakanadd-permission.

AWS CLI

Untuk menambahkan izin ke antrian

Contoh ini memungkinkan AWS akun yang ditentukan untuk mengirim pesan ke antrian yang ditentukan.

Perintah:

aws sqs add-permission --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --label SendMessagesFromMyQueue --aws-account-ids 12345EXAMPLE --actions SendMessage

Output:

None.
  • Untuk API detailnya, lihat AddPermissiondi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakancancel-message-move-task.

AWS CLI

Untuk membatalkan tugas pemindahan pesan

cancel-message-move-taskContoh berikut membatalkan tugas pemindahan pesan yang ditentukan.

aws sqs cancel-message-move-task \ --task-handle AQEB6nR4...HzlvZQ==

Output:

{ "ApproximateNumberOfMessagesMoved": 102 }

Untuk informasi selengkapnya, lihat SQSAPIIzin Amazon: Tindakan dan referensi sumber daya di Panduan Pengembang.

Contoh kode berikut menunjukkan cara menggunakanchange-message-visibility-batch.

AWS CLI

Untuk mengubah visibilitas batas waktu beberapa pesan sebagai batch

Contoh ini mengubah visibilitas batas waktu 2 pesan yang ditentukan menjadi 10 jam (10 jam* 60 menit* 60 detik).

Perintah:

aws sqs change-message-visibility-batch --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --entries file://change-message-visibility-batch.json

Berkas masukan (change-message-visibility-batch.json):

[ { "Id": "FirstMessage", "ReceiptHandle": "AQEBhz2q...Jf3kaw==", "VisibilityTimeout": 36000 }, { "Id": "SecondMessage", "ReceiptHandle": "AQEBkTUH...HifSnw==", "VisibilityTimeout": 36000 } ]

Output:

{ "Successful": [ { "Id": "SecondMessage" }, { "Id": "FirstMessage" } ] }

Contoh kode berikut menunjukkan cara menggunakanchange-message-visibility.

AWS CLI

Untuk mengubah visibilitas batas waktu pesan

Contoh ini mengubah visibilitas batas waktu pesan yang ditentukan menjadi 10 jam (10 jam* 60 menit * 60 detik).

Perintah:

aws sqs change-message-visibility --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --receipt-handle AQEBTpyI...t6HyQg== --visibility-timeout 36000

Output:

None.

Contoh kode berikut menunjukkan cara menggunakancreate-queue.

AWS CLI

Untuk membuat antrian

Contoh ini membuat antrian dengan nama yang ditentukan, menetapkan periode penyimpanan pesan menjadi 3 hari (3 hari* 24 jam* 60 menit * 60 detik), dan mengatur antrian surat mati antrian ke antrian yang ditentukan dengan jumlah penerimaan maksimum 1.000 pesan.

Perintah:

aws sqs create-queue --queue-name MyQueue --attributes file://create-queue.json

File masukan (buat-antrean.json):

{ "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":\"1000\"}", "MessageRetentionPeriod": "259200" }

Output:

{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }
  • Untuk API detailnya, lihat CreateQueuedi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakandelete-message-batch.

AWS CLI

Untuk menghapus beberapa pesan sebagai batch

Contoh ini menghapus pesan yang ditentukan.

Perintah:

aws sqs delete-message-batch --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --entries file://delete-message-batch.json

Berkas masukan (delete-message-batch.json):

[ { "Id": "FirstMessage", "ReceiptHandle": "AQEB1mgl...Z4GuLw==" }, { "Id": "SecondMessage", "ReceiptHandle": "AQEBLsYM...VQubAA==" } ]

Output:

{ "Successful": [ { "Id": "FirstMessage" }, { "Id": "SecondMessage" } ] }

Contoh kode berikut menunjukkan cara menggunakandelete-message.

AWS CLI

Untuk menghapus pesan

Contoh ini menghapus pesan yang ditentukan.

Perintah:

aws sqs delete-message --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --receipt-handle AQEBRXTo...q2doVA==

Output:

None.
  • Untuk API detailnya, lihat DeleteMessagedi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakandelete-queue.

AWS CLI

Untuk menghapus antrian

Contoh ini menghapus antrian yang ditentukan.

Perintah:

aws sqs delete-queue --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewerQueue

Output:

None.
  • Untuk API detailnya, lihat DeleteQueuedi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanget-queue-attributes.

AWS CLI

Untuk mendapatkan atribut antrian

Contoh ini mendapatkan semua atribut antrian yang ditentukan.

Perintah:

aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --attribute-names All

Output:

{ "Attributes": { "ApproximateNumberOfMessagesNotVisible": "0", "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":1000}", "MessageRetentionPeriod": "345600", "ApproximateNumberOfMessagesDelayed": "0", "MaximumMessageSize": "262144", "CreatedTimestamp": "1442426968", "ApproximateNumberOfMessages": "0", "ReceiveMessageWaitTimeSeconds": "0", "DelaySeconds": "0", "VisibilityTimeout": "30", "LastModifiedTimestamp": "1442426968", "QueueArn": "arn:aws:sqs:us-east-1:80398EXAMPLE:MyNewQueue" } }

Contoh ini hanya mendapatkan ukuran pesan maksimum antrian yang ditentukan dan atribut batas waktu visibilitas.

Perintah:

aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue --attribute-names MaximumMessageSize VisibilityTimeout

Output:

{ "Attributes": { "VisibilityTimeout": "30", "MaximumMessageSize": "262144" } }

Contoh kode berikut menunjukkan cara menggunakanget-queue-url.

AWS CLI

Untuk mendapatkan antrian URL

Contoh ini mendapatkan antrian yang ditentukan. URL

Perintah:

aws sqs get-queue-url --queue-name MyQueue

Output:

{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }
  • Untuk API detailnya, lihat GetQueueUrldi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-dead-letter-source-queues.

AWS CLI

Untuk membuat daftar antrian sumber surat mati

Contoh ini mencantumkan antrian yang terkait dengan antrian sumber huruf mati yang ditentukan.

Perintah:

aws sqs list-dead-letter-source-queues --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue

Output:

{ "queueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue" ] }

Contoh kode berikut menunjukkan cara menggunakanlist-message-move-tasks.

AWS CLI

Untuk mencantumkan tugas pemindahan pesan

list-message-move-tasksContoh berikut mencantumkan 2 tugas pemindahan pesan terbaru dalam antrian yang ditentukan.

aws sqs list-message-move-tasks \ --source-arn arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue \ --max-results 2

Output:

{ "Results": [ { "TaskHandle": "AQEB6nR4...HzlvZQ==", "Status": "RUNNING", "SourceArn": "arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue1", "DestinationArn": "arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue2", "MaxNumberOfMessagesPerSecond": 50, "ApproximateNumberOfMessagesMoved": 203, "ApproximateNumberOfMessagesToMove": 30, "StartedTimestamp": 1442428276921 }, { "Status": "COMPLETED", "SourceArn": "arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue1", "DestinationArn": "arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue2", "ApproximateNumberOfMessagesMoved": 29, "ApproximateNumberOfMessagesToMove": 0, "StartedTimestamp": 1342428272093 } ] }

Untuk informasi selengkapnya, lihat SQSAPIIzin Amazon: Tindakan dan referensi sumber daya di Panduan Pengembang.

Contoh kode berikut menunjukkan cara menggunakanlist-queue-tags.

AWS CLI

Untuk mencantumkan semua tag alokasi biaya untuk antrian

list-queue-tagsContoh berikut menampilkan semua tag alokasi biaya yang terkait dengan antrian yang ditentukan.

aws sqs list-queue-tags \ --queue-url https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue

Output:

{ "Tags": { "Team": "Alpha" } }

Untuk informasi selengkapnya, lihat Daftar Tag Alokasi Biaya di Panduan Pengembang Layanan Antrian Sederhana Amazon.

  • Untuk API detailnya, lihat ListQueueTagsdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-queues.

AWS CLI

Untuk membuat daftar antrian

Contoh ini mencantumkan semua antrian.

Perintah:

aws sqs list-queues

Output:

{ "QueueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue", "https://queue.amazonaws.com/80398EXAMPLE/TestQueue1", "https://queue.amazonaws.com/80398EXAMPLE/TestQueue2" ] }

Contoh ini hanya mencantumkan antrian yang dimulai dengan “My”.

Perintah:

aws sqs list-queues --queue-name-prefix My

Output:

{ "QueueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue" ] }
  • Untuk API detailnya, lihat ListQueuesdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanpurge-queue.

AWS CLI

Untuk membersihkan antrian

Contoh ini menghapus semua pesan dalam antrian yang ditentukan.

Perintah:

aws sqs purge-queue --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue

Output:

None.
  • Untuk API detailnya, lihat PurgeQueuedi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanreceive-message.

AWS CLI

Untuk menerima pesan

Contoh ini menerima hingga 10 pesan yang tersedia, mengembalikan semua atribut yang tersedia.

Perintah:

aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --attribute-names All --message-attribute-names All --max-number-of-messages 10

Output:

{ "Messages": [ { "Body": "My first message.", "ReceiptHandle": "AQEBzbVv...fqNzFw==", "MD5OfBody": "1000f835...a35411fa", "MD5OfMessageAttributes": "9424c491...26bc3ae7", "MessageId": "d6790f8d-d575-4f01-bc51-40122EXAMPLE", "Attributes": { "ApproximateFirstReceiveTimestamp": "1442428276921", "SenderId": "AIDAIAZKMSNQ7TEXAMPLE", "ApproximateReceiveCount": "5", "SentTimestamp": "1442428276921" }, "MessageAttributes": { "PostalCode": { "DataType": "String", "StringValue": "ABC123" }, "City": { "DataType": "String", "StringValue": "Any City" } } } ] }

Contoh ini menerima pesan berikutnya yang tersedia, hanya mengembalikan SentTimestamp atribut SenderId dan serta atribut PostalCode pesan.

Perintah:

aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --attribute-names SenderId SentTimestamp --message-attribute-names PostalCode

Output:

{ "Messages": [ { "Body": "My first message.", "ReceiptHandle": "AQEB6nR4...HzlvZQ==", "MD5OfBody": "1000f835...a35411fa", "MD5OfMessageAttributes": "b8e89563...e088e74f", "MessageId": "d6790f8d-d575-4f01-bc51-40122EXAMPLE", "Attributes": { "SenderId": "AIDAIAZKMSNQ7TEXAMPLE", "SentTimestamp": "1442428276921" }, "MessageAttributes": { "PostalCode": { "DataType": "String", "StringValue": "ABC123" } } } ] }
  • Untuk API detailnya, lihat ReceiveMessagedi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanremove-permission.

AWS CLI

Untuk menghapus izin

Contoh ini menghapus izin dengan label yang ditentukan dari antrian yang ditentukan.

Perintah:

aws sqs remove-permission --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --label SendMessagesFromMyQueue

Output:

None.

Contoh kode berikut menunjukkan cara menggunakansend-message-batch.

AWS CLI

Untuk mengirim beberapa pesan sebagai batch

Contoh ini mengirimkan 2 pesan dengan badan pesan tertentu, periode tunda, dan atribut pesan, ke antrian yang ditentukan.

Perintah:

aws sqs send-message-batch --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --entries file://send-message-batch.json

Berkas masukan (send-message-batch.json):

[ { "Id": "FuelReport-0001-2015-09-16T140731Z", "MessageBody": "Fuel report for account 0001 on 2015-09-16 at 02:07:31 PM.", "DelaySeconds": 10, "MessageAttributes": { "SellerName": { "DataType": "String", "StringValue": "Example Store" }, "City": { "DataType": "String", "StringValue": "Any City" }, "Region": { "DataType": "String", "StringValue": "WA" }, "PostalCode": { "DataType": "String", "StringValue": "99065" }, "PricePerGallon": { "DataType": "Number", "StringValue": "1.99" } } }, { "Id": "FuelReport-0002-2015-09-16T140930Z", "MessageBody": "Fuel report for account 0002 on 2015-09-16 at 02:09:30 PM.", "DelaySeconds": 10, "MessageAttributes": { "SellerName": { "DataType": "String", "StringValue": "Example Fuels" }, "City": { "DataType": "String", "StringValue": "North Town" }, "Region": { "DataType": "String", "StringValue": "WA" }, "PostalCode": { "DataType": "String", "StringValue": "99123" }, "PricePerGallon": { "DataType": "Number", "StringValue": "1.87" } } } ]

Output:

{ "Successful": [ { "MD5OfMessageBody": "203c4a38...7943237e", "MD5OfMessageAttributes": "10809b55...baf283ef", "Id": "FuelReport-0001-2015-09-16T140731Z", "MessageId": "d175070c-d6b8-4101-861d-adeb3EXAMPLE" }, { "MD5OfMessageBody": "2cf0159a...c1980595", "MD5OfMessageAttributes": "55623928...ae354a25", "Id": "FuelReport-0002-2015-09-16T140930Z", "MessageId": "f9b7d55d-0570-413e-b9c5-a9264EXAMPLE" } ] }

Contoh kode berikut menunjukkan cara menggunakansend-message.

AWS CLI

Untuk mengirim pesan

Contoh ini mengirimkan pesan dengan isi pesan tertentu, periode tunda, dan atribut pesan, ke antrian yang ditentukan.

Perintah:

aws sqs send-message --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --message-body "Information about the largest city in Any Region." --delay-seconds 10 --message-attributes file://send-message.json

File masukan (kirim-message.json):

{ "City": { "DataType": "String", "StringValue": "Any City" }, "Greeting": { "DataType": "Binary", "BinaryValue": "Hello, World!" }, "Population": { "DataType": "Number", "StringValue": "1250800" } }

Output:

{ "MD5OfMessageBody": "51b0a325...39163aa0", "MD5OfMessageAttributes": "00484c68...59e48f06", "MessageId": "da68f62c-0c07-4bee-bf5f-7e856EXAMPLE" }
  • Untuk API detailnya, lihat SendMessagedi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanset-queue-attributes.

AWS CLI

Untuk mengatur atribut antrian

Contoh ini menetapkan antrian yang ditentukan ke penundaan pengiriman 10 detik, ukuran pesan maksimum 128 KB (128 KB* 1.024 byte), periode penyimpanan pesan 3 hari (3 hari * 24 jam * 60 menit * 60 detik), waktu tunggu pesan terima 20 detik, dan batas waktu visibilitas default 60 detik. Contoh ini juga mengaitkan antrian surat mati yang ditentukan dengan jumlah penerimaan maksimum 1.000 pesan.

Perintah:

aws sqs set-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue --attributes file://set-queue-attributes.json

Berkas masukan (set-queue-attributes.json):

{ "DelaySeconds": "10", "MaximumMessageSize": "131072", "MessageRetentionPeriod": "259200", "ReceiveMessageWaitTimeSeconds": "20", "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":\"1000\"}", "VisibilityTimeout": "60" }

Output:

None.

Contoh kode berikut menunjukkan cara menggunakanstart-message-move-task.

AWS CLI

Contoh 1: *Untuk memulai tugas pemindahan pesan*

start-message-move-taskContoh berikut memulai tugas pemindahan pesan untuk menggerakkan ulang pesan dari antrian huruf mati yang ditentukan ke antrian sumber.

aws sqs start-message-move-task \ --source-arn arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue

Output:

{ "TaskHandle": "AQEB6nR4...HzlvZQ==" }

Untuk informasi selengkapnya, lihat Ini adalah judul topik di Nama panduan Anda.

Contoh 2: *Untuk memulai tugas pemindahan pesan dengan tingkat maksimum*

start-message-move-taskContoh berikut memulai tugas pemindahan pesan untuk menggerakkan ulang pesan dari antrian huruf mati yang ditentukan ke antrian tujuan yang ditentukan dengan kecepatan maksimum 50 pesan per detik.

aws sqs start-message-move-task \ --source-arn arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue1 \ --destination-arn arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue2 \ --max-number-of-messages-per-second 50

Output:

{ "TaskHandle": "AQEB6nR4...HzlvZQ==" }

Untuk informasi selengkapnya, lihat SQSAPIIzin Amazon: Tindakan dan referensi sumber daya di Panduan Pengembang.

Contoh kode berikut menunjukkan cara menggunakantag-queue.

AWS CLI

Untuk menambahkan tag alokasi biaya ke antrian

tag-queueContoh berikut menambahkan tag alokasi biaya ke SQS antrian Amazon yang ditentukan.

aws sqs tag-queue \ --queue-url https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue \ --tags Priority=Highest

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Menambahkan Tag Alokasi Biaya di Panduan Pengembang Layanan Antrian Sederhana Amazon.

  • Untuk API detailnya, lihat TagQueuedi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanuntag-queue.

AWS CLI

Untuk menghapus tag alokasi biaya dari antrian

untag-queueContoh berikut menghapus tag alokasi biaya dari SQS antrian Amazon yang ditentukan.

aws sqs untag-queue \ --queue-url https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue \ --tag-keys "Priority"

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Menambahkan Tag Alokasi Biaya di Panduan Pengembang Layanan Antrian Sederhana Amazon.

  • Untuk API detailnya, lihat UntagQueuedi Referensi AWS CLI Perintah.