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
estrue
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 aBatchPutMessage
. La matriz resultante no puede tener más de 10 mensajes.Cuando
batchMode
estrue
, no puede especificar unmessageId
.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
estrue
, no puede especificar unmessageId
. 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
-
¿Qué es AWS IoT Events? en la Guía para desarrolladores de AWS IoT Events