翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用した Amazon SQS の例 AWS CLI
次のコード例は、Amazon AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示していますSQS。
アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。
各例には、完全なソースコードへのリンクが含まれています。ここでは、コンテキストでコードを設定および実行する方法の手順を確認できます。
トピック
アクション
次の例は、add-permission
を使用する方法を説明しています。
- AWS CLI
-
キューにアクセス許可を追加するには
この例では、指定された AWS アカウントが指定されたキューにメッセージを送信できるようにします。
コマンド:
aws sqs add-permission --queue-url
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
--labelSendMessagesFromMyQueue
--aws-account-ids12345EXAMPLE
--actionsSendMessage
出力:
None.
-
API 詳細については、AWS CLI 「 コマンドリファレンスAddPermission
」の「」を参照してください。
-
次の例は、cancel-message-move-task
を使用する方法を説明しています。
- AWS CLI
-
メッセージ移動タスクをキャンセルするには
次の
cancel-message-move-task
例では、指定されたメッセージ移動タスクをキャンセルします。aws sqs cancel-message-move-task \ --task-handle
AQEB6nR4...HzlvZQ==
出力:
{ "ApproximateNumberOfMessagesMoved": 102 }
詳細については、「 デベロッパーガイド」の「Amazon アクセスSQSAPI許可: アクションとリソースリファレンス」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスCancelMessageMoveTask
」の「」を参照してください。
-
次の例は、change-message-visibility-batch
を使用する方法を説明しています。
- AWS CLI
-
複数のメッセージのタイムアウトビジビリティをバッチとして変更するには
この例では、2 つの指定されたメッセージのタイムアウトの可視性を 10 時間 (10 時間 x 60 分 x 60 秒) に変更します。
コマンド:
aws sqs change-message-visibility-batch --queue-url
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
--entriesfile://change-message-visibility-batch.json
入力ファイル (change-message-visibility-batch.json):
[ { "Id": "FirstMessage", "ReceiptHandle": "AQEBhz2q...Jf3kaw==", "VisibilityTimeout": 36000 }, { "Id": "SecondMessage", "ReceiptHandle": "AQEBkTUH...HifSnw==", "VisibilityTimeout": 36000 } ]
出力:
{ "Successful": [ { "Id": "SecondMessage" }, { "Id": "FirstMessage" } ] }
-
API 詳細については、AWS CLI 「 コマンドリファレンスChangeMessageVisibilityBatch
」の「」を参照してください。
-
次のコード例は、change-message-visibility
を使用する方法を示しています。
- AWS CLI
-
メッセージのタイムアウトの可視性を変更するには
この例は、指定されたメッセージのタイムアウトの可視性を 10 時間 (10 時間 × 60 分 × 60 秒) に変更します。
コマンド:
aws sqs change-message-visibility --queue-url
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
--receipt-handleAQEBTpyI...t6HyQg==
--visibility-timeout36000
出力:
None.
-
API 詳細については、AWS CLI 「 コマンドリファレンスChangeMessageVisibility
」の「」を参照してください。
-
次のコード例は、create-queue
を使用する方法を示しています。
- AWS CLI
-
キューを作成するには
この例は、指定された名前のキューを作成して、メッセージの保持期間を 3 日間 (3 日 × 24 時間 × 60 分 × 60 秒) に設定します。またキューのデッドレターキューを、最大受信数 1,000 件のメッセージを含む指定されたキューに設定します。
コマンド:
aws sqs create-queue --queue-name
MyQueue
--attributesfile://create-queue.json
入力ファイル (create-queue.json):
{ "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":\"1000\"}", "MessageRetentionPeriod": "259200" }
出力:
{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }
-
API 詳細については、AWS CLI 「 コマンドリファレンスCreateQueue
」の「」を参照してください。
-
次の例は、delete-message-batch
を使用する方法を説明しています。
- AWS CLI
-
複数のメッセージを一括削除するには
この例は、指定されたメッセージを削除します。
コマンド:
aws sqs delete-message-batch --queue-url
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
--entriesfile://delete-message-batch.json
入力ファイル (delete-message-batch.json):
[ { "Id": "FirstMessage", "ReceiptHandle": "AQEB1mgl...Z4GuLw==" }, { "Id": "SecondMessage", "ReceiptHandle": "AQEBLsYM...VQubAA==" } ]
出力:
{ "Successful": [ { "Id": "FirstMessage" }, { "Id": "SecondMessage" } ] }
-
API 詳細については、AWS CLI 「 コマンドリファレンスDeleteMessageBatch
」の「」を参照してください。
-
次のコード例は、delete-message
を使用する方法を示しています。
- AWS CLI
-
単一のメッセージを削除するには
この例は、指定された単一のメッセージを削除します。
コマンド:
aws sqs delete-message --queue-url
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
--receipt-handleAQEBRXTo...q2doVA==
出力:
None.
-
API 詳細については、AWS CLI 「 コマンドリファレンスDeleteMessage
」の「」を参照してください。
-
次のコード例は、delete-queue
を使用する方法を示しています。
- AWS CLI
-
キューを削除するには
この例は、指定されたキューを削除します。
コマンド:
aws sqs delete-queue --queue-url
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewerQueue
出力:
None.
-
API 詳細については、AWS CLI 「 コマンドリファレンスDeleteQueue
」の「」を参照してください。
-
次のコード例は、get-queue-attributes
を使用する方法を示しています。
- AWS CLI
-
キューの属性を取得するには
この例では、指定されたキューの属性をすべて取得します。
コマンド:
aws sqs get-queue-attributes --queue-url
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
--attribute-namesAll
出力:
{ "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" } }
この例は、指定されたキューの最大メッセージサイズと可視性タイムアウト属性のみを取得します。
コマンド:
aws sqs get-queue-attributes --queue-url
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue
--attribute-namesMaximumMessageSize
VisibilityTimeout
出力:
{ "Attributes": { "VisibilityTimeout": "30", "MaximumMessageSize": "262144" } }
-
API 詳細については、AWS CLI 「 コマンドリファレンスGetQueueAttributes
」の「」を参照してください。
-
次のコード例は、get-queue-url
を使用する方法を示しています。
- AWS CLI
-
キューを取得するには URL
この例では、指定されたキューの を取得しますURL。
コマンド:
aws sqs get-queue-url --queue-name
MyQueue
出力:
{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }
-
API 詳細については、AWS CLI 「 コマンドリファレンスGetQueueUrl
」の「」を参照してください。
-
次の例は、list-dead-letter-source-queues
を使用する方法を説明しています。
- AWS CLI
-
デッドレターソースキューを一覧表示するには
この例では、指定されたデッドレターソースキューに関連付けられているキューを一覧表示します。
コマンド:
aws sqs list-dead-letter-source-queues --queue-url
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue
出力:
{ "queueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue" ] }
-
API 詳細については、AWS CLI 「 コマンドリファレンスListDeadLetterSourceQueues
」の「」を参照してください。
-
次の例は、list-message-move-tasks
を使用する方法を説明しています。
- AWS CLI
-
メッセージ移動タスクを一覧表示するには
次の
list-message-move-tasks
例では、指定されたキュー内の最新のメッセージ移動タスクを 2 つ一覧表示します。aws sqs list-message-move-tasks \ --source-arn
arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue
\ --max-results2
出力:
{ "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 } ] }
詳細については、「 デベロッパーガイド」の「Amazon アクセスSQSAPI許可: アクションとリソースリファレンス」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスListMessageMoveTasks
」の「」を参照してください。
-
次のコード例は、list-queue-tags
を使用する方法を示しています。
- AWS CLI
-
キューのすべてのコスト配分タグを一覧表示するには
次の
list-queue-tags
例では、指定されたキューに関連付けられているすべてのコスト配分タグを表示します。aws sqs list-queue-tags \ --queue-url
https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue
出力:
{ "Tags": { "Team": "Alpha" } }
詳細については、「Amazon Simple Queue Service デベロッパーガイド」の「コスト配分タグの一覧表示」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスListQueueTags
」の「」を参照してください。
-
次のコード例は、list-queues
を使用する方法を示しています。
- AWS CLI
-
キューを一覧表示するには
この例は、すべてのキューを一覧表示します。
コマンド:
aws sqs list-queues
出力:
{ "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" ] }
この例は、「My」で始まるキューのみを一覧表示します。
コマンド:
aws sqs list-queues --queue-name-prefix
My
出力:
{ "QueueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue" ] }
-
API 詳細については、AWS CLI 「 コマンドリファレンスListQueues
」の「」を参照してください。
-
次のコード例は、purge-queue
を使用する方法を示しています。
- AWS CLI
-
キューを消去するには
この例では、指定されたキュー内のすべてのメッセージを削除します。
コマンド:
aws sqs purge-queue --queue-url
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue
出力:
None.
-
API 詳細については、AWS CLI 「 コマンドリファレンスPurgeQueue
」の「」を参照してください。
-
次のコード例は、receive-message
を使用する方法を示しています。
- AWS CLI
-
メッセージを受信するには
この例は、最大 10 件のメッセージを受信し、使用可能なすべての属性を返します。
コマンド:
aws sqs receive-message --queue-url
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
--attribute-namesAll
--message-attribute-namesAll
--max-number-of-messages10
出力:
{ "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" } } } ] }
この例では、次に使用可能なメッセージを受信し、 SenderId および SentTimestamp 属性と PostalCode メッセージ属性のみを返します。
コマンド:
aws sqs receive-message --queue-url
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
--attribute-namesSenderId
SentTimestamp
--message-attribute-namesPostalCode
出力:
{ "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" } } } ] }
-
API 詳細については、AWS CLI 「 コマンドリファレンスReceiveMessage
」の「」を参照してください。
-
次のコード例は、remove-permission
を使用する方法を示しています。
- AWS CLI
-
アクセス許可を削除するには
この例では、指定されたキューから、指定されたラベルを持つ アクセス許可を削除します。
コマンド:
aws sqs remove-permission --queue-url
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
--labelSendMessagesFromMyQueue
出力:
None.
-
API 詳細については、AWS CLI 「 コマンドリファレンスRemovePermission
」の「」を参照してください。
-
次のコード例は、send-message-batch
を使用する方法を示しています。
- AWS CLI
-
複数のメッセージを一括送信するには
この例は、メッセージ本文、遅延期間、およびメッセージ属性を指定した 2 つのメッセージを指定されたキューに送信します。
コマンド:
aws sqs send-message-batch --queue-url
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
--entriesfile://send-message-batch.json
入力ファイル (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" } } } ]
出力:
{ "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" } ] }
-
API 詳細については、AWS CLI 「 コマンドリファレンスSendMessageBatch
」の「」を参照してください。
-
次の例は、send-message
を使用する方法を説明しています。
- AWS CLI
-
単一のメッセージを送信するには
この例は、指定された単一のメッセージ本文、遅延期間、メッセージ属性を含むメッセージを指定されたキューに送信します。
コマンド:
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-seconds10
--message-attributesfile://send-message.json
入力ファイル (send-message.json):
{ "City": { "DataType": "String", "StringValue": "Any City" }, "Greeting": { "DataType": "Binary", "BinaryValue": "Hello, World!" }, "Population": { "DataType": "Number", "StringValue": "1250800" } }
出力:
{ "MD5OfMessageBody": "51b0a325...39163aa0", "MD5OfMessageAttributes": "00484c68...59e48f06", "MessageId": "da68f62c-0c07-4bee-bf5f-7e856EXAMPLE" }
-
API 詳細については、AWS CLI 「 コマンドリファレンスSendMessage
」の「」を参照してください。
-
次の例は、set-queue-attributes
を使用する方法を説明しています。
- AWS CLI
-
キューの属性を設定するには
この例は、指定されたキューの配信遅延時間を 10 秒、最大メッセージサイズを 128 KB (128 KB × 1,024 バイト)、メッセージ保持期間を 3 日間 (3 日 × 24 時間 × 60 分 × 60 秒)、受信メッセージ待機時間を 20 秒、デフォルトの可視性タイムアウトを 60 秒に設定します。また、この例では、指定されたデッドレターキューの最大受信数を 1,000 メッセージと関連付けます。
コマンド:
aws sqs set-queue-attributes --queue-url
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue
--attributesfile://set-queue-attributes.json
入力ファイル (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" }
出力:
None.
-
API 詳細については、AWS CLI 「 コマンドリファレンスSetQueueAttributes
」の「」を参照してください。
-
次のコード例は、start-message-move-task
を使用する方法を示しています。
- AWS CLI
-
例 1: *メッセージ移動タスクを開始するには*
次の
start-message-move-task
例では、メッセージ移動タスクを開始して、指定されたデッドレターキューからソースキューにメッセージをリドライブします。aws sqs start-message-move-task \ --source-arn
arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue
出力:
{ "TaskHandle": "AQEB6nR4...HzlvZQ==" }
詳細については、「 ガイドの名前」の「これはトピック
タイトルです」を参照してください。 例 2: *最大レートでメッセージ移動タスクを開始するには*
次の
start-message-move-task
例では、メッセージ移動タスクを開始して、指定されたデッドレターキューから指定された送信先キューに最大 1 秒あたり 50 件のメッセージでメッセージをリドライブします。aws sqs start-message-move-task \ --source-arn
arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue1
\ --destination-arnarn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue2
\ --max-number-of-messages-per-second50
出力:
{ "TaskHandle": "AQEB6nR4...HzlvZQ==" }
詳細については、「 デベロッパーガイド」の「Amazon アクセスSQSAPI許可: アクションとリソースリファレンス」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスStartMessageMoveTask
」の「」を参照してください。
-
次の例は、tag-queue
を使用する方法を説明しています。
- AWS CLI
-
コスト配分タグをキューに追加するには
次の
tag-queue
例では、指定された Amazon SQSキューにコスト配分タグを追加します。aws sqs tag-queue \ --queue-url
https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue
\ --tagsPriority=Highest
このコマンドでは何も出力されません。
詳細については、「Amazon Simple Queue Service デベロッパーガイド」の「コスト配分タグの追加」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスTagQueue
」の「」を参照してください。
-
次の例は、untag-queue
を使用する方法を説明しています。
- AWS CLI
-
キューからコスト配分タグを削除するには
次の
untag-queue
例では、指定された Amazon SQSキューからコスト配分タグを削除します。aws sqs untag-queue \ --queue-url
https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue
\ --tag-keys"Priority"
このコマンドでは何も出力されません。
詳細については、「Amazon Simple Queue Service デベロッパーガイド」の「コスト配分タグの追加」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスUntagQueue
」の「」を参照してください。
-