Fehlerbehebung bei der Flottenindizierung - AWS IoT Core

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Fehlerbehebung bei der Flottenindizierung

Fehlerbehebung bei Aggregationsabfragen für den Flottenindizierungsservice

Wenn bei Ihnen nicht übereinstimmende Typen auftreten, können Sie CloudWatch Logs verwenden, um das Problem zu beheben. CloudWatch Logs müssen aktiviert werden, bevor Logs vom Fleet Indexing Service geschrieben werden können. Weitere Informationen finden Sie unter Überwachung AWS IoT mithilfe von CloudWatch Protokollen.

Zur Durchführung von Aggregationsabfragen für nicht verwaltete Felder müssen Sie ein Feld angeben, das Sie in dem customFields-Argument definiert haben, das an UpdateIndexingConfiguration oder update-indexing-configuration übergeben wurde. Wenn der Feldwert nicht mit dem konfigurierten Felddatentyp übereinstimmt, wird dieser Wert beim Ausführen einer Aggregationsabfrage ignoriert.

Wenn ein Feld aufgrund eines nicht übereinstimmenden Typs nicht indexiert werden kann, sendet der Fleet Indexing Service ein Fehlerprotokoll an Logs. CloudWatch Das Fehlerprotokoll enthält den Feldnamen, den Wert, der nicht konvertiert werden konnte, und den Namen des Elements für das Gerät. Nachfolgend sehen Sie ein Beispiel für ein Fehlerprotokoll:

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

Wenn ein Gerät etwa eine Stunde lang getrennt war, fehlt möglicherweise der timestamp-Wert des Konnektivitätsstatus. Bei persistenten Sitzungen fehlt der Wert möglicherweise, nachdem die Verbindung zu einem Client länger unterbrochen wurde als der für die persistente Sitzung konfigurierte Wert time-to-live (TTL). Die Konnektivitätsstatusdaten werden nur für Verbindungen indiziert, bei denen die Client-ID einen übereinstimmenden Objektnamen hat. (Die Client-ID ist der Wert, mit dem ein Gerät verbunden wird AWS IoT Core.)

Fehlerbehebung bei der Konfiguration der Flottenindizierung

Die Konfiguration der Flottenindizierung kann nicht herabgestuft werden

Das Herabstufen der Konfiguration für die Flottenindizierung wird nicht unterstützt, wenn Sie die Datenquellen entfernen möchten, die mit einer Flottenkennzahl oder einer dynamischen Gruppe verknüpft sind.

Wenn Ihre Indizierungskonfiguration beispielsweise Registrierungsdaten, Schattendaten und Konnektivitätsdaten enthält und die Flottenmetrik existiert mit der Abfrage thingName:TempSensor* AND shadow.desired.temperature>80, führt die Aktualisierung der Indizierungskonfiguration, sodass sie nur die Registrierungsdaten enthält, zu einem Fehler.

Das Ändern von benutzerdefinierten Feldern, die von vorhandenen Flottenkennzahlen verwendet werden, wird nicht unterstützt.

Ihre Indexkonfiguration kann aufgrund inkompatibler Flottenkennzahlen oder dynamischer Gruppen nicht aktualisiert werden

Wenn Sie Ihre Indexkonfiguration aufgrund inkompatibler Flottenkennzahlen oder dynamischer Gruppen nicht aktualisieren können, löschen Sie die inkompatiblen Flottenkennzahlen oder dynamischen Gruppen, bevor Sie die Indexkonfiguration aktualisieren.

Problembehebung bei der Standortindizierung und bei Geoabfragen

Um Fehler mit nicht übereinstimmenden Typen bei der Standortindizierung und bei Geoabfragen zu beheben, können Sie Protokolle aktivieren. CloudWatch Weitere Informationen zur Überwachung der AWS IoT Nutzung finden Sie in der CloudWatch Anleitung. step-by-step

Wenn Sie Standortdaten mithilfe von Geoabfragen indizieren, müssen die Standortfelder, die Sie in geoLocations angeben, mit den Standortfeldern übereinstimmen, die Sie an UpdateIndexingConfiguration übergeben. Liegt eine Nichtübereinstimmung vor, sendet die Flottenindizierung einen Fehler mit nicht übereinstimmendem Typ an. CloudWatch Das Fehlerprotokoll enthält den Feldnamen, den Wert, der nicht konvertiert werden konnte, und den Namen des Elements für das Gerät.

Nachfolgend sehen Sie ein Beispiel für ein Fehlerprotokoll:

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

Weitere Informationen finden Sie unter Indexierung von Standortdaten.

Fehlerbehebung bei Flottenmetriken

Ich kann keine Datenpunkte sehen in CloudWatch

Wenn Sie in der Lage sind, eine Flottenmetrik zu erstellen, aber keine Datenpunkte darin sehen können CloudWatch, ist es wahrscheinlich, dass Sie nichts haben, das die Kriterien der Abfragezeichenfolge erfüllt.

Sehen Sie sich diesen Beispielbefehl an, um eine Flottenmetrik zu erstellen:

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

Wenn Sie nichts haben, das die Kriterien für die Abfragezeichenfolge --query-string "thingName:TempSensor* AND attributes.temperature>80" erfüllt:

  • Mit werden Sie in der Lage seinvalues=count, eine Flottenmetrik zu erstellen, und es werden Datenpunkte angezeigt, die angezeigt werden können CloudWatch. Die Datenpunkte des Werts count sind immer 0.

  • Mit „valuesother thancount“ können Sie zwar eine Flottenkennzahl erstellen, aber die Flottenkennzahl wird nicht angezeigt CloudWatch und es werden keine Datenpunkte angezeigt CloudWatch.