

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Firehose
<a name="kinesis-firehose-rule-action"></a>

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

## 要件
<a name="kinesis-firehose-rule-action-requirements"></a>

このルールアクションには、以下の要件があります。
+ オペレーションを実行するために が引き受け AWS IoT ることができる IAM ロール`firehose:PutRecord`。詳細については、「[必要なアクセスを AWS IoT ルールに付与する](iot-create-role.md)」を参照してください。

   AWS IoT コンソールで、このルールアクションを実行することを に許可 AWS IoT するロールを選択または作成できます。
+ Firehose を使用して Amazon S3 バケットにデータを送信し、カスタマーマネージドを使用して AWS KMS Amazon S3 に保管中のデータを AWS KMS key 暗号化する場合、Firehose はバケットへのアクセス権と、発信者に代わって AWS KMS key を使用するアクセス許可を持っている必要があります。詳細については、「*Amazon Firehose データファイアハウスデベロッパーガイド*」の「[Amazon S3 送信先に Firehose アクセスを付与する](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3)」を参照してください。

## パラメータ
<a name="kinesis-firehose-rule-action-parameters"></a>

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

`batchMode`  
(オプション) [https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html](https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html) を使用して、Firehose ストリーミングをバッチとして配信するかどうか。デフォルト値は `false` です。  
`batchMode` が `true` で、ルールの SQL ステートメントが配列に評価される場合、各配列要素は `PutRecordBatch` リクエストで 1 つのレコードを形成します。結果の配列には 500 を超えるレコードを含めることはできません。  
[置換テンプレート](iot-substitution-templates.md)をサポート: いいえ

`deliveryStreamName`  
メッセージデータの書き込み先として指定する Firehose ストリーム。  
[置換テンプレート](iot-substitution-templates.md)をサポート: API および AWS CLI のみ

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

`roleArn`  
Firehose ストリーミングへのアクセスを許可する IAM ロール。詳細については、「[要件](#kinesis-firehose-rule-action-requirements)」を参照してください。  
[置換テンプレート](iot-substitution-templates.md)をサポート: いいえ

## 例
<a name="kinesis-firehose-rule-action-examples"></a>

次の 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"
                }
            }
        ]
    }
}
```

## 関連情報
<a name="kinesis-firehose-rule-action-see-also"></a>
+ *Amazon Data Firehose デベロッパーガイド*の [Amazon Data Firehose とは](https://docs.aws.amazon.com/firehose/latest/dev/)