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

Kinesis Data Streams

Kinesis Data Streams (kinesis) 操作将 MQTT 消息中的数据写入 Amazon Kinesis Data Streams。

Requirements

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

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

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

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

Parameters

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

stream

数据写入的 Kinesis 数据流。

支持替换模板:仅限 API 和 Amazon CLI

partitionKey

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

支持替换模板:是

roleArn

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

支持替换模板:否

Examples

以下 JSON 示例定义了 Amazon 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 示例定义了 Amazon 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" } } ] } }

另请参阅