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
La acción Firehose (firehose
) envía datos de un mensaje MQTT a una transmisión de Amazon Data Firehose.
Requisitos
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.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 Conceder a Firehose acceso a un destino de Amazon S3 en la Guía para desarrolladores de Amazon Data Firehose.
Parámetros
Al crear una AWS IoT regla con esta acción, debe especificar la siguiente información:
batchMode
-
(Opcional) Si se debe entregar la transmisión Firehose como un lote utilizando.
PutRecordBatch
El valor predeterminado esfalse
.Cuando
batchMode
estrue
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 solicitudPutRecordBatch
. La matriz resultante no puede tener más de 500 registros.Admite plantillas de sustitución: No
deliveryStreamName
-
La secuencia Firehose en la que escribir los datos del mensaje.
Soporta plantillas de sustitución: API y únicamente AWS CLI
separator
-
(Opcional) Un separador de caracteres que se utiliza para separar los registros escritos en la transmisión 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: No
roleArn
-
La función de IAM que permite el acceso a la transmisión de Firehose. Para obtener más información, consulte Requisitos.
Admite plantillas de sustitución: No
Ejemplos
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
-
¿Qué es Amazon Data Firehose? en la guía para desarrolladores de Amazon Data Firehose