管理機群索引 - AWS IoT Core

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

管理機群索引

機群索引可以管理兩種類型的索引:物件索引和物件群組索引。

物件索引

為所有物件建立的索引為 AWS_Things。物件索引支援以下資料來源:AWS IoT 登錄檔資料、AWS IoT Device Shadow 資料、AWS IoT 連線資料以及 AWS IoT Device Defender 違規資料。透過將這些資料來源新增至機群索引組態,您可以搜尋物件、查詢彙總資料,以及根據搜尋查詢建立動態物件群組和機群指標。

註冊表-AWS IoT 提供一個註冊表,幫助您管理事情。您可以將登錄資料新增至機群索引組態,根據物件名稱、描述和其他登錄屬性來搜尋裝置。如需登錄檔的詳細資訊,請參閱如何使用登錄檔管理物件

影子AWS IoT Device Shadow 服務提供影子,協助您儲存裝置狀態資料。物件索引同時支持傳統的未命名影子和命名影子。若要索引已命名影子,請啟用已命名影子的設定,然後在物件索引組態中指定影子名稱。依預設,每個最多可以新增 10 個陰影名稱 AWS 帳戶。若要了解如何增加影子名稱的數量限制,請參閱《AWS 一般參考》中的 AWS IoT Device Management 配額

若要新增要索引的已命名影子:

  • 如果使用的是 AWS IoT 主控台,請開啟 Thing indexing (物件索引),選擇 Add named shadows (新增已命名影子),再透過 Named shadow selection (已命名影子選擇) 新增影子名稱。

  • 如果使用 AWS Command Line Interface (AWS CLI),請設定namedShadowIndexingModeON,並在中指定陰影名稱IndexingFilter。若要查看 CLI 命令範例,請參閱管理物件索引

重要

2022 年 7 月 20 日是 AWS IoT 裝置管理叢集索引的正式發行 (GA) 版本,與 AWS IoT Core 命名陰影整合並 AWS IoT Device Defender 偵測違規。使用此 GA 版本,您可以透過指定影子名稱來索引特定的已命名影子。如果您在 2021 年 11 月 30 日至 2022 年 7 月 19 日期間,即在此功能的公開預覽期間新增了要編製索引的已命名影子,我們建議您重新設定機群索引設定,並選擇特定的影子名稱,以降低索引成本並最佳化效能。

如需影子的詳細資訊,請參閱 AWS IoT Device Shadow 服務

連線 - 裝置連線資料可協助您識別裝置的連線狀態。此連線資料是由生命週期事件驅動。當用戶端連線或中斷連線時,會將含有訊息的生命週期事件 AWS IoT 發佈至 MQTT 主題。連線或中斷連線訊息可以是提供連線狀態詳細資訊的 JSON 元素清單。如需裝置連線的詳細資訊,請參閱生命週期事件

Device Defender 違規-AWS IoT Device Defender 違規資料有助於針對您在安全性設定檔中定義的正常行為,識別異常裝置行為。安全性設定檔包含一組預期裝置行為。每個行為都會使用指定為裝置正常行為的指標。如需有關裝置防禦者違規的詳細資訊,請參閱AWS IoT Device Defender 偵測

如需詳細資訊,請參閱管理物件索引

物件群組索引

AWS_ThingGroups 是包含所有物件群組的索引。您可以使用此索引,根據群組名稱、描述、屬性和所有父系群組名稱搜尋群組。

如需詳細資訊,請參閱管理物件群組索引

受管欄位

受管理欄位包含與物件、物件群組、裝置陰影、裝置連線和 Device Defender 違規相關聯的資料。 AWS IoT 定義託管字段中的數據類型。您可以在建立 AWS IoT 物件時指定每個受管理欄位的值。例如,物件名稱、物件群組和物件描述都是受管欄位。機群索引會根據您指定的索引模式編製受管欄位的索引。無法在 customFields 中變更或顯示受管欄位。如需詳細資訊,請參閱自訂欄位

下文列出物件索引的受管欄位:

  • 登錄檔的受管欄位

    "managedFields" : [ {name:thingId, type:String}, {name:thingName, type:String}, {name:registry.version, type:Number}, {name:registry.thingTypeName, type:String}, {name:registry.thingGroupNames, type:String}, ]
  • 傳統未命名影子的受管欄位

    "managedFields" : [ {name:shadow.version, type:Number}, {name:shadow.hasDelta, type:Boolean} ]
  • 命名影子的受管欄位

    "managedFields" : [ {name:shadow.name.shadowName.version, type:Number}, {name:shadow.name.shadowName.hasDelta, type:Boolean} ]
  • 物件連線的受管欄位

    "managedFields" : [ {name:connectivity.timestamp, type:Number}, {name:connectivity.version, type:Number}, {name:connectivity.connected, type:Boolean}, {name:connectivity.disconnectReason, type:String} ]
  • Device Defender 的受管欄位

    "managedFields" : [ {name:deviceDefender.violationCount, type:Number}, {name:deviceDefender.securityprofile.behaviorname.metricName, type:String}, {name:deviceDefender.securityprofile.behaviorname.lastViolationTime, type:Number}, {name:deviceDefender.securityprofile.behaviorname.lastViolationValue, type:String}, {name:deviceDefender.securityprofile.behaviorname.inViolation, type:Boolean} ]
  • 物件群組的受管欄位

    "managedFields" : [ {name:description, type:String}, {name:parentGroupNames, type:String}, {name:thingGroupId, type:String}, {name:thingGroupName, type:String}, {name:version, type:Number}, ]

下表列出無法搜尋的受管欄位。

資料來源 無法搜尋的受管欄位
登錄檔 registry.version
未命名的影子 shadow.version
已命名的影子 shadow.name.*.version
Device Defender deviceDefender.version
物件群組 version

自訂欄位

您可以建立自訂欄位來編製索引,可以彙總物件屬性、Device Shadow 資料和 Device Defender 違規資料。customFields 屬性是欄位名稱和資料類型配對的清單。您可以執行基於資料類型的彙總查詢。您選擇的索引模式會影響可以在 customFields 中指定的欄位。例如,如果您指定 REGISTRY 索引模式,則無法從物件影子中指定自訂欄位。您可以使用 update-indexing-configurationCLI 命令來建立或更新自訂欄位 (請參閱更新索引組態範例中的範例命令)。

  • 自訂欄位名稱

物件和物件群組屬性的自訂欄位名稱以 attributes. 開頭,後接屬性名稱。如果開啟未命名的影子索引,則物件可使用以 shadow.desired 或者 shadow.reported 開頭的自訂欄位名稱,後接未命名的影子資料值名稱。如果開啟已命名的影子索引,則物件可使用以 shadow.name.*.desired. 或者 shadow.name.*.reported. 開頭的自訂欄位名稱,後接已命名的影子資料值。如果開啟 Device Defender 違規索引,則物件可使用以 deviceDefender. 開頭的自訂欄位名稱,後接 Device Defender 的違規資料值。

字首後面接的屬性或資料值名稱只能使用英數字元、- (連字號) 和 _ (底線) 字元。不可有任何空格。

如果組態中的自訂欄位與正要編製索引的值之間出現類型不一致,機群索引會忽略彙總查詢的不一致值。 CloudWatch 疑難排解彙總查詢問題時,記錄檔很有用。如需詳細資訊,請參閱 機群索引服務的疑難排解彙總查詢

  • 自訂欄位類型

自訂欄位類型擁有下列支援的值:NumberString,以及 Boolean