本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SQS
使用 SQS (sqs) 動作,將資料從 MQTT 訊息傳送至 Amazon Simple Queue Service (Amazon SQS)佇列。
注意
SQS 動作不支援 Amazon SQS FIFO (先進先出) 佇列。因為規則引擎是一項完全分配式的服務,因此在觸發 SQS 動作時無法保證訊息順序。
要求
此規則動作具有下列需求:
-
AWS IoT可以擔任以執行
sqs:SendMessage操作的 IAM 角色。如需詳細資訊,請參閱授予AWS IoT規則所需的存取權。在 AWS IoT主控台中,您可以選擇或建立角色,AWS IoT以允許 執行此規則動作。
-
如果您使用 受管AWS KMS客戶AWS KMS key來加密 Amazon SQS 中的靜態資料,則服務必須具有代表發起人使用 AWS KMS key的許可。如需詳細資訊,請參閱《Amazon Simple Queue Service 開發人員指南》中的金鑰管理。
Parameters
當您使用此動作建立 AWS IoT規則時,您必須指定下列資訊:
範例
下列 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" } } ] } }
另請參閱
-
《Amazon Simple Queue Service 開發人員指南》中的什麼是 Amazon Simple Queue Service?