本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
準備機群索引
透過 AWS IoT 叢集索引,您可以使用保留的命名 shadow ($package
) 來搜尋和彙總資料。您也可以透過查詢預留已命名影子和動態 AWS IoT 物件群組來群組物件。例如,您可以找到有關哪 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
範例裝置影子的查詢範例。如需詳細資訊,請參閱範例物件查詢。
最新版本的 AWS IoT Device Tester 免費 RTOS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
已請求的資訊 |
查詢 |
結果 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
已安裝特定套件版本的物件 |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
未安裝特定套件版本的物件 |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
所使用套件版本的套件 ID 大於 1500 的任何裝置 |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
已安裝特定套件且安裝多個套件的物件 |
|
|
透過 getBucketsAggregation
收集套件版本分佈
除了 AWS IoT 主控台中的「探索」面板之外,您也可以使用此GetBucketsAggregation
API作業取得套件版本發佈資訊。若要取得套件版本分佈資訊,您必須執行下列動作:
在機群索引中為每個軟體套件定義自訂欄位。注意:建立自訂欄位會計入 AWS IoT 機群索引服務配額。
自訂欄位的格式如下所示:
shadow.name.$package.reported.
<packageName>
.version
如需詳細資訊,請參閱 AWS IoT 叢集索引中的 [自訂欄位] 一節。