View a markdown version of this page

Contoh Amazon SQS menggunakan AWS CLI - AWS Command Line Interface

Dokumentasi ini AWS CLI hanya untuk Versi 1.

Kami mengumumkan akhir dukungan yang akan datang untuk AWS CLI versi 1. Kami menyarankan Anda bermigrasi ke AWS CLI versi 2. Untuk tanggal, detail tambahan, dan informasi tentang cara bermigrasi, lihat pengumuman. Untuk dokumentasi yang terkait dengan Versi 2 AWS CLI, lihat Panduan Pengguna Versi 2.

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

Contoh Amazon SQS menggunakan AWS CLI

Contoh kode berikut menunjukkan cara melakukan tindakan dan menerapkan skenario umum dengan menggunakan AWS Command Line Interface dengan Amazon SQS.

Tindakan merupakan 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.

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 Izin Amazon SQS API: Tindakan dan referensi sumber daya di Panduan Peng embang.

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 menetapkan antrian huruf 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

Berkas masukan (create-queue.json):

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

Output:

{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }
  • Untuk detail API, lihat CreateQueue di Refer AWS CLI ensi 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 (hapus pesan-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.

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 detail API, lihat DeleteQueue di Refer AWS CLI ensi 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 URL antrian

Contoh ini mendapatkan URL antrian yang ditentukan.

Perintah:

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

Output:

{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }
  • Untuk detail API, lihat GetQueueUrl di Refer AWS CLI ensi Perintah.

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

AWS CLI

Untuk membuat daftar antrian sumber huruf 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 pindahkan 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 Izin Amazon SQS API: Tindakan dan referensi sumber daya di Panduan Peng embang.

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.

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 detail API, lihat ListQueues di Refer AWS CLI ensi 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 detail API, lihat PurgeQueue di Refer AWS CLI ensi 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 yang tersedia berikutnya, 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" } } } ] }

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 yang ditentukan, periode penundaan, 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 badan pesan yang ditentukan, periode penundaan, 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

Berkas masukan (send-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 detail API, lihat SendMessage di Refer AWS CLI ensi 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 huruf 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 pindahkan 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 memindahkan pesan dengan kecepatan 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 Izin Amazon SQS API: Tindakan dan referensi sumber daya di Panduan Peng embang.

Contoh kode berikut menunjukkan cara menggunakantag-queue.

AWS CLI

Untuk menambahkan tag alokasi biaya ke antrian

tag-queueContoh berikut menambahkan tag alokasi biaya ke antrian Amazon SQS 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 detail API, lihat TagQueue di Refer AWS CLI ensi 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 antrian Amazon SQS 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 detail API, lihat UntagQueue di Refer AWS CLI ensi Perintah.