Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Interrogation des données agrégées
AWS IoT en fournit quatre APIs (GetStatistics
, GetCardinality
GetPercentiles
, etGetBucketsAggregation
) qui vous permettent de rechercher des données agrégées dans votre parc d'appareils.
Note
Pour les problèmes liés à des valeurs manquantes ou inattendues pour l'agrégationAPIs, consultez le guide de résolution des problèmes liés à l'indexation de la flotte.
GetStatistics
La get-statistics CLI commande GetStatisticsAPIet renvoie le nombre, la moyenne, la somme, le minimum, le maximum, la somme des carrés, la variance et l'écart type pour le champ agrégé spécifié.
La commande CLI d'get-statistics utilise les paramètres suivants :
index-name
-
Nom de l'index dans lequel effectuer la recherche. La valeur par défaut est
AWS_Things
. query-string
-
Nom de la requête utilisée pour recherche dans l'index. Vous pouvez spécifier
"*"
d'obtenir le nombre de tous les éléments indexés dans votre Compte AWS. aggregationField
-
(Facultatif) Le champ à agréger. Ce champ doit être un champ géré ou personnalisé défini lorsque vous appelez update-indexing-configuration. Si vous ne spécifiez pas de champ d'agrégation,
registry.version
est utilisé comme le champ d'agrégation. query-version
-
Version de la requête à utiliser. La valeur par défaut est
2017-09-30
.
Le type de champ d'agrégation peut affecter les statistiques renvoyées.
GetStatistics avec des valeurs de chaîne
Si vous regroupez les données en fonction d'un champ de chaîne, l'appel à GetStatistics
renvoie un nombre d'appareils dont les attributs correspondent à la requête. Par exemple :
aws iot get-statistics --aggregation-field 'attributes.stringAttribute' --query-string '*'
Cette commande renvoie le nombre d'appareils qui contiennent un attribut nommé stringAttribute
:
{ "statistics": { "count": 3 } }
GetStatistics avec des valeurs booléennes
Lorsque vous appelez GetStatistics
avec un champ d'agrégation Booléen :
-
AVERAGEest le pourcentage d'appareils qui répondent à la requête.
-
MINIMUMest égal à 0 ou 1 selon les règles suivantes :
-
Si toutes les valeurs du champ d'agrégation MINIMUM sont
false
égales à 0. -
Si toutes les valeurs du champ d'agrégation MINIMUM sont
true
égales à 1. -
Si les valeurs du champ d'agrégation sont une combinaison de
false
ettrue
, MINIMUM est égale à 0.
-
-
MAXIMUMest égal à 0 ou 1 selon les règles suivantes :
-
Si toutes les valeurs du champ d'agrégation MAXIMUM sont
false
égales à 0. -
Si toutes les valeurs du champ d'agrégation MAXIMUM sont
true
égales à 1. -
Si les valeurs du champ d'agrégation sont une combinaison de
false
ettrue
, MAXIMUM vaut 1.
-
-
SUMest la somme de l'équivalent entier des valeurs booléennes.
-
COUNTest le nombre d'éléments qui correspondent aux critères de chaîne de requête et contiennent une valeur de champ d'agrégation valide.
GetStatistics avec des valeurs numériques
Lorsque vous appelez GetStatistics
et spécifiez un champ d'agrégation de type Number
, GetStatistics
renvoie les valeurs suivantes :
- count
-
Nombre d'éléments qui correspondent aux critères de la chaîne de requête et contiennent une valeur de champ d'agrégation valide.
- average
-
Moyenne des valeurs numériques qui correspondent à la requête.
- sum
-
Somme des valeurs numériques qui correspondent à la requête.
- minimum
-
La plus petite des valeurs numériques qui correspondent à la requête.
- maximum
-
La plus grande des valeurs numériques qui correspondent à la requête.
- sumOfSquares
-
Somme des carrés des valeurs numériques qui correspondent à la requête.
- variance
-
Variance des valeurs numériques qui correspondent à la requête. La variance d'un ensemble de valeurs est la moyenne des carrés des différences de chaque valeur par rapport à la valeur moyenne de l'ensemble.
- stdDeviation
-
Écart type des valeurs numériques qui correspondent à la requête. L'écart type d'un ensemble de valeurs est une mesure de la répartition des valeurs.
L'exemple suivant montre comment appeler get-statistics avec un champ numérique personnalisé.
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 } }
crée votre index la première fois que vous indexez.
GetCardinality
La get-cardinality CLI commande GetCardinalityAPIet renvoie le nombre approximatif de valeurs uniques correspondant à la requête. Par exemple, vous pouvez trouver le nombre d'appareils dont le niveau de batterie est inférieur à 50 % :
aws iot get-cardinality --index-name AWS_Things --query-string "batterylevel > 50" --aggregation-field "shadow.reported.batterylevel"
Cette commande renvoie le nombre d'objets dont le niveau de batterie est supérieur à 50 % :
{ "cardinality": 100 }
cardinality
est toujours renvoyé par get-cardinality, même s'il n'y a pas de champs correspondants. Par exemple :
aws iot get-cardinality --query-string "thingName:Non-existent*" --aggregation-field "attributes.customField_STR"
{ "cardinality": 0 }
La commande CLI d'get-cardinality utilise les paramètres suivants :
index-name
-
Nom de l'index dans lequel effectuer la recherche. La valeur par défaut est
AWS_Things
. query-string
-
Nom de la requête utilisée pour recherche dans l'index. Vous pouvez spécifier
"*"
d'obtenir le nombre de tous les éléments indexés dans votre Compte AWS. aggregationField
-
Champ à agréger.
query-version
-
Version de la requête à utiliser. La valeur par défaut est
2017-09-30
.
GetPercentiles
La get-percentiles CLI commande GetPercentilesAPIet regroupe les valeurs agrégées correspondant à la requête en groupes percentiles. Les groupes de centiles par défaut sont : 1,5,25,50,75,95,99, bien que vous puissiez spécifier les vôtres lorsque vous appelez GetPercentiles
. Cette fonction renvoie une valeur pour chaque groupe de centiles spécifié (ou les groupes de centiles par défaut). Le groupe de centiles « 1 » contient la valeur de champ agrégée qui se produit dans environ 1 % des valeurs qui correspondent à la requête. Le groupe de centiles « 5 » contient la valeur de champ agrégée qui se produit dans environ 5 % des valeurs qui correspondent à la requête, etc. Le résultat est une approximation. Plus les valeurs correspondent à la requête, plus les valeurs de centile sont précises.
L'exemple suivant montre comment appeler la get-percentiles CLI commande.
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 } ] }
La commande suivante affiche la sortie renvoyée par get-percentiles lorsqu'il n'y a pas de documents correspondants.
aws iot get-percentiles --query-string "thingName:Non-existent*" --aggregation-field "attributes.customField_NUM"
{ "percentiles": [] }
La commande CLI d'get-percentile utilise les paramètres suivants :
index-name
-
Nom de l'index dans lequel effectuer la recherche. La valeur par défaut est
AWS_Things
. query-string
-
Nom de la requête utilisée pour recherche dans l'index. Vous pouvez spécifier
"*"
d'obtenir le nombre de tous les éléments indexés dans votre Compte AWS. aggregationField
-
Champ à agréger, dont le type doit être
Number
. query-version
-
Version de la requête à utiliser. La valeur par défaut est
2017-09-30
. percents
-
(Facultatif) Vous pouvez utiliser ce paramètre pour spécifier des regroupements de centiles personnalisés.
GetBucketsAggregation
La GetBucketsAggregationAPIget-buckets-aggregationCLIcommande and renvoie une liste de compartiments et le nombre total d'éléments correspondant aux critères de chaîne de requête.
L'exemple suivant montre comment appeler la get-buckets-aggregation CLI commande.
aws iot get-buckets-aggregation --query-string '*' --index-name AWS_Things --aggregation-field 'shadow.reported.batterylevelpercent' --buckets-aggregation-type 'termsAggregation={maxBuckets=5}'
Cette commande renvoie ce qui suit :
{ "totalCount": 20, "buckets": [ { "keyValue": "100", "count": 12 }, { "keyValue": "90", "count": 5 }, { "keyValue": "75", "count": 3 } ] }
La get-buckets-aggregation CLI commande prend les paramètres suivants :
index-name
-
Nom de l'index dans lequel effectuer la recherche. La valeur par défaut est
AWS_Things
. query-string
-
Nom de la requête utilisée pour recherche dans l'index. Vous pouvez spécifier
"*"
d'obtenir le nombre de tous les éléments indexés dans votre Compte AWS. aggregation-field
-
Champ à agréger.
buckets-aggregation-type
-
Contrôle de base de la forme de réponse et du type d'agrégation de compartiments à effectuer.
Autorisation
Vous pouvez spécifier l'index des groupes d'objets en tant que ressource ARN dans le cadre d'une action AWS IoT politique, comme suit.
Action | Ressource |
---|---|
|
Un index ARN (par exemple, |