機群索引疑難排解 - AWS IoT Core

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

機群索引疑難排解

機群索引服務的疑難排解彙總查詢

如果您有類型不相符錯誤,您可以使用 CloudWatch Logs 對問題進行故障診斷。 CloudWatch 必須先啟用日誌,才能由機群索引服務寫入日誌。如需詳細資訊,請參閱AWS IoT 使用 CloudWatch 日誌監控

若要對非受管欄位進行彙總查詢,您必須指定您在 customFields 引數中定義的欄位傳遞給 UpdateIndexingConfigurationupdate-indexing-configuration。如果欄位值與設定的欄位資料類型不一致,則在您執行彙總查詢時會忽略此值。

如果欄位因為不相符類型而無法編製索引,機群索引服務會將錯誤日誌傳送至 CloudWatch 日誌。錯誤日誌包含欄位名稱、無法轉換的值,以及裝置的物件名稱。以下是範例錯誤日誌:

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

如果裝置已中斷連線大約一小時,則可能會缺少連線狀態的 timestamp 值。對於持久性工作階段,當用戶端中斷連線的時間超過持久性工作階段的已設定 time-to-live (TTL) 之後,該值可能會遺失。只有針對用戶端 ID 有相符物件名稱的連線,連線狀態資料才會建立索引。(用戶端 ID 是用來將裝置連線至 的值 AWS IoT Core。)

疑難排解機群索引組態

無法降級機群索引組態

移除與機群指標或動態群組相關聯的資料來源時,不支援機群索引組態降級。

例如,若您的索引組態具有登錄資料、影子資料和連線資料,且查詢 thingName:TempSensor* AND shadow.desired.temperature>80 有機群指標,則更新索引組態以僅包含登錄資料將導致錯誤。

不支援修改現有機群指標使用的自訂欄位。

由於不相容的機群指標或動態群組,無法更新您的索引組態

若由於不相容的機群指標或動態群組而無法更新索引組態,請先刪除不相容的機群指標或動態群組,然後再更新索引組態。

對位置索引和地理位置進行故障診斷

若要對位置索引和地理位置中的不相符類型錯誤進行故障診斷,您可以啟用 CloudWatch 日誌。如需如何使用 AWS IoT 監控的詳細資訊 CloudWatch,請遵循 step-by-step指南。

當您使用地理位置查詢索引位置資料時,您在 中指定的位置欄位geoLocations必須與您傳遞給 的位置欄位相符UpdateIndexingConfiguration。如果不相符,機群索引會將不相符的類型錯誤傳送到 CloudWatch。錯誤日誌包含欄位名稱、無法轉換的值,以及裝置的物件名稱。

以下是範例錯誤日誌:

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

如需詳細資訊,請參閱索引位置資料

機群指標疑難排解

在 中看不到資料點 CloudWatch

如果您可以建立機群指標,但無法在 中看到資料點 CloudWatch,則可能沒有符合查詢字串條件的物件。

請參閱下列範例指令,了解如何建立機群指標:

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

如果沒有符合查詢字串條件 --query-string "thingName:TempSensor* AND attributes.temperature>80" 的物件:

  • 透過 values=count,您將能夠建立機群指標,而且會有資料點顯示在 中 CloudWatch。count 數值的資料點一律為 0。

  • 使用 values 以外的 count,您將能夠建立機群指標,但不會在 中看到機群指標 CloudWatch ,也不會在 中顯示任何資料點 CloudWatch。