Interroge plusieurs propriétés soumises par un appareil sur une période spécifiée.
Limites
Vous pouvez interroger au maximum 10 propriétés à la fois. Pour chaque propriété, vous pouvez récupérer un maximum de 100 enregistrements.
-
Vous pouvez interroger les données de propriété générées au cours des 30 derniers jours.
RemarqueLa durée de conservation d'un enregistrement de propriété est calculée à partir du jour de sa génération.
-
Chaque compte Alibaba Cloud peut exécuter un maximum de 10 requêtes par seconde (QPS).
RemarqueLes utilisateurs RAM d'un compte Alibaba Cloud partagent le quota de ce compte.
Notes d'utilisation
Lorsque vous appelez cette opération pour interroger des enregistrements de propriété sur une période donnée, le nombre d'enregistrements pour une propriété à un instant donné peut atteindre la limite définie par le paramètre PageSize. Dans ce cas, l'interrogation s'arrête et certains enregistrements d'autres propriétés risquent de ne pas être renvoyés. Vérifiez si tous les enregistrements d'une propriété ont été renvoyés en examinant le paramètre de réponse NextValid :
-
Si la valeur du paramètre NextValid est true, des enregistrements non récupérés existent dans la période indiquée par les paramètres NextTime et EndTime.
Utilisez la valeur du paramètre de réponse
NextTime
comme valeur du paramètre de requête StartTime et appelez à nouveau cette opération pour interroger les enregistrements restants. Répétez l'appel jusqu'à ce que la valeur du paramètre
NextValid
soit false.
RemarquePour récupérer tous les enregistrements de propriété sur une période donnée, définissez le paramètre
PageSize
sur sa valeur maximale. Ensuite, appelez cette opération plusieurs fois jusqu'à ce que la valeur du paramètre
NextValid
soit false.
Si la valeur du paramètre NextValid est false, tous les enregistrements de propriété ont été renvoyés.
Débogage
Paramètres de requête
| Paramètre | Type | Obligatoire | Exemple | Description |
| Action | String | Oui | QueryDevicePropertiesData | Opération à effectuer. Définissez la valeur sur QueryDevicePropertiesData. |
| Asc | Integer | Oui | 0 | Ordre de tri des enregistrements de propriété renvoyés. Valeurs possibles :
|
| DeviceName | String | Oui | airconditioning | Nom de l'appareil (DeviceName). |
| EndTime | Long | Oui | 1579249499000 | Fin de la plage de temps à interroger. La valeur est un horodatage de 13 chiffres en millisecondes, par exemple 1579249499000. |
| Identifier.N | RepeatList | Oui | temperature | Identifiants des propriétés. Les identifiants de propriété doivent être uniques. Vous pouvez afficher les identifiants de propriété dans la console IoT Platform. Accédez à l'onglet Define Feature de la page Product Details. Vous pouvez également appeler l'opération QueryThingModel et consulter les identifiants de propriété dans les données TSL renvoyées. Remarque Si une propriété nommée temperature appartient à un module personnalisé nommé testFb, définissez ce paramètre sur testFb:temperature. Le module personnalisé n'est pas le module par défaut. |
| PageSize | Integer | Oui | 10 | Nombre maximal d'enregistrements renvoyés pour chaque propriété. Valeur maximale : 100. Le nombre d'enregistrements renvoyés pour une propriété donnée ne peut pas dépasser cette limite. |
| ProductKey | String | Oui | a1BwAGV**** | Clé produit (ProductKey) du produit auquel l'appareil appartient. |
| StartTime | Long | Oui | 1579249499000 | Début de la plage de temps à interroger. La valeur est un horodatage de 13 chiffres en millisecondes, par exemple 1579249499000. |
| IotInstanceId | String | Non | iot_instc_pu****_c*-v64******** | ID de l'instance. Vous pouvez afficher l'ID de l'instance sur la page Overview de la console IoT Platform. Important
Pour plus d'informations, consultez Overview. |
| IotId | String | Non | Q7uOhVRdZRRlDnTLv****00100 | ID de l'appareil. L'ID de l'appareil est émis par IoT Platform. Remarque Le paramètre IotId est un identifiant global unique (GUID) qui correspond à la combinaison des paramètres ProductKey et DeviceName. Si vous spécifiez simultanément le paramètre IotId ainsi que la combinaison des paramètres ProductKey et DeviceName, le paramètre IotId sera utilisé. |
En plus des paramètres de requête spécifiques à l'opération mentionnés ci-dessus, vous devez spécifier les paramètres de requête communs lors de l'appel de cette opération. Pour plus d'informations, consultez Paramètres de requête communs.
Paramètres de réponse
| Paramètre | Type | Exemple | Description |
| Code | String | iot.system.SystemException | Code d'erreur renvoyé en cas d'échec de l'appel. Pour plus d'informations, consultez Codes d'erreur. |
| ErrorMessage | String | A system exception occurred. | Message d'erreur renvoyé en cas d'échec de l'appel. |
| NextTime | Long | 1579249499000 | Heure de début pour l'interrogation de la page suivante. Vous pouvez utiliser la valeur du paramètre NextTime comme valeur du paramètre StartTime lors de l'interrogation de la page de résultats suivante. |
| NextValid | Boolean | true | Indique si la page suivante existe.
Si la valeur de retour du paramètre NextValid est true, vous pouvez utiliser la valeur du paramètre NextTime comme valeur du paramètre StartTime lors de l'interrogation de la page de résultats suivante. |
| PropertyDataInfos | Array of PropertyDataInfo | Liste des enregistrements de propriété renvoyés en cas de succès de l'appel. Pour plus d'informations, consultez PropertyDataInfo. | |
| PropertyDataInfo | |||
| Identifier | String | temperature | Identifiant de la propriété. |
| List | Array of PropertyInfo | Liste des enregistrements de propriété. | |
| PropertyInfo | |||
| Time | Long | 1579249499000 | Horodatage de soumission de la propriété, exprimé en millisecondes (par exemple 1579249499000). |
| Value | String | 21.3 | Valeur de la propriété. |
| RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 | ID de la requête. |
| Success | Boolean | true | Indique si l'appel a réussi.
|
Exemples
Exemple de requête
https://iot.cn-shanghai.aliyuncs.com/?Action=QueryDevicePropertiesData
&Asc=0
&DeviceName=water
&EndTime=1540115948152
&Identifier.1=Temperature
&Identifier.2=Humidity
&PageSize=100
&ProductKey=a1bd***
&StartTime=1540116010723
&<Common request parameters>
Exemple de réponse réussie
Format XML
<QueryDevicePropertiesData>
<NextValid>false</NextValid>
<RequestId>CC4CAC00-ED4C-4004-9E8D-E8B4A78552FA</RequestId>
<PropertyDataInfos>
<PropertyDataInfo>
<List>
<PropertyInfo>
<Value>32.46</Value>
<Time>1579249151178</Time>
</PropertyInfo>
</List>
<Identifier>Temperature</Identifier>
</PropertyDataInfo>
<PropertyDataInfo>
<List>
<PropertyInfo>
<Value>48</Value>
<Time>1579249151178</Time>
</PropertyInfo>
</List>
<Identifier>Humidity</Identifier>
</PropertyDataInfo>
</PropertyDataInfos>
<Success>true</Success>
</QueryDevicePropertiesData>
Format JSON
{
"NextValid": false,
"RequestId": "CC4CAC00-ED4C-4004-9E8D-E8B4A78552FA",
"PropertyDataInfos": {
"PropertyDataInfo": [
{
"List": {
"PropertyInfo": [
{
"Value": "32.46",
"Time": 1579249151178
}
]
},
"Identifier": "Temperature"
},
{
"List": {
"PropertyInfo": [
{
"Value": "48",
"Time": 1579249151178
}
]
},
"Identifier": "Humidity"
}
]
},
"Success": true
}
Codes d'erreur
Pour obtenir la liste des codes d'erreur, consultez le Centre d'erreurs de l'API.