As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Solucionar problemas de uma ação de regra do AWS IoT SiteWise
Para solucionar problemas de ação de regra do AWS IoT SiteWise no AWS IoT Core você pode executar um dos seguintes procedimentos:
-
Configurar CloudWatch registros
-
Configure uma ação de erro de republicação para a regra
Depois, compare as mensagens de erro com os erros deste tópico a fim de solucionar o problema.
Tópicos
Configurar logs do AWS IoT Core
Você pode configurarAWS IoT para registrar vários níveis de informações nos CloudWatch registros.
Para configurar e acessar CloudWatch registros
-
Para configurar o registroAWS IoT Core, consulte Monitoramento com CloudWatch registros no Guia doAWS IoT desenvolvedor.
-
Navegue até o console do CloudWatch
. -
No painel de navegação, escolha Log groups(Grupos de logs).
-
Escolha o AWSIotLogsgrupo.
-
Escolha um fluxo de log recente. Por padrão, CloudWatch exibe primeiro o fluxo de registro mais recente.
-
Escolha uma entrada de log para expandir a mensagem de log. A entrada de log para se parecer com a captura de tela a seguir.
-
Compare as mensagens de erro com os erros deste tópico a fim de solucionar o problema.
Configurar uma ação de erro de republicação
É possível configurar uma ação de erro na regra para processar mensagens de erro. Neste procedimento, configure a ação de regra de republicação como uma ação de erro para exibir mensagens de erro no cliente de teste MQTT.
A ação de erro de republicação gera somente o equivalente de logs de nível ERROR
. Se você quiser registros mais detalhados, você deve configurar CloudWatch os registros.
Como adicionar uma ação de erro de republicação a uma regra
-
Navegue até o console do AWS IoT
. -
No painel de navegação esquerdo, escolha Act (Agir) e Rules (Regras).
-
Selecione a regra.
-
Em Error action (Ação de erro), escolha Add action (Adicionar ação).
-
Escolha Republicar uma mensagem em umAWS IoT tópico.
-
Escolha Configure action (Configurar ação) na parte inferior da página.
-
Em Topic (Tópico), insira um tópico exclusivo (por exemplo,
sitewise/windfarm/rule/error
). O AWS IoT Core republicará mensagens de erro nesse tópico. -
Selecione Select (Escolher) para conceder ao AWS IoT Core acesso para executar a ação de erro.
-
Selecione Select (Escolher) ao lado da função criada para a regra.
-
Escolha Update Role (Atualizar função) para adicionar outras permissões à função.
-
Selecione Add action.
A ação de erro da regra deve ser semelhante à captura de tela a seguir.
-
Selecione a seta para trás no canto superior esquerdo do console para retornar à página inicial do console do AWS IoT.
Depois de configurar a ação de erro de republicação, você pode visualizar as mensagens de erro no cliente de teste MQTT no AWS IoT Core.
No procedimento a seguir, você se inscreve no tópico de erro no cliente de teste MQTT. No cliente de teste MQTT, é possível receber as mensagens de erro da regra para solucionar o problema.
Como se inscrever no tópico de ação de erro
-
Navegue até o console do AWS IoT
. -
Na página de navegação à esquerda, selecione Test (Testar) para abrir o cliente de teste MQTT.
-
No campo Subscription topic (Tópico de assinatura), insira o tópico de erro configurado anteriormente (por exemplo,
sitewise/windfarm/rule/error
) e selecione Subscribe to topic (Assinar o tópico). -
Aguarde até que as mensagens de erro sejam exibidas e expanda a matriz
failures
em qualquer mensagem de erro.Depois, compare as mensagens de erro com os erros deste tópico a fim de solucionar o problema.
Solução de problemas
Use as informações a seguir para solucionar problemas de regra.
Problemas
- Erro: O membro deve estar dentro de 604800 segundos antes e 300 segundos depois da data e hora atual
- Erro: o valor da propriedade não corresponde ao tipo de dados <type>
- Erro: Usuário: <role-arn>não está autorizado a executar: iotsitewise:BatchPutAssetPropertyValue sem recurso
- Erro: iot.amazonaws.com não consegue executar: sts:AssumeRole no recurso: <role-arn>
- Informação: nenhuma solicitação foi enviada. PutAssetPropertyValueEntries estava vazio após realizar modelos de substituição.
Erro: O membro deve estar dentro de 604800 segundos antes e 300 segundos depois da data e hora atual
Seu timestamp tem mais de 7 dias ou menos de 5 minutos, em comparação com o horário atual da época Unix. Faça o seguinte:
-
Verifique e o time stamp está no horário Unix epoch (UTC). Se fornecer um time stamp com um fuso horário diferente, você receberá esse erro.
-
Verifique se o time stamp está em segundos. O AWS IoT SiteWise espera que os time stamps sejam divididos horários em segundos (no horário Unix epoch) e o deslocamento em nanossegundos.
-
Verifique se você está carregando dados com data e hora marcados até 7 dias atrás.
Erro: o valor da propriedade não corresponde ao tipo de dados <type>
Uma entrada na ação de regra tem um tipo de dados diferente da propriedade de ativo do destino. Por exemplo, a propriedade de ativo do destino é um DOUBLE
e o tipo de dados que você selecionou é Integer (Inteiro) ou o valor foi transmitido em integerValue
. Faça o seguinte:
-
Se você configurar a regra usando o console do AWS IoT, verifique se escolheu o Tipo de dados correto para cada entrada.
-
Se você configurar a regra usando a API ou a AWS Command Line Interface, (AWS CLI), verifique se o objeto
value
usa o campo de tipo correto (por exemplo,doubleValue
para uma propriedadeDOUBLE
).
Erro: Usuário: <role-arn>não está autorizado a executar: iotsitewise:BatchPutAssetPropertyValue sem recurso
A regra não está autorizada a acessar a propriedade de ativo do destino, ou a propriedade de ativo do destino não existe. Faça o seguinte:
-
Verifique se o alias da propriedade está correto e se você tem uma propriedade de ativo com o alias de propriedade fornecido. Para obter mais informações, consulte Mapeamento de fluxos de dados industriais para propriedades de ativos.
-
Verifique se a regra tem uma função e se a função tem a concede a permissão
iotsitewise:BatchPutAssetPropertyValue
à propriedade de ativo do destino, como por toda a hierarquia do ativo de destino. Para obter mais informações, consulte Como conceder o acesso necessário ao AWS IoT.
Erro: iot.amazonaws.com não consegue executar: sts:AssumeRole no recurso: <role-arn>
Seu usuário do IAM não está autorizado a assumir a função em sua regra.
Verifique se seu usuário do IAM temiam:PassRole
permissão para a função em sua regra. Para obter mais informações, consulte Passe permissões de função no Guia doAWS IoT desenvolvedor.
Informação: nenhuma solicitação foi enviada. PutAssetPropertyValueEntries estava vazio após realizar modelos de substituição.
Essa mensagem é um log de nível INFO
.
A solicitação deve ter pelo menos uma entrada com todos os parâmetros necessários.
Verifique se os parâmetros da regra, incluindo os modelos de substituição, resultam em valores não vazios. Os modelos de substituição não podem acessar valores definidos nas cláusulas AS
na instrução de consulta da regra. Para obter mais informações, consulte Modelos de substituição no Guia doAWS IoT desenvolvedor.