翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Firehose(firehose
) アクションは、 MQTT メッセージから Amazon Data Firehose ストリームにデータを送信します。
要件
このルールアクションには、以下の要件があります。
-
firehose:PutRecord
オペレーションを実行するために が引き受け AWS IoT ることができる IAMロール。詳細については、「AWS IoT ルールに必要なアクセス許可の付与」を参照してください。AWS IoT コンソールでは、 がこのルールアクションを実行することを許可 AWS IoT するロールを選択または作成できます。
-
Firehose を使用して Amazon S3 バケットにデータを送信し、カスタマー管理の AWS KMS AWS KMS key を使用して Amazon S3 に保管中のデータを暗号化する場合、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 とは