View a markdown version of this page

Resolución de problemas de la indexación de flotas - AWS IoT Core

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Resolución de problemas de la indexación de flotas

Solución de problemas de consultas de agregación en el servicio de indexación de flotas

Si se producen errores de discordancia de tipos, puede usar CloudWatch los registros para solucionar el problema. CloudWatch Los registros deben estar habilitados antes de que el servicio de indexación de flotas los escriba. Para obtener más información, consulte Supervisión AWS IoT uso de registros CloudWatch.

Para hacer consultas de agregación en campos no administrados, debe especificar un campo que usted haya definido en el argumento customFields transferido a UpdateIndexingConfiguration o update-indexing-configuration. Si el valor del campo no coincide con el tipo de datos del campo configurado, este valor se omite al realizar una consulta de agregación.

Si un campo no se puede indexar porque el tipo no coincide, el servicio de indexación de flotas envía un registro de errores a Logs. CloudWatch El registro de errores contiene el nombre del campo, el valor que no se pudo convertir y el nombre de objeto del dispositivo. A continuación, se muestra un ejemplo de registro de error.

{ "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" } ] }

Si un dispositivo se ha desconectado durante aproximadamente una hora, el valor timestamp del estado de conectividad podría no aparecer. Para las sesiones persistentes, el valor podría no aparecer después de que un cliente se haya desconectado durante un periodo mayor que el tiempo de vida (TTL) configurado para la sesión persistente. Los datos de estado de conectividad solo se indexan para las conexiones donde el ID de cliente tiene un nombre de objeto coincidente. (El ID de cliente es el valor que se usa para conectar un dispositivo). AWS IoT Core

Resolución de problemas en la configuración de la indexación de flotas

No se puede cambiar a versiones inferiores en la configuración de la indexación de flotas

No se puede cambiar la configuración de la indexación de flotas a una versión inferior cuando quiere eliminar los orígenes de datos asociados a una métrica de flotas o a un grupo dinámico.

Por ejemplo, si la configuración de indexación tiene datos de registro, datos de sombra y datos de conectividad y existe una métrica de flotas con la consulta thingName:TempSensor* AND shadow.desired.temperature>80, actualizar la configuración de indexación para incluir solo los datos de registro generará un error.

No se admite la modificación de los campos personalizados utilizados por las métricas de flota existentes.

No se puede actualizar la configuración de la indexación debido a que las métricas de flota o los grupos dinámicos son incompatibles

Si no puede actualizar la configuración de indexación porque las métricas de flota o los grupos dinámicos son incompatibles, elimine las métricas de flota o los grupos dinámicos incompatibles antes de actualizar la configuración de indexación.

Solución de problemas de la indexación de ubicaciones y geoconsultas

Para solucionar errores de tipo no coincidentes en la indexación de ubicaciones y las geoconsultas, puede habilitar los registros. CloudWatch Para obtener más información sobre cómo supervisar el AWS IoT uso CloudWatch, siga la guía paso a paso.

Al indexar los datos de ubicación mediante geoconsultas, los campos de ubicación que especifique en geoLocations deben coincidir con los campos de ubicación que pase a UpdateIndexingConfiguration. Si hay alguna discrepancia, la indexación de la flota envía un error de tipo no coincidente a. CloudWatch El registro de errores contiene el nombre del campo, el valor que no se pudo convertir y el nombre de objeto del dispositivo.

A continuación, se muestra un ejemplo de registro de error.

{ "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 obtener más información, consulte Indexación de datos de ubicación.

Resolución de problemas en las métricas de flotas

No se pueden ver los puntos de datos en CloudWatch

Si puedes crear una métrica de flota pero no puedes ver los puntos de datos en ella CloudWatch, es probable que no tengas nada que cumpla los criterios de la cadena de consulta.

Consulte este comando de ejemplo para ver cómo crear una métrica de flotas:

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

Si no tiene un objeto que cumpla con los criterios de la cadena de consulta --query-string "thingName:TempSensor* AND attributes.temperature>80":

  • Convalues=count, podrás crear una métrica de flota y tendrás puntos de datos en los que mostrarlos CloudWatch. Los puntos de datos del valor count son siempre 0.

  • Con values esta opcióncount, podrás crear una métrica de flota, pero no verás la métrica de flota CloudWatch y no habrá puntos de datos en los que mostrar CloudWatch.