AWS IoT Events - AWS IoT Core

AWS IoT Events

La acción AWS IoT Events (iotEvents) envía los datos de un mensaje MQTT a una entrada AWS IoT Events.

importante

Si la carga útil se envía a AWS IoT Core sin la Input attribute Key, o si la clave no está en la misma ruta JSON especificada en la clave, se producirá un error Failed to send message to Iot Events en la regla de IoT.

Requisitos

Esta regla tiene los siguientes requisitos:

  • Un rol de IAM que AWS IoT puede asumir para realizar la operación iotevents:BatchPutMessage. 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.

Parámetros

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

batchMode

(Opcional) Si se procesan las acciones de evento como un lote. El valor predeterminado es false.

Cuando batchMode es true y la instrucción de SQL de regla se evalúa como una matriz, cada elemento de la matriz se trata como un mensaje separado cuando se envía a AWS IoT mediante una llamada a BatchPutMessage. La matriz resultante no puede tener más de 10 mensajes.

Cuando batchMode es true, no puede especificar un messageId.

Admite plantillas de sustitución: No

inputName

El nombre de la entrada de AWS IoT Events.

Admite plantillas de sustitución: API y AWS CLI únicamente

messageId

(Opcional) Utilícelo para verificar que solo una entrada (mensaje) con un messageId dado es procesada por un detector AWS IoT Events. Puede utilizar la plantilla de sustitución ${newuuid()} para generar un identificador único para cada solicitud.

Cuando batchMode es true, no puede especificar un messageId. Se asignará un nuevo valor UUID.

Admite plantillas de sustitución: Sí

roleArn

El rol de IAM que permite a AWS IoT enviar una entrada a un detector AWS IoT Events. Para obtener más información, consulte Requisitos.

Admite plantillas de sustitución: No

Ejemplos

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

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "iotEvents": { "inputName": "MyIoTEventsInput", "messageId": "${newuuid()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_events" } } ] } }

Véase también