Solucionar problemas de uma ação de AWS IoT SiteWise regra - 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 AWS IoT SiteWise regra

Para solucionar problemas de sua ação de AWS IoT SiteWise regra em AWS IoT Core, você pode executar um dos seguintes procedimentos:

  • Configurar Amazon CloudWatch Logs

  • 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 AWS IoT Core registros

Você pode configurar AWS IoT para registrar vários níveis de informações no CloudWatch Logs.

Para configurar e acessar CloudWatch os registros
  1. Para configurar o registro em log AWS IoT Core, consulte Monitoramento com CloudWatch registros no Guia do AWS IoT desenvolvedor.

  2. Navegue até o CloudWatch console.

  3. No painel de navegação, escolha Grupos de logs.

  4. Escolha o AWSIotLogsgrupo.

  5. Escolha um fluxo de log recente. Por padrão, CloudWatch exibe primeiro o fluxo de registros 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 de “AWS IoT Registros”.
  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, você configura a ação da regra de republicação como uma ação de erro para exibir mensagens de erro no cliente MQTT de teste.

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, deverá 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 Agir e 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 um AWS IoT tópico.

    AWS IoT Core Captura de tela da página “Selecionar uma ação” com a ação Republicar destacada.
  6. Escolha Configurar ação na parte inferior da página.

  7. Em Tópico, insira um tópico exclusivo (por exemplo,sitewise/windfarm/rule/error). AWS IoT Core republicará as mensagens de erro neste tópico.

  8. Escolha Selecionar para conceder 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 Adicionar ação.

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

    AWS IoT Core Página “Regra” Republique a captura de tela da ação de erro.
  12. Escolha a seta para trás no canto superior esquerdo do console para retornar à página inicial do AWS IoT console.

Depois de configurar a ação de erro de republicação, você pode visualizar as mensagens de erro no cliente de MQTT teste em AWS IoT Core.

No procedimento a seguir, você se inscreve no tópico de erro no cliente MQTT de teste. No cliente MQTT de teste, você pode receber as mensagens de erro da sua 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, escolha Testar para abrir o cliente MQTT de teste.

  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 Core Captura de tela da página “MQTTcliente” 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.

Solucionar problemas de regras

Use as informações a seguir para solucionar problemas de regra.

Erro: o membro deve estar entre 604.800 segundos antes e 300 segundos depois do time stamp atual.

Seu time stamp tem mais de 7 minutos ou menos de 5 minutos, comparado ao horário Unix epoch atual. Faça o seguinte:

  • Verifique se seu timestamp está no horário Unix epoch (). UTC Se fornecer um time stamp com um fuso horário diferente, você receberá esse erro.

  • Verifique se seu carimbo de data/hora está em segundos. AWS IoT SiteWise espera que os carimbos de data/hora sejam divididos em segundos (na época do Unix) e compensados em nanossegundos.

  • Verifique se você está fazendo upload de dados com time stamp de até 7 dias antes.

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 no AWS IoT console, verifique se escolheu o tipo de dados correto para cada entrada.

  • Se você configurar a regra a partir do API ou AWS Command Line Interface (AWS CLI), verifique se o value objeto usa o campo de tipo correto (por exemplo, doubleValue para uma DOUBLE propriedade).

Erro: Usuário: <role-arn>não está autorizado a executar: iotsitewise: no recurso BatchPutAssetPropertyValue

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 Mapeie 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 AWS IoT Conceda o acesso necessário.

Erro: iot.amazonaws.com não consegue executar: sts: no recurso: AssumeRole <role-arn>

Seu usuário não está autorizado a assumir a função em sua regra em AWS Identity and Access Management (IAM).

Verifique se o seu usuário tem a permissão do iam:PassRole para a função em sua regra. Para obter mais informações, consulte Pass role permissions no Guia do desenvolvedor do AWS IoT .

Informação: nenhuma solicitação foi enviada. PutAssetPropertyValueEntries estava vazio após a execução dos 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 do desenvolvedor do AWS IoT .

Solucionar problemas de uma regra ()AWS IoT SiteWise

Siga as etapas deste procedimento para solucionar problemas de sua regra se os CPU dados de uso da memória não estiverem aparecendo AWS IoT SiteWise conforme o esperado. Neste procedimento, você configura a ação da regra de republicação como uma ação de erro para exibir mensagens de erro no cliente MQTT de teste. Você também pode configurar o registro no CloudWatch Logs para solucionar problemas. Para obter mais informações, consulte Solucionar problemas de uma ação de AWS IoT SiteWise regra.

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 à esquerda, escolha Roteamento de mensagens e Regras.

  3. Escolha a regra que criou anteriormente e escolha Edit.

  4. Em Ação de erro - opcional, escolha Adicionar ação de erro.

  5. Escolha Republicar uma mensagem em um AWS IoT tópico.

  6. Em Tópico, insira o caminho para o erro (por exemplo,sitewise/rule/tutorial/error). AWS IoT Core republicará as mensagens de erro neste tópico.

  7. Escolha a função que você criou anteriormente (por exemplo, SiteWiseTutorialDeviceRuleRole).

  8. Selecione Atualizar.

Depois de configurar a ação de erro de republicação, você pode visualizar as mensagens de erro no cliente de MQTT teste em AWS IoT Core.

No procedimento a seguir, você se inscreve no tópico de erro no cliente MQTT de teste.

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, escolha cliente MQTT de teste para abrir o cliente MQTT de teste.

  3. Em Filtro de tópicos, insira sitewise/rule/tutorial/error e, em seguida, escolha Criar assinatura.

Quando forem exibidas mensagens de erro, visualize a matriz failures em qualquer mensagem de erro para diagnosticar problemas. Para obter mais informações sobre possíveis problemas e como resolvê-los, consulte Solucionar problemas de uma ação de AWS IoT SiteWise regra.

Se os erros não aparecerem, verifique se a regra está habilitada e se você se inscreveu no mesmo tópico que configurou na ação de erro de republicação. Se os erros ainda não aparecerem depois que você fizer isso, verifique se o script do dispositivo está sendo executado e se está atualizando a sombra do dispositivo com êxito.

nota

Você também pode se inscrever no tópico de atualização paralela do seu dispositivo para ver a carga útil que sua AWS IoT SiteWise ação analisa. Para fazer isso, assine o tópico a seguir.

$aws/things/+/shadow/update/accepted

Solucionar problemas de uma regra (DynamoDB)

Siga as etapas neste procedimento para solucionar problemas de sua regra se os dados do ativo de demonstração não estiverem aparecendo na tabela do DynamoDB conforme o esperado. Neste procedimento, você configura a ação da regra de republicação como uma ação de erro para exibir mensagens de erro no cliente MQTT de teste. Você também pode configurar o registro no CloudWatch Logs para solucionar problemas. Para obter mais informações, consulte Monitoramento com CloudWatch registros no Guia do AWS IoT desenvolvedor.

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 Agir e Regras.

  3. Escolha a regra que criou anteriormente.

    AWS IoT Captura de tela principal da página “Regras”.
  4. Em Error action (Ação de erro), escolha Add action (Adicionar ação).

  5. Escolha Republicar uma mensagem em um AWS IoT tópico.

    AWS IoT Captura de tela principal da página “Selecionar uma ação” com a ação Republicar destacada.
  6. Escolha Configurar ação na parte inferior da página.

  7. Em Tópico, insira windspeed/error. AWS IoT O Core republicará as mensagens de erro neste tópico.

    AWS IoT Captura de tela principal da página “Configurar ação de republicação” com o “Tópico” destacado.
  8. Escolha Selecionar para conceder acesso ao AWS IoT Core para executar a ação de erro usando a função que você criou anteriormente.

  9. Escolha Select (Selecionar) ao lado da função.

    AWS IoT Captura de tela principal da página “Configurar ação de republicação” com o botão de seleção de função destacado.
  10. Escolha Update Role (Atualizar função) para adicionar outras permissões à função.

    AWS IoT Captura de tela principal da página “Configurar ação de republicação” com o botão de atualização da função destacado.
  11. Escolha Add action (Adicionar ação) para concluir a adição da ação de erro.

  12. Escolha a seta para trás no canto superior esquerdo do console para retornar à página inicial do console AWS IoT Core.

Depois de configurar a ação de erro de republicação, você pode visualizar as mensagens de erro no cliente de MQTT teste no AWS IoT Core.

No procedimento a seguir, você se inscreve no tópico de erro no cliente MQTT de teste.

Como se inscrever no tópico de ação de erro
  1. Na página de navegação à esquerda do console AWS IoT principal, escolha Testar.

  2. No campo Subscription topic (Tópico de assinatura), insira windspeed/error e selecione Subscribe to topic (Assinar o tópico).

    AWS IoT Captura de tela principal da página “MQTTcliente” com o botão “Inscrever-se no tópico” destacado.
  3. Observe a exibição de mensagens de erro e explore a matriz failures em uma mensagem de erro para diagnosticar os seguintes problemas comuns:

    • Erros de digitação na instrução de consulta de regra

    • Permissões de função insuficientes

    Se os erros não aparecerem, verifique se a regra está habilitada e se você se inscreveu no mesmo tópico que configurou na ação de erro de republicação. Se os erros ainda não aparecerem, verifique se os ativos de parque eólico de demonstração ainda existem e se você ativou notificações nas propriedades da velocidade do vento. Se seus ativos de demonstração expiraram e desapareceram AWS IoT SiteWise, você pode criar uma nova demonstração e atualizar a declaração de consulta de regras para refletir o modelo e a propriedade IDs atualizados do ativo.