

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 的 Amazon SQS 範例 AWS CLI
<a name="cli_sqs_code_examples"></a>

下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 Amazon SQS 執行動作和實作常見案例。

*Actions* 是大型程式的程式碼摘錄，必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數，但您可以在其相關情境中查看內容中的動作。

每個範例均包含完整原始碼的連結，您可在連結中找到如何設定和執行內容中程式碼的相關指示。

**Topics**
+ [動作](#actions)

## 動作
<a name="actions"></a>

### `add-permission`
<a name="sqs_AddPermission_cli_topic"></a>

以下程式碼範例顯示如何使用 `add-permission`。

**AWS CLI**  
**新增許可到佇列**  
此範例可讓指定的 AWS 帳戶傳送訊息至指定的佇列。  
命令：  

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

```
None.
```
+  如需 API 詳細資訊，請參閱《*AWS CLI 命令參考*》中的 [AddPermission](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/add-permission.html)。

### `cancel-message-move-task`
<a name="sqs_CancelMessageMoveTask_cli_topic"></a>

以下程式碼範例顯示如何使用 `cancel-message-move-task`。

**AWS CLI**  
**取消訊息移動任務**  
下列 `cancel-message-move-task` 範例會取消指定的訊息移動任務。  

```
aws sqs cancel-message-move-task \
    --task-handle AQEB6nR4...HzlvZQ==
```
輸出：  

```
{
    "ApproximateNumberOfMessagesMoved": 102
}
```
如需詳細資訊，請參閱《開發人員指南》**中的 [Amazon SQS API 許可：動作和資源參考](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-api-permissions-reference.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [CancelMessageMoveTask](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/cancel-message-move-task.html)。

### `change-message-visibility-batch`
<a name="sqs_ChangeMessageVisibilityBatch_cli_topic"></a>

以下程式碼範例顯示如何使用 `change-message-visibility-batch`。

**AWS CLI**  
**批次變更多則訊息的逾時可見性**  
此範例會將 2 個指定訊息的逾時可見性變更為 10 小時 (10 小時 \$1 60 分鐘 \$1 60 秒)。  
命令：  

```
aws sqs change-message-visibility-batch --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --entries file://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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/change-message-visibility-batch.html)。

### `change-message-visibility`
<a name="sqs_ChangeMessageVisibility_cli_topic"></a>

以下程式碼範例顯示如何使用 `change-message-visibility`。

**AWS CLI**  
**變更訊息的逾時可見性**  
此範例會將指定訊息的逾時可見性變更為 10 小時 (10 小時 \$1 60 分鐘 \$1 60 秒)。  
命令：  

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

```
None.
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [ChangeMessageVisibility](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/change-message-visibility.html)。

### `create-queue`
<a name="sqs_CreateQueue_cli_topic"></a>

以下程式碼範例顯示如何使用 `create-queue`。

**AWS CLI**  
**建立佇列**  
此範例會建立具有指定名稱的佇列，將訊息保留期間設定為 3 天 (3 天 \$1 24 小時 \$1 60 分鐘 \$1 60 秒)，並將佇列的無效字母佇列設定為訊息接收計數上限為 1,000 則的指定佇列。  
命令：  

```
aws sqs create-queue --queue-name MyQueue --attributes file://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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/create-queue.html)。

### `delete-message-batch`
<a name="sqs_DeleteMessageBatch_cli_topic"></a>

以下程式碼範例顯示如何使用 `delete-message-batch`。

**AWS CLI**  
**批次刪除多則訊息**  
此範例會刪除指定的訊息。  
命令：  

```
aws sqs delete-message-batch --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --entries file://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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/delete-message-batch.html)。

### `delete-message`
<a name="sqs_DeleteMessage_cli_topic"></a>

以下程式碼範例顯示如何使用 `delete-message`。

**AWS CLI**  
**刪除訊息**  
此範例會刪除指定的訊息。  
命令：  

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

```
None.
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [DeleteMessage](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/delete-message.html)。

### `delete-queue`
<a name="sqs_DeleteQueue_cli_topic"></a>

以下程式碼範例顯示如何使用 `delete-queue`。

**AWS CLI**  
**刪除佇列**  
此範例會刪除指定的佇列。  
命令：  

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

```
None.
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [DeleteQueue](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/delete-queue.html)。

### `get-queue-attributes`
<a name="sqs_GetQueueAttributes_cli_topic"></a>

以下程式碼範例顯示如何使用 `get-queue-attributes`。

**AWS CLI**  
**取得佇列的屬性**  
此範例會取得所有指定佇列的屬性。  
命令：  

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

```
{
  "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-names MaximumMessageSize VisibilityTimeout
```
輸出：  

```
{
  "Attributes": {
    "VisibilityTimeout": "30",
    "MaximumMessageSize": "262144"
  }
}
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [GetQueueAttributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/get-queue-attributes.html)。

### `get-queue-url`
<a name="sqs_GetQueueUrl_cli_topic"></a>

以下程式碼範例顯示如何使用 `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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/get-queue-url.html)。

### `list-dead-letter-source-queues`
<a name="sqs_ListDeadLetterSourceQueues_cli_topic"></a>

以下程式碼範例顯示如何使用 `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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/list-dead-letter-source-queues.html)。

### `list-message-move-tasks`
<a name="sqs_ListMessageMoveTasks_cli_topic"></a>

以下程式碼範例顯示如何使用 `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-results 2
```
輸出：  

```
{
    "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 SQS API 許可：動作和資源參考](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-api-permissions-reference.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [ListMessageMoveTasks](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/list-message-move-tasks.html)。

### `list-queue-tags`
<a name="sqs_ListQueueTags_cli_topic"></a>

以下程式碼範例顯示如何使用 `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 開發人員指南》**中的[列出成本分配標籤](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-tags.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [ListQueueTags](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/list-queue-tags.html)。

### `list-queues`
<a name="sqs_ListQueues_cli_topic"></a>

以下程式碼範例顯示如何使用 `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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/list-queues.html)。

### `purge-queue`
<a name="sqs_PurgeQueue_cli_topic"></a>

以下程式碼範例顯示如何使用 `purge-queue`。

**AWS CLI**  
**清除佇列**  
此範例會刪除指定佇列中的所有訊息。  
命令：  

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

```
None.
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [PurgeQueue](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/purge-queue.html)。

### `receive-message`
<a name="sqs_ReceiveMessage_cli_topic"></a>

以下程式碼範例顯示如何使用 `receive-message`。

**AWS CLI**  
**接收訊息**  
此範例最多可接收 10 則可用的訊息，並傳回所有可用的屬性。  
命令：  

```
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
```
輸出：  

```
{
  "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-names SenderId SentTimestamp --message-attribute-names PostalCode
```
輸出：  

```
{
  "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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/receive-message.html)。

### `remove-permission`
<a name="sqs_RemovePermission_cli_topic"></a>

以下程式碼範例顯示如何使用 `remove-permission`。

**AWS CLI**  
**移除許可**  
此範例會從指定佇列中移除具有指定標籤的許可。  
命令：  

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

```
None.
```
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》中的 [RemovePermission](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/remove-permission.html)。**

### `send-message-batch`
<a name="sqs_SendMessageBatch_cli_topic"></a>

以下程式碼範例顯示如何使用 `send-message-batch`。

**AWS CLI**  
**批次傳送多則訊息**  
此範例會將具有指定訊息內文、延遲期間和訊息屬性的 2 則訊息傳送至指定的佇列。  
命令：  

```
aws sqs send-message-batch --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --entries file://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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/send-message-batch.html)。

### `send-message`
<a name="sqs_SendMessage_cli_topic"></a>

以下程式碼範例顯示如何使用 `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-seconds 10 --message-attributes file://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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/send-message.html)。

### `set-queue-attributes`
<a name="sqs_SetQueueAttributes_cli_topic"></a>

以下程式碼範例顯示如何使用 `set-queue-attributes`。

**AWS CLI**  
**設定佇列屬性**  
此範例會將指定的佇列設定成交付延遲為 10 秒、訊息大小上限為 128 KB (128 KB \$1 1,024 位元組)、訊息保留期間為 3 天 (3 天 \$1 24 小時 \$1 60 分鐘 \$1 60 秒)、接收訊息等待時間為 20 秒，以及預設可見性逾時為 60 秒。此範例也會將指定的無效字母佇列與 1,000 則訊息的接收計數上限建立關聯。  
命令：  

```
aws sqs set-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue --attributes file://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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/set-queue-attributes.html)。

### `start-message-move-task`
<a name="sqs_StartMessageMoveTask_cli_topic"></a>

以下程式碼範例顯示如何使用 `start-message-move-task`。

**AWS CLI**  
*範例 1：\$1啟動訊息移動任務\$1*  
下列 `start-message-move-task` 範例會啟動訊息移動任務，將訊息從指定的無效字母佇列重新驅動到來源佇列。  

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

```
{
    "TaskHandle": "AQEB6nR4...HzlvZQ=="
}
```
如需詳細資訊，請參閱《指南名稱》**中的[這是主題標題](https://link.to.the/topic/page)。  
*範例 2：\$1以最高速率啟動訊息移動任務\$1*  
下列 `start-message-move-task` 範例會啟動訊息移動任務，將訊息從指定的無效字母佇列重新驅動到指定的目的地佇列，速率上限為每秒 50 則訊息。  

```
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
```
輸出：  

```
{
    "TaskHandle": "AQEB6nR4...HzlvZQ=="
}
```
如需詳細資訊，請參閱《開發人員指南》**中的 [Amazon SQS API 許可：動作和資源參考](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-api-permissions-reference.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [StartMessageMoveTask](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/start-message-move-task.html)。

### `tag-queue`
<a name="sqs_TagQueue_cli_topic"></a>

以下程式碼範例顯示如何使用 `tag-queue`。

**AWS CLI**  
**將成本分配標籤新增至佇列**  
下列 `tag-queue` 範例會將成本分配標籤新增至指定的 Amazon SQS 佇列。  

```
aws sqs tag-queue \
    --queue-url https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue \
    --tags Priority=Highest
```
此命令不會產生輸出。  
如需詳細資訊，請參閱《Amazon Simple Queue Service 開發人員指南》**中的[新增成本分配標籤](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-tags.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [TagQueue](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/tag-queue.html)。

### `untag-queue`
<a name="sqs_UntagQueue_cli_topic"></a>

以下程式碼範例顯示如何使用 `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 開發人員指南》**中的[新增成本分配標籤](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-tags.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [UntagQueue](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/untag-queue.html)。