

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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

La acción de Firehose (`firehose`) envía datos de un mensaje MQTT a un flujo de Amazon Data Firehose. 

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

Esta regla tiene los siguientes requisitos:
+ Un rol de IAM que AWS IoT puede asumir para realizar la operación. `firehose:PutRecord` Para obtener más información, consulte [Otorgar a una AWS IoT regla el acceso que requiere](iot-create-role.md).

  En la AWS IoT consola, puede elegir o crear un rol que permita AWS IoT realizar esta acción de regla.
+ Si utilizas Firehose para enviar datos a un bucket de Amazon S3 y utilizas un AWS KMS cliente gestionado AWS KMS key para cifrar los datos en reposo en Amazon S3, Firehose debe tener acceso a tu bucket y permiso para usarlo AWS KMS key en nombre de la persona que llama. Para obtener más información, consulte [Grant Firehose access to an Amazon S3 destination](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) en la *Guía para desarrolladores de Amazon Data Firehose*.

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

Al crear una AWS IoT regla con esta acción, debe especificar la siguiente información:

`batchMode`  
(Opcional) Si entregar o no el flujo de Firehose como lote con [https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html](https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html). El valor predeterminado es `false`.  
Cuando `batchMode` es `true` y la instrucción de SQL de la regla se evalúa como una matriz, cada elemento de la matriz forma un registro en la solicitud `PutRecordBatch`. La matriz resultante no puede tener más de 500 registros.   
Admite [plantillas de sustitución](iot-substitution-templates.md): No

`deliveryStreamName`  
El flujo de Firehose en el que deben escribirse los datos del mensaje.  
Admite [plantillas de sustitución](iot-substitution-templates.md): API y AWS CLI únicamente

`separator`  
(Opcional) Un separador de caracteres que se utilizará para separar registros escritos en el flujo de Firehose. Si omite este parámetro, el flujo no utiliza ningún separador. Valores válidos: `,` (coma), `\t` (tabulador), (nueva línea), `\n` (nueva línea de Windows). `\r\n`  
Admite [plantillas de sustitución](iot-substitution-templates.md): No

`roleArn`  
El rol de IAM que permite acceder al flujo de Firehose. Para obtener más información, consulte [Requisitos](#kinesis-firehose-rule-action-requirements).  
Admite [plantillas de sustitución](iot-substitution-templates.md): No

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

El siguiente ejemplo de JSON define una acción Firehose en una AWS IoT regla.

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

El siguiente ejemplo de JSON define una acción Firehose con plantillas de sustitución en una AWS IoT regla.

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

## Véase también
<a name="kinesis-firehose-rule-action-see-also"></a>
+ [¿What is Amazon Data Firehose?](https://docs.aws.amazon.com/firehose/latest/dev/) en la *Guía para desarrolladores de Amazon Data Firehose*