Résolution des problèmes liés à l'indexation du parc - AWS IoT Core

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résolution des problèmes liés à l'indexation du parc

Dépannage des requêtes d'agrégation pour le service d'indexation de parc

Si vous rencontrez des erreurs de non-concordance de type, vous pouvez utiliser CloudWatch les journaux pour résoudre le problème. CloudWatch Les journaux doivent être activés avant que les journaux ne soient écrits par le service Fleet Indexing. Pour de plus amples informations, veuillez consulter Surveiller AWS IoT à l'aide CloudWatch des journaux.

Lorsque vous effectuez des requêtes d'agrégation sur des champs non gérés, vous pouvez uniquement spécifier un champ que vous avez défini dans customFields l'argument passé à UpdateIndexingConfiguration ou update-indexing-configuration. Si la valeur du champ n'est pas cohérente avec le type de données du champ configuré, cette valeur est ignorée lorsque vous effectuez une requête d'agrégation.

Si un champ ne peut pas être indexé en raison d'un type non concordant, le service Fleet Indexing envoie un journal des erreurs à Logs. CloudWatch Le journal des erreurs contient le nom du champ, la valeur qui n'a pas pu être convertie et le nom d'objet de l'appareil. Voici un exemple de journal des erreurs.

{ "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 appareil a été déconnecté pendant environ une heure, la valeur timestamp du statut de connectivité peut être manquante. Pour les sessions persistantes, la valeur peut être manquante lorsqu'un client a été déconnecté plus longtemps que la valeur configurée time-to-live (TTL) pour la session persistante. Les données de statut de connectivité sont indexées uniquement pour les connexions où l’ID client contient un nom d'objet correspondant. (L'ID client est la valeur utilisée pour connecter un appareil AWS IoT Core.)

Résolution de problèmes de configuration d'indexation de la flotte

Impossible de rétrograder la configuration d'indexation du parc

La rétrogradation de la configuration d'indexation de flotte n'est pas prise en charge lorsque vous souhaitez supprimer les sources de données associées à une métrique de flotte ou à un groupe dynamique.

Par exemple, si votre configuration d'indexation contient des données de registre, des données fictives et des données de connectivité, et qu'une métrique de flotte existe avec la requêtethingName:TempSensor* AND shadow.desired.temperature>80, la mise à jour de la configuration d'indexation pour inclure uniquement les données du registre entraînera une erreur.

La modification des champs personnalisés utilisés par les indicateurs de flotte existants n'est pas prise en charge.

Impossible de mettre à jour votre configuration d'indexation en raison de mesures de flotte incompatibles ou de groupes dynamiques

Si vous ne pouvez pas mettre à jour votre configuration d'indexation en raison de mesures de flotte ou de groupes dynamiques incompatibles, supprimez les mesures de flotte ou les groupes dynamiques incompatibles avant de mettre à jour la configuration d'indexation.

Résolution des problèmes liés à l'indexation des emplacements et aux géorequêtes

Pour résoudre les erreurs de type non concordantes dans l'indexation des emplacements et les géorequêtes, vous pouvez activer les journaux. CloudWatch Pour plus d'informations sur le suivi de AWS IoT l'utilisation CloudWatch, suivez le step-by-step guide.

Lorsque vous indexez des données de localisation à l'aide de géorequêtes, les champs de localisation que vous spécifiez geoLocations doivent correspondre aux champs de position auxquels vous passezUpdateIndexingConfiguration. En cas de non-concordance, l'indexation de la flotte envoie une erreur de type non concordant à. CloudWatch Le journal des erreurs contient le nom du champ, la valeur qui n'a pas pu être convertie et le nom d'objet de l'appareil.

Voici un exemple de journal des erreurs.

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

Pour de plus amples informations, veuillez consulter Indexation des données de localisation.

Dépannage des métriques de la flotte

Impossible de voir les points de données dans CloudWatch

Si vous parvenez à créer une métrique de flotte mais que vous ne pouvez pas y voir les points de données CloudWatch, il est probable que vous ne disposiez d'aucun élément répondant aux critères de chaîne de requête.

Consultez cet exemple de commande pour créer une métrique de parc :

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 aucun élément ne répond aux critères de chaîne de requête --query-string "thingName:TempSensor* AND attributes.temperature>80" :

  • Avecvalues=count, vous serez en mesure de créer une métrique de flotte et il y aura des points de données à afficher CloudWatch. Les points de données de la valeur count sont toujours 0.

  • Sinon valuescount, vous serez en mesure de créer une métrique de flotte, mais vous ne verrez pas la métrique de flotte dedans CloudWatch et il n'y aura aucun point de données à afficher CloudWatch.