Kinesis Data Streams
La acción Kinesis Data Streams (kinesis
) escribe datos de un mensaje MQTT en Amazon Kinesis Data Streams.
Requisitos
Esta regla tiene los siguientes requisitos:
-
Un rol de IAM que AWS IoT puede asumir para realizar la operación
kinesis:PutRecord
. Para obtener más información, consulte Otorgar a una regla AWS IoT el acceso que requiere.En la consola de AWS IoT, puede elegir o crear un rol que permita a AWS IoT realizar esta acción de regla.
-
Si utiliza una clave gestionada por el clienteAWS KMS AWS KMS key (clave KMS) para cifrar los datos en reposo en las transmisiones de datos de Kinesis, el servicio debe tener permiso para utilizar la AWS KMS key en nombre de la persona que llama. Para obtener más información, consulte Permisos de uso generados por el usuario AWS KMS keys en la guía para desarrolladores de Amazon Kinesis Data Streams.
Parámetros
Cuando cree una regla AWS IoT con esta acción, debe especificar la información siguiente:
stream
-
El flujo de datos Kinesis en el que escribir los datos.
Admite plantillas de sustitución: API y AWS CLI únicamente
partitionKey
-
La clave de partición utilizada para determinar en qué fragmento se escriben los datos. La clave de partición suele estar compuesta por una expresión (por ejemplo,
${topic()}
o${timestamp()}
).Admite plantillas de sustitución: Sí
roleArn
-
El ARN del rol de IAM que concede a AWS IoT el permiso para acceder al flujo de datos Kinesis. Para obtener más información, consulte Requisitos.
Admite plantillas de sustitución: No
Ejemplos
El siguiente ejemplo JSON define una acción Kinesis Data Streams en una regla AWS IoT.
{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "kinesis": { "streamName": "my_kinesis_stream", "partitionKey": "${topic()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_kinesis" } } ] } }
El siguiente ejemplo JSON define una acción Kinesis con plantillas de sustitución en una regla AWS IoT.
{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "kinesis": { "streamName": "${topic()}", "partitionKey": "${timestamp()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_kinesis" } } ] } }
Véase también
-
¿Qué es Amazon Kinesis Data Streams? en la Guía para desarrolladores de Amazon Kinesis Data Streams.