Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS IoT menyediakan empat APIs (GetStatistics
,GetCardinality
,GetPercentiles
, danGetBucketsAggregation
) yang memungkinkan Anda mencari data agregat armada perangkat Anda.
catatan
Untuk masalah dengan nilai agregasi yang hilang atau tidak terdugaAPIs, baca panduan pemecahan masalah pengindeksan Armada.
GetStatistics
get-statisticsCLIPerintah GetStatisticsAPIdan mengembalikan hitungan, rata-rata, jumlah, minimum, maksimum, jumlah kuadrat, varians, dan standar deviasi untuk bidang agregat yang ditentukan.
get-statisticsCLIPerintah mengambil parameter berikut:
index-name
-
Nama indeks yang akan dicari. Nilai default-nya adalah
AWS_Things
. query-string
-
Query yang digunakan untuk mencari indeks. Anda dapat menentukan
"*"
untuk mendapatkan hitungan semua hal yang diindeks di Anda. Akun AWS aggregationField
-
(Opsional) Bidang untuk agregat. Bidang ini harus berupa bidang terkelola atau kustom yang ditentukan saat Anda meneleponupdate-indexing-configuration. Jika Anda tidak menentukan bidang agregasi,
registry.version
digunakan sebagai bidang agregasi. query-version
-
Versi kueri yang akan digunakan. Nilai default-nya adalah
2017-09-30
.
Jenis bidang agregasi dapat mempengaruhi statistik yang dikembalikan.
GetStatistics dengan nilai string
Jika Anda menggabungkan pada bidang string, pemanggilan akan GetStatistics
mengembalikan jumlah perangkat yang memiliki atribut yang cocok dengan kueri. Sebagai contoh:
aws iot get-statistics --aggregation-field 'attributes.stringAttribute' --query-string '*'
Perintah ini mengembalikan jumlah perangkat yang berisi atribut bernamastringAttribute
:
{
"statistics": {
"count": 3
}
}
GetStatistics dengan nilai Boolean
Saat Anda memanggil GetStatistics
dengan bidang agregasi Boolean:
-
AVERAGEadalah persentase perangkat yang cocok dengan kueri.
-
MINIMUMadalah 0 atau 1 sesuai dengan aturan berikut:
-
Jika semua nilai untuk bidang agregasi adalah
false
, MINIMUM adalah 0. -
Jika semua nilai untuk bidang agregasi adalah
true
, MINIMUM adalah 1. -
Jika nilai untuk bidang agregasi adalah campuran dari
false
dantrue
, MINIMUM adalah 0.
-
-
MAXIMUMadalah 0 atau 1 sesuai dengan aturan berikut:
-
Jika semua nilai untuk bidang agregasi adalah
false
, MAXIMUM adalah 0. -
Jika semua nilai untuk bidang agregasi adalah
true
, MAXIMUM adalah 1. -
Jika nilai untuk bidang agregasi adalah campuran dari
false
dantrue
, MAXIMUM adalah 1.
-
-
SUMadalah jumlah dari bilangan bulat yang setara dengan nilai Boolean.
-
COUNTadalah jumlah hal-hal yang cocok dengan kriteria string kueri dan berisi nilai bidang agregasi yang valid.
GetStatistics dengan nilai numerik
Ketika Anda memanggil GetStatistics
dan menentukan bidang agregasi jenisNumber
, GetStatistics
mengembalikan nilai-nilai berikut:
- count
-
Hitungan hal-hal yang cocok dengan kriteria string kueri dan berisi nilai bidang agregasi yang valid.
- rata-rata
-
Rata-rata nilai numerik yang cocok dengan query.
- sum
-
Jumlah nilai numerik yang cocok dengan query.
- minimum
-
Nilai numerik terkecil yang cocok dengan kueri.
- maksimum
-
Nilai numerik terbesar yang cocok dengan kueri.
- sumOfSquares
-
Jumlah kuadrat dari nilai numerik yang cocok dengan query.
- perbedaan
-
Varians dari nilai numerik yang cocok dengan query. Varians dari satu set nilai adalah rata-rata kuadrat dari perbedaan setiap nilai dari nilai rata-rata himpunan.
- stdDeviation
-
Standar deviasi dari nilai numerik yang cocok dengan query. Standar deviasi dari satu set nilai adalah ukuran seberapa tersebar nilai-nilai tersebut.
Contoh berikut menunjukkan cara memanggil get-statistics dengan bidang kustom numerik.
aws iot get-statistics --aggregation-field 'attributes.numericAttribute2' --query-string '*'
{
"statistics": {
"count": 3,
"average": 33.333333333333336,
"sum": 100.0,
"minimum": -125.0,
"maximum": 150.0,
"sumOfSquares": 43750.0,
"variance": 13472.22222222222,
"stdDeviation": 116.06990230986766
}
}
Untuk bidang agregasi numerik, jika nilai bidang melebihi nilai ganda maksimum, nilai statistik kosong.
GetCardinality
get-cardinalityCLIPerintah GetCardinalityAPIdan mengembalikan perkiraan jumlah nilai unik yang cocok dengan kueri. Misalnya, Anda mungkin ingin menemukan jumlah perangkat dengan tingkat baterai kurang dari 50 persen:
aws iot get-cardinality --index-name AWS_Things --query-string "batterylevel > 50" --aggregation-field "shadow.reported.batterylevel"
Perintah ini mengembalikan jumlah hal dengan tingkat baterai lebih dari 50 persen:
{ "cardinality": 100 }
cardinality
selalu dikembalikan get-cardinality bahkan jika tidak ada bidang yang cocok. Sebagai contoh:
aws iot get-cardinality --query-string "thingName:Non-existent*" --aggregation-field "attributes.customField_STR"
{
"cardinality": 0
}
get-cardinalityCLIPerintah mengambil parameter berikut:
index-name
-
Nama indeks yang akan dicari. Nilai default-nya adalah
AWS_Things
. query-string
-
Query yang digunakan untuk mencari indeks. Anda dapat menentukan
"*"
untuk mendapatkan hitungan semua hal yang diindeks di Anda. Akun AWS aggregationField
-
Bidang untuk agregat.
query-version
-
Versi kueri yang akan digunakan. Nilai default-nya adalah
2017-09-30
.
GetPercentiles
Perintah GetPercentilesAPIdan get-percentiles CLI perintah mengelompokkan nilai agregat yang cocok dengan kueri ke dalam pengelompokan persentil. Pengelompokan persentil default adalah: 1,5,25,50,75,95,99, meskipun Anda dapat menentukan sendiri saat menelepon. GetPercentiles
Fungsi ini mengembalikan nilai untuk setiap kelompok persentil yang ditentukan (atau pengelompokan persentil default). Grup persentil “1" berisi nilai bidang agregat yang terjadi di sekitar satu persen dari nilai yang cocok dengan kueri. Grup persentil “5" berisi nilai bidang agregat yang terjadi di sekitar lima persen dari nilai yang cocok dengan kueri, dan seterusnya. Hasilnya adalah perkiraan, semakin banyak nilai yang cocok dengan kueri, semakin akurat nilai persentil.
Contoh berikut menunjukkan cara memanggil get-percentiles CLI perintah.
aws iot get-percentiles --query-string "thingName:*" --aggregation-field "attributes.customField_NUM" --percents 10 20 30 40 50 60 70 80 90 99
{
"percentiles": [
{
"value": 3.0,
"percent": 80.0
},
{
"value": 2.5999999999999996,
"percent": 70.0
},
{
"value": 3.0,
"percent": 90.0
},
{
"value": 2.0,
"percent": 50.0
},
{
"value": 2.0,
"percent": 60.0
},
{
"value": 1.0,
"percent": 10.0
},
{
"value": 2.0,
"percent": 40.0
},
{
"value": 1.0,
"percent": 20.0
},
{
"value": 1.4,
"percent": 30.0
},
{
"value": 3.0,
"percent": 99.0
}
]
}
Perintah berikut menunjukkan output yang dikembalikan dari get-percentiles saat tidak ada dokumen yang cocok.
aws iot get-percentiles --query-string "thingName:Non-existent*" --aggregation-field "attributes.customField_NUM"
{
"percentiles": []
}
get-percentileCLIPerintah mengambil parameter berikut:
index-name
-
Nama indeks yang akan dicari. Nilai default-nya adalah
AWS_Things
. query-string
-
Query yang digunakan untuk mencari indeks. Anda dapat menentukan
"*"
untuk mendapatkan hitungan semua hal yang diindeks di Anda. Akun AWS aggregationField
-
Bidang agregat, yang harus
Number
bertipe. query-version
-
Versi kueri yang akan digunakan. Nilai default-nya adalah
2017-09-30
. percents
-
(Opsional) Anda dapat menggunakan parameter ini untuk menentukan pengelompokan persentil kustom.
GetBucketsAggregation
get-buckets-aggregationCLIPerintah GetBucketsAggregationAPIdan mengembalikan daftar bucket dan jumlah total hal yang sesuai dengan kriteria string kueri.
Contoh berikut menunjukkan cara memanggil get-buckets-aggregation CLI perintah.
aws iot get-buckets-aggregation --query-string '*' --index-name AWS_Things --aggregation-field 'shadow.reported.batterylevelpercent' --buckets-aggregation-type 'termsAggregation={maxBuckets=5}'
Perintah ini mengembalikan yang berikut:
{
"totalCount": 20,
"buckets": [
{
"keyValue": "100",
"count": 12
},
{
"keyValue": "90",
"count": 5
},
{
"keyValue": "75",
"count": 3
}
]
}
get-buckets-aggregationCLIPerintah mengambil parameter berikut:
index-name
-
Nama indeks yang akan dicari. Nilai default-nya adalah
AWS_Things
. query-string
-
Query yang digunakan untuk mencari indeks. Anda dapat menentukan
"*"
untuk mendapatkan hitungan semua hal yang diindeks di Anda. Akun AWS aggregation-field
-
Bidang untuk agregat.
buckets-aggregation-type
-
Kontrol dasar bentuk respons dan jenis agregasi bucket yang akan dilakukan.
Otorisasi
Anda dapat menentukan indeks grup benda sebagai sumber daya ARN dalam tindakan AWS IoT kebijakan, sebagai berikut.
Tindakan | Sumber Daya |
---|---|
|
Indeks ARN (misalnya, |