Kinesis Data Streams
Kinesis Data Streams (kinesis
) アクションは、Amazon Kinesis Data Streams に MQTT メッセージのデータを書き込みます。
要件
このルールアクションには、以下の要件があります。
-
kinesis:PutRecord
オペレーションを実行するために AWS IoT が引き受けることができる IAM ロール。詳細については、「AWS IoT ルールに必要なアクセスを付与する」を参照してください。AWS IoT コンソールで、AWS IoT がこのルールアクションを実行できるようにするロールを選択または作成できます。
-
Kinesis Data Streams 内の保管中のデータを暗号化するために AWS KMS カスタマーマネージドAWS KMS key (KMS キー) を使用する場合、サービスには発信者に代わって AWS KMS key を使用するための許可が必要です。詳細については、[Amazon Kinesis Data Streams Developer Guide](Amazon Kinesis Data Streams デベロッパーガイド)の[AWS KMS keysPermissions to use user-generated](ユーザーが生成した アクセス許可)を参照してください。
パラメータ
このアクションで AWS IoT ルールを作成するときは、次の情報を指定する必要があります。
stream
-
データを書き込む Kinesis データストリーミング。
置換テンプレートのサポート: API と AWS CLI のみ
partitionKey
-
どのシャードにデータを書き込むかを決定するために使用されるパーティションキー。パーティションキーは通常、式 (例:
${topic()}
または${timestamp()}
) で構成されます。置換テンプレートをサポート: はい
roleArn
-
Kinesis データストリームにアクセスするための AWS IoT アクセス許可を付与する IAM ロールの ARN。詳細については、「要件」を参照してください。
置換テンプレートをサポート: いいえ
例
次の JSON 例では、AWS IoT ルールで Kinesis Data Streams アクションを定義します。
{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "kinesis": { "streamName": "my_kinesis_stream", "partitionKey": "${topic()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_kinesis" } } ] } }
次の JSON 例では、AWS IoT ルール内の置換テンプレートを使用して Kinesis アクションを定義します。
{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "kinesis": { "streamName": "${topic()}", "partitionKey": "${timestamp()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_kinesis" } } ] } }
以下の資料も参照してください。
-
Amazon Kinesis Data Streams デベロッパーガイドの Amazon Kinesis Data Streams とは