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 資料串流。

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

partitionKey

分割區索引鍵用來決定資料要寫入哪個碎片。分割區索引鍵通常是由表達式 (如 ${topic()}${timestamp()}) 組成。

支援替代範本:是

roleArn

IAM 角色的 ARN, AWS IoT 可授與存取 Kinesis 資料串流的權限。如需詳細資訊,請參閱 要求

支援替代範本:否

範例

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

另請參閱