

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

# SQS
<a name="sqs-rule-action"></a>

使用 SQS (`sqs`) 動作，將資料從 MQTT 訊息傳送至 Amazon Simple Queue Service (Amazon SQS)佇列。

**注意**  
SQS 動作不支援 [Amazon SQS FIFO (先進先出) 佇列](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html)。因為規則引擎是一項完全分配式的服務，因此在觸發 SQS 動作時無法保證訊息順序。

## 要求
<a name="sqs-rule-action-requirements"></a>

此規則動作具有下列需求：
+  AWS IoT 可以擔任以執行`sqs:SendMessage`操作的 IAM 角色。如需詳細資訊，請參閱[授予 AWS IoT 規則所需的存取權](iot-create-role.md)。

  在 AWS IoT 主控台中，您可以選擇或建立角色， AWS IoT 以允許 執行此規則動作。
+ 如果您使用受管 AWS KMS 客戶 AWS KMS key 來加密 Amazon SQS 中的靜態資料，則服務必須具有代表發起人使用 AWS KMS key 的許可。如需詳細資訊，請參閱《Amazon Simple Queue Service 開發人員指南》**中的[金鑰管理](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-key-management.html)。

## Parameters
<a name="sqs-rule-action-parameters"></a>

當您使用此動作建立 AWS IoT 規則時，您必須指定下列資訊：

`queueUrl`  
要寫入資料的 Amazon SQS 佇列 URL。此 URL 中的區域不需要與您的[AWS IoT 規則](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) AWS 區域 相同。  
 AWS 區域 使用 SQS 規則動作進行跨資料傳輸可能會產生額外費用。如需詳細資訊，請參閱 [Amazon SQS 定價](https://aws.amazon.com/sqs/pricing/)。
 AWS CLI 僅支援[替代範本](iot-substitution-templates.md)：API 和

`useBase64`  
設定此參數為 `true` 以配置規則動作，在資料寫入 Amazon SQS 佇列之前，對訊息資料進行 base64 編碼。預設為 `false`。  
支援[替代範本](iot-substitution-templates.md)：否

`roleArn`  
允許存取 Amazon SQS 佇列的 IAM 角色。如需詳細資訊，請參閱[要求](#sqs-rule-action-requirements)。  
支援[替代範本](iot-substitution-templates.md)：否

## 範例
<a name="sqs-rule-action-examples"></a>

下列 JSON 範例定義 AWS IoT 規則中的 SQS 動作。

```
{
    "topicRulePayload": {
        "sql": "SELECT * FROM 'some/topic'", 
        "ruleDisabled": false, 
        "awsIotSqlVersion": "2016-03-23",
        "actions": [
            {
                "sqs": {
                    "queueUrl": "https://sqs.us-east-2.amazonaws.com/123456789012/my_sqs_queue", 
                    "roleArn": "arn:aws:iam::123456789012:role/aws_iot_sqs"
                }
            }
        ]
    }
}
```

下列 JSON 範例使用 AWS IoT 規則中的替代範本來定義 SQS 動作。

```
{
    "topicRulePayload": {
        "sql": "SELECT * FROM 'some/topic'",
        "ruleDisabled": false,
        "awsIotSqlVersion": "2016-03-23",
        "actions": [
            {
                "sqs": {
                    "queueUrl": "https://sqs.us-east-2.amazonaws.com/123456789012/${topic()}",
                    "useBase64": true,
                    "roleArn": "arn:aws:iam::123456789012:role/aws_iot_sqs"
                }
            }
        ]
    }
}
```

## 另請參閱
<a name="sqs-rule-action-see-also"></a>
+ 《Amazon Simple Queue Service 開發人員指南》**中的[什麼是 Amazon Simple Queue Service？](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/)