Solucionar problemas de uma ação de regra do AWS IoT SiteWise - AWS IoT SiteWise

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.

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
  1. Para configurar o registroAWS IoT Core, consulte Monitoramento com CloudWatch registros no Guia doAWS IoT desenvolvedor.

  2. Navegue até o console do CloudWatch.

  3. No painel de navegação, escolha Log groups(Grupos de logs).

  4. Escolha o AWSIotLogsgrupo.

  5. Escolha um fluxo de log recente. Por padrão, CloudWatch exibe primeiro o fluxo de registro mais recente.

  6. 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.

    
              CloudWatch Captura de tela “AWS IoTRegistros”.
  7. 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.

nota

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
  1. Navegue até o console do AWS IoT.

  2. No painel de navegação esquerdo, escolha Act (Agir) e Rules (Regras).

  3. Selecione a regra.

  4. Em Error action (Ação de erro), escolha Add action (Adicionar ação).

  5. Escolha Republicar uma mensagem em umAWS IoT tópico.

    
              AWS IoT CoreCaptura de tela da página “Selecionar uma ação” com a ação Republicar destacada.
  6. Escolha Configure action (Configurar ação) na parte inferior da página.

  7. 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.

  8. Selecione Select (Escolher) para conceder ao AWS IoT Core acesso para executar a ação de erro.

  9. Selecione Select (Escolher) ao lado da função criada para a regra.

  10. Escolha Update Role (Atualizar função) para adicionar outras permissões à função.

  11. Selecione Add action.

    A ação de erro da regra deve ser semelhante à captura de tela a seguir.

    
              AWS IoT CorePágina “Regra” Republique a captura de tela da ação de erro.
  12. 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
  1. Navegue até o console do AWS IoT.

  2. Na página de navegação à esquerda, selecione Test (Testar) para abrir o cliente de teste MQTT.

  3. 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).

    
              AWS IoT CoreCaptura de tela da página “Cliente MQTT” com o botão “Inscrever-se no tópico” destacado.
  4. 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.

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 propriedade DOUBLE).

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:

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.

nota

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.