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

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

Firehose

Firehose (firehose) 操作可将 MQTT 消息中的数据发送至 Amazon Data Firehose 流。

要求

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

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

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

  • 如果您使用 Firehose 将数据发送到亚马逊 S3 存储桶,并且您使用托管Amazon KMSAmazon KMS key客户加密亚马逊 S3 中的静态数据,则 Firehose 必须有权访问您的存储桶,并有权Amazon KMS key代表调用者使用这些存储桶。有关更多信息,请参阅《Amazon Data Firehose 开发人员指南》中的 Grant Firehose access to an Amazon S3 destination

Parameters

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

batchMode

(可选)通过使用 PutRecordBatch 批量交付 Firehose 流。默认值为 false

batchModetrue 且规则的 SQL 语句求值为一个数组时,每个数组元素在 PutRecordBatch 请求中形成一条记录。生成的数组,其记录不得超过 500 条。

支持替换模板:否

deliveryStreamName

消息数据写入的 Firehose 流。

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

separator

(可选)将用于分隔写入 Firehose 流的记录的分隔符。如果省略此参数,则流不使用分隔符。有效值:,(逗号),\t(选项卡),\n(换行符),\r\n(窗口换行符)。

支持替换模板:否

roleArn

授予对 Firehose 流的访问权限的 IAM 角色。有关更多信息,请参阅 要求

支持替换模板:否

示例

以下 JSON 示例在规则中定义了 Fireh Amazon IoT ose 操作。

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "firehose": { "deliveryStreamName": "my_firehose_stream", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_firehose" } } ] } }

以下 JSON 示例使用规则中的替换模板定义了 Firehose Amazon IoT 操作。

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "firehose": { "deliveryStreamName": "${topic()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_firehose" } } ] } }

另请参阅