AWS IoT Events
A ação AWS IoT Events (iotEvents) envia dados de uma mensagem MQTT para uma entrada AWS IoT Events.
Importante
Se a carga for enviada AWS IoT Core sem o Input attribute
Key, ou se a chave não estiver no mesmo caminho JSON especificado na chave, isso fará com que a regra de IoT entre em falha com a mensagem de erro Failed to send message
to Iot Events.
Requisitos
Esta ação de regra tem os seguintes requisitos:
-
Um perfil do IAM que AWS IoT pode assumir a execução da operação
iotevents:BatchPutMessage. Para obter mais informações, consulte Conceder a uma regra AWS IoT o acesso que ela exige.No console AWS IoT, você pode escolher ou criar uma função para permitir que AWS IoT execute essa ação de regra.
Parâmetros
Ao criar uma regra AWS IoT com esta ação, você deve especificar as seguintes informações:
batchMode-
(Opcional) Se as ações do evento devem ser processadas em lote. O valor padrão é
false.Quando
batchModeétruee a instrução SQL da regra é avaliada como uma Matriz, cada elemento da Matriz é tratado como uma mensagem separada quando é enviado para AWS IoT Eventos por chamadaBatchPutMessage. A matriz resultante não pode ter mais de 10 mensagens.Quando
batchModeétrue, não é possível especificar ummessageId.Compatível com modelos de substituição: Não
inputName-
O nome da entrada do AWS IoT Events.
Compatível com modelos de substituição: API e AWS CLI somente
messageId-
(Opcional) Use isto para verificar se apenas uma entrada (mensagem) com um dado
messageIdé processada por um detector AWS IoT Events. Você pode usar o${newuuid()}modelo de substituição para gerar uma ID exclusiva para cada solicitação.Quando
batchModeestivertrue, você não poderá especificar ummessageId—um novo valor de UUID será atribuído.Compatível com modelos de substituição: Sim
roleArn-
O perfil do IAM que AWS IoT permite enviar uma entrada para um detector AWS IoT Events. Para obter mais informações, consulte Requisitos.
Compatível com modelos de substituição: Não
Exemplos
O exemplo JSON a seguir define uma ação do IoT Events em uma AWS IoT regra.
{ "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" } } ] } }
Consulte também
-
O que é AWS IoT Events?, no AWS IoT Events Guia do desenvolvedor