Kinesis Data Streams - AWS IoT Core

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Kinesis Data Streams

Kinesis Dat kinesis a Streams () 操作将消息中的MQTT数据写入亚马逊 Kinesis Data Streams。

要求

此规则操作具有以下要求:

  • AWS IoT 可以IAM担任执行kinesis:PutRecord操作的角色。有关更多信息,请参阅 授予 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

授予访问 Kinesis 数据流 AWS IoT 权限的IAM角色。ARN有关更多信息,请参阅 要求

支持替换模板:否

示例

以下JSON示例在规则中定义了 Kinesis Data Streams 操作 AWS IoT 。

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

另请参阅