SQS
SQS (sqs) アクションは、Amazon Simple Queue Service (Amazon SQS) キューに MQTT メッセージのデータを送信します。
注記
SQS アクションは、Amazon SQS FIFO (First-In-First-Out) キューをサポートしていません。ルールエンジンは完全に分散されたサービスであるため、SQS アクションがトリガーされたときのメッセージ順序の保証はありません。
要件
このルールアクションには、以下の要件があります。
-
sqs:SendMessageオペレーションを実行するために AWS IoT が引き受けることができる IAM ロール。詳細については、「AWS IoT ルールに必要なアクセスを付与する」を参照してください。AWS IoT コンソールで、AWS IoT がこのルールアクションを実行できるようにするロールを選択または作成できます。
-
Amazon SQS 内の保管中のデータを暗号化するために AWS KMS カスタマーマネージド AWS KMS key を使用する場合、サービスには発信者に代わって AWS KMS key を使用するための許可が必要です。詳細については、Amazon Simple Storage Service デベロッパーガイドのキー管理を参照してください。
パラメータ
このアクションで AWS IoT ルールを作成するときは、次の情報を指定する必要があります。
queueUrl-
データの書き込み先として指定する Amazon SQS キューの URL。この URL のリージョンは、AWS IoT ルールAWS リージョンと同じである必要はありません。
注記
SQS ルールアクションを使用したデータ転送クロス AWS リージョン には追加料金が発生する場合があります。詳細については、「Amazon SQSの料金
」を参照してください。 置換テンプレートのサポート: API と AWS CLI のみ
useBase64-
このパラメータを
trueに設定して、データを Amazon SQS キューに書き込む前にメッセージデータを base64 エンコードするルールアクションを設定します。デフォルトはfalseです。置換テンプレートをサポート: いいえ
roleArn-
Amazon SQS キューへのアクセスを許可する IAM ロール。詳細については、「要件」を参照してください。
置換テンプレートをサポート: いいえ
例
次の 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 とは