SQS - AWS IoT Core

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" } } ] } }

以下の資料も参照してください。