本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
準備機群索引
使用 AWS IoT 機群索引,您可以使用預留的命名影子 () 來搜尋和彙總資料$package
。您也可以透過查詢 預留已命名影子和動態 AWS IoT 物件群組 來分組物件。 https://docs.aws.amazon.com/iot/latest/developerguide/dynamic-thing-groups.html例如,您可以找到哪些 AWS IoT 物件使用特定套件版本、未安裝特定套件版本,或未安裝任何套件版本的相關資訊。您可以組合屬性以獲得進一步分析。例如,識別具有特定版本且屬於特定物件類型的物件 (例如 1.0.0 版和 pump_sensor 的物件類型)。如需詳細資訊,請參閱機群索引。
將 $package
影子設定為資料來源
若要搭配使用機群索引與軟體套件目錄,您必須啟用機群索引、將已命名影子設定為資料來源,並定義 $package
為已命名影子篩選條件。若您尚未啟用機群索引,您可以在此程序中啟用。在主控台的 AWS IoT Core
或者,您也可以在建立第一個套件時啟用機群索引。當啟用套件管理的相依性對話方塊出現時,請選擇將裝置軟體套件和版本新增為資料來源至機群索引。透過此選項,您也可以啟用機群索引。
注意
啟用軟體套件目錄的機群索引會產生標準服務費用。如需詳細資訊,請參閱 AWS IoT Device Management定價
控制台顯示的指標
在 AWS IoT 主控台軟體套件詳細資訊頁面上,探索面板會顯示透過$package
影子擷取的標準指標。
目前版本分佈圖顯示 10 個最近套件版本與 AWS IoT 物件相關聯的裝置數量和百分比,這些裝置和百分比來自與此軟體套件相關聯的所有裝置。注意:若軟體套件的套件版本多於圖表中標示的版本,您在其他中會發現它們已分組。
歷史圖表會顯示指定期間內,與所選套件版本相關聯的裝置數量。圖表一開始會是空白的,您可以選取最多 5 個套件版本並定義日期範圍和時間間隔。若要選取圖表的參數,請選擇設定。歷史圖表顯示的資料可能與目前版本分佈圖表不同,這是因為兩者顯示的套件版本數量不同,也因為歷史圖表可以選擇要分析哪些套件版本。注意:選取要進行視覺化的套件版本時,會計入機群指標限制的上限數量。如需詳細資訊,請參閱機群索引限制和配額。
如需了解收集套件版本分佈的其他方法,請參閱透過 getBucketsAggregation
收集套件版本分佈。
查詢模式
搭配軟體套件目錄進行機群索引時,會使用大多數受支援的功能 (例如詞彙和字詞以及搜尋欄位),這些功能是標準的機群索引功能。例外狀況是,comparison
和 range
查詢不適用於預留已命名影子 ($package
) version
索引鍵。但是,這些查詢可用於 attributes
索引鍵。如需詳細資訊,請參閱查詢語法。
範例資料
注意:如需詳細了解預留已命名影子及其結構,請參閱預留已命名影子。
在此範例中,第一部裝置名為 AnyThing
且已安裝下列套件:
-
軟體套件:
SamplePackage
套件版本:
1.0.0
套件 ID:
1111
影子如下所示:
{
"state": {
"reported": {
"SamplePackage": {
"version": "1.0.0",
"attributes": {
"s3UrlForSamplePackage": "https://EXAMPIEBUCKET.s3.us-west-2.amazonaws.com/exampleCodeFile1",
"packageID": "1111"
}
}
}
}
}
第二部裝置名為 AnotherThing
且已安裝下列套件:
-
軟體套件:
SamplePackage
套件版本:
1.0.0
套件 ID:
1111
-
軟體套件:
OtherPackage
套件版本:
1.2.5
套件 ID:
2222
影子如下所示:
{
"state": {
"reported": {
"SamplePackage": {
"version": "1.0.0",
"attributes": {
"s3UrlForSamplePackage": "https://EXAMPIEBUCKET.s3.us-west-2.amazonaws.com/exampleCodeFile1",
"packageID": "1111"
}
},
"OtherPackage": {
"version": "1.2.5",
"attributes": {
"s3UrlForOtherPackage": "https://EXAMPIEBUCKET.s3.us-west-2.amazonaws.com/exampleCodeFile2",
"packageID": "2222"
}
},
}
}
}
範例查詢
下表列出根據 AnyThing
和 AnotherThing
範例裝置影子的查詢範例。如需詳細資訊,請參閱範例物件查詢。
已請求的資訊 |
查詢 |
結果 |
---|---|---|
已安裝特定套件版本的物件 |
|
|
未安裝特定套件版本的物件 |
|
|
所使用套件版本的套件 ID 大於 1500 的任何裝置 |
|
|
已安裝特定套件且安裝多個套件的物件 |
|
|
透過 getBucketsAggregation
收集套件版本分佈
除了 AWS IoT 主控台中的探索面板之外,您也可以使用 GetBucketsAggregation
API操作取得套件版本分佈資訊。若要取得套件版本分佈資訊,您必須執行下列動作:
在機群索引中為每個軟體套件定義自訂欄位。注意:建立自訂欄位會計入 AWS IoT 機群索引服務配額。
自訂欄位的格式如下所示:
shadow.name.$package.reported.
<packageName>
.version
如需詳細資訊,請參閱 AWS IoT 機群索引中的自訂欄位區段。