Firehose - AWS IoT Core

Firehose

Firehose (firehose) アクションは、MQTT メッセージから Amazon Data Firehose ストリーミングにデータを送信します。

要件

このルールアクションには、以下の要件があります。

  • firehose:PutRecord オペレーションを実行するために AWS IoT が引き受けることができる IAM ロール。詳細については、「AWS IoT ルールに必要なアクセスを付与する」を参照してください。

    AWS IoT コンソールで、AWS IoT がこのルールアクションを実行できるようにするロールを選択または作成できます。

  • Amazon S3 バケットへのデータの送信に Firehose を使用し、Amazon S3 内の保管中のデータを暗号化するために AWS KMS (AWS KMS key) カスタマーマネージドを使用する場合、Firehose は、バケットへのアクセスと、発信者に代わって AWS KMS key を使用するためのアクセス許可を持っている必要があります。詳細については、「Amazon Firehose データファイアハウスデベロッパーガイド」の「Amazon S3 送信先に Firehose アクセスを付与する」を参照してください。

パラメータ

このアクションで AWS IoT ルールを作成するときは、次の情報を指定する必要があります。

batchMode

(オプション) PutRecordBatch を使用して、Firehose ストリーミングをバッチとして配信するかどうか。デフォルト値は false です。

batchModetrue で、ルールの SQL ステートメントが配列に評価される場合、各配列要素は PutRecordBatch リクエストで 1 つのレコードを形成します。結果の配列には 500 を超えるレコードを含めることはできません。

置換テンプレートをサポート: いいえ

deliveryStreamName

メッセージデータの書き込み先として指定する Firehose ストリーム。

置換テンプレートのサポート: API と AWS CLI のみ

separator

(オプション) Firehose ストリーミングに書き込まれたレコードを区切るために使用される文字区切り記号。このパラメータを省略すると、ストリーミングは区切り記号を使用しません。有効な値: , (カンマ)、\t (タブ)、\n (改行)、\r\n (Windows 改行)。

置換テンプレートをサポート: いいえ

roleArn

Firehose ストリーミングへのアクセスを許可する IAM ロール。詳細については、「要件」を参照してください。

置換テンプレートをサポート: いいえ

次の JSON 例では、AWS IoT ルールで Firehose アクションを定義します。

{ "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 例では、AWS IoT ルール内の置換テンプレートを使用して Firehose アクションを定義します。

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

以下の資料も参照してください。