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

授予访问 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" } } ] } }

另请参阅