Kinesis Data Streams - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Kinesis Data Streams

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

要求

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

  • Amazon IoT 可以IAM担任执行kinesis:PutRecord操作的角色。有关更多信息,请参阅 授予 Amazon IoT 规则所需的访问权限

    在 Amazon IoT 控制台中,您可以选择或创建 Amazon IoT 允许执行此规则操作的角色。

  • 如果您使用 Amazon KMS 客户管理的 Amazon KMS key (KMS密钥)对 Kinesis Data Streams 中的静态数据进行加密,则该服务必须有权代表调用方使用 Amazon KMS key 。有关更多信息,请参阅 Amazon Kinesis Data Streams 开发人员指南中的使用用户生成的 Amazon KMS keys的权限

参数

使用此操作创建 Amazon IoT 规则时,必须指定以下信息:

stream

数据写入的 Kinesis 数据流。

支持替换模板:API且 Amazon CLI 仅支持

partitionKey

用于确定将数据写入哪个分区的分区键。分区键通常由表达式(例如,${topic()}${timestamp()})组成。

支持替换模板:是

roleArn

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

支持替换模板:否

示例

以下JSON示例在规则中定义了 Kinesis Data Streams 操作 Amazon 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 操作。 Amazon 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" } } ] } }

另请参阅