Solução de problemas de indexação de frotas - AWS IoT Core

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

Solução de problemas de indexação de frotas

Solução de problemas de consultas de agregação para o serviço de indexação de frota

Se você estiver tendo erros de incompatibilidade de tipos, você pode usar o CloudWatch Logs para solucionar o problema. CloudWatch Os registros devem ser ativados antes que os registros sejam gravados pelo serviço de indexação de frotas. Para obter mais informações, consulte Monitore AWS IoT usando CloudWatch registros.

Para fazer consultas de agregação em campos não gerenciados, você deve especificar um campo definido no argumento customFields passado para UpdateIndexingConfiguration ou update-indexing-configuration. Se o valor do campo for inconsistente com o tipo de dados de campo configurado, esse valor será ignorado quando você executar uma consulta de agregação.

Se um campo não puder ser indexado devido a um tipo incompatível, o serviço de indexação de frotas envia um registro de erros para o Logs. CloudWatch O log de erros contém o nome do campo, o valor que não foi convertido e o nome do objeto para o dispositivo. Veja a seguir um exemplo de log de erros:

{ "timestamp": "2017-02-20 20:31:22.932", "logLevel": "ERROR", "traceId": "79738924-1025-3a00-a669-7bec69f7f07a", "accountId": "000000000000", "status": "SucceededWithIssues", "eventType": "IndexingCustomFieldFailed", "thingName": "thing0", "failedCustomFields": [ { "Name": "attributeName1", "Value": "apple", "ExpectedType": "String" }, { "Name": "attributeName2", "Value": "2", "ExpectedType": "Boolean" } ] }

Se um dispositivo foi desconectado por aproximadamente uma hora, o valor timestamp do status de conectividade pode estar ausente. Para sessões persistentes, o valor pode estar ausente após um cliente ter sido desconectado por mais tempo do que o configurado time-to-live (TTL) para a sessão persistente. Os dados de status de conectividade são indexados apenas para conexões em que o ID do cliente tem um nome de objeto correspondente. (O ID do cliente é o valor usado para conectar um dispositivo AWS IoT Core a.)

Solução de problemas de configuração de indexação de frota

Não é possível fazer o downgrade da configuração de indexação da frota

O downgrade da configuração de indexação de frota não é suportado quando você deseja remover as fontes de dados associadas a uma métrica de frota ou a um grupo dinâmico.

Por exemplo, se a sua configuração de indexação tiver dados de registro, dados de sombra e dados de conectividade, e existir uma métrica de frota com a consulta thingName:TempSensor* AND shadow.desired.temperature>80, atualizar a configuração de indexação para incluir apenas os dados de registro resultará em um erro.

A modificação de campos personalizados usados pelas métricas de frota existentes não é suportada.

Não é possível atualizar sua configuração de indexação devido a métricas de frota ou grupos dinâmicos incompatíveis

Se você não conseguir atualizar sua configuração de indexação devido a métricas de frota ou grupos dinâmicos incompatíveis, exclua as métricas de frota ou grupos dinâmicos incompatíveis antes de atualizar a configuração de indexação.

Solução de problemas de indexação de localização e geoconsultas

Para solucionar erros de tipos incompatíveis na indexação de localização e nas consultas geográficas, você pode ativar os registros. CloudWatch Para obter mais informações sobre como monitorar AWS IoT o uso CloudWatch, siga o step-by-step guia.

Quando você indexa dados de localização usando consultas geográficas, os campos de localização especificados geoLocations devem corresponder aos campos de localização para os quais você passa. UpdateIndexingConfiguration Se houver uma incompatibilidade, a indexação da frota envia um erro de tipo incompatível para. CloudWatch O log de erros contém o nome do campo, o valor que não foi convertido e o nome do objeto para o dispositivo.

Veja a seguir um exemplo de log de erros:

{ "timestamp": "2023-11-09 01:39:43.466", "logLevel": "ERROR", "traceId": "79738924-1025-3a00-a669-7bec69f7f07a", "accountId": "123456789012", "status": "Failure", "eventType": "IndexingGeoLocationFieldFailed", "thingName": "thing0", "failedGeolocationFields": [ { "Name": "attributeName1", "Value": "apple", "ExpectedType": "Geopoint" } ], "reason": "failed to index the field because it could not be converted to one of the expected geoLocation formats." }

Para obter mais informações, consulte Indexando dados de localização.

Solução de problemas de métricas de frota

Não consigo ver pontos de dados em CloudWatch

Se você conseguir criar uma métrica de frota, mas não conseguir ver os pontos de dados CloudWatch, é provável que não tenha nada que atenda aos critérios da sequência de caracteres de consulta.

Veja este exemplo de comando de como criar uma métrica de frota:

aws iot create-fleet-metric --metric-name "example_FM" --query-string "thingName:TempSensor* AND attributes.temperature>80" --period 60 --aggregation-field "attributes.temperature" --aggregation-type name=Statistics,values=count

Se você não tiver nada que atenda aos critérios da string de consulta de consulta --query-string "thingName:TempSensor* AND attributes.temperature>80":

  • Com issovalues=count, você poderá criar uma métrica de frota e haverá pontos de dados para mostrar CloudWatch. Os pontos de dados do valor count são sempre 0.

  • Com values outras opçõescount, você poderá criar uma métrica de frota, mas não verá a métrica da frota CloudWatch e não haverá pontos de dados para mostrar CloudWatch.