Kinesis Data Streams - AWS IoT Core

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