Kinesis Data Streams - AWS IoT Core

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

Kinesis Data Streams

Kinesis Data Streams (kinesis) 動作會將MQTT訊息中的資料寫入 Amazon Kinesis Data Streams。

要求

此規則動作具有下列需求:

  • AWS IoT 可以擔任執行kinesis:PutRecord操作IAM的角色。如需詳細資訊,請參閱授予 AWS IoT 規則所需的存取權

    在 AWS IoT 主控台中,您可以選擇或建立允許 AWS IoT 執行此規則動作的角色。

  • 如果您使用 AWS KMS 客戶受管 AWS KMS key (KMS 金鑰) 在 Kinesis Data Streams 中加密靜態資料,則服務必須具有代表來電者使用 AWS KMS key 的許可。如需詳細資訊,請參閱《Amazon Kinesis Data Streams 開發人員指南》使用使用者產生之 AWS KMS keys的許可

參數

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

stream

要寫入資料的 Kinesis 資料串流。

AWS CLI 僅支援替代範本: API和

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範例定義規則中具有替代範本的 Kinesis 動作 AWS IoT 。

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

另請參閱