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
です。batchMode
がtrue
で、ルールの 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" } } ] } }
以下の資料も参照してください。
-
Amazon Data Firehose デベロッパーガイドの Amazon Data Firehose とは