Appelle simultanément les services de plusieurs appareils.
Remarques sur l'utilisation
Cet appel s'effectue uniquement de manière asynchrone.
Lorsqu'un appareil reçoit un appel de service, il renvoie une réponse à l'appelant. Lors de la configuration de l'appareil, spécifiez la logique de réponse et les paramètres de réponse. Le format des données de ces paramètres doit respecter le protocole Alink. Exemple :
{
"id": "58***89",
"code": 200,
"data": {},
"message": "success",
"localizedMsg": "localizedMsg"
}
Le paramètre id définit l'identifiant unique de la requête, généré par IoT Platform. L'appareil récupère cet ID dans les paramètres de la requête et le renvoie.
Le paramètre code indique le résultat de l'appel de service sous forme d'entier.
Le paramètre data contient le résultat de l'appel de service renvoyé à l'appelant. Définissez les paramètres inclus dans ce résultat. Les données doivent être au format JSON.
-
Les paramètres message et localizedMsg sont facultatifs.
Le SDK Link pour C d'IoT Platform propose un exemple d'utilisation d'un modèle TSL (Thing Specification Language). Pour en savoir plus, consultez la rubrique Call device services.
Limites QPS
Vous pouvez effectuer jusqu'à 10 appels par seconde et par compte.
Les utilisateurs RAM d'un compte Alibaba Cloud partagent le quota de ce compte.
Débogage
Paramètres de requête
| Paramètre | Type | Obligatoire | Exemple | Description |
| Action | String | Oui | InvokeThingsService | Opération à effectuer. Définissez la valeur sur InvokeThingsService. |
| Args | String | Oui | {"param1":1} | Paramètre d'entrée du service, sous forme de chaîne JSON. Exemple : Args={"param1": 1}. Si aucun paramètre d'entrée n'est requis, définissez la valeur sur Args={}. Important Si les données TSL sont de type float ou double, les valeurs des paramètres correspondants doivent comporter au moins une décimale. Exemples : 10,0 et 11,1. |
| DeviceName.N | RepeatList | Oui | device1 | Nom de l'appareil dont le service est appelé. Vous pouvez spécifier jusqu'à 100 noms d'appareils. |
| Identifier | String | Oui | Set | Identifiant du service. Pour afficher l'identifier du service, utilisez l'une des méthodes suivantes :
Remarque Si un service nommé testService appartient à un module personnalisé nommé testFb, définissez ce paramètre sur testFb:testService. Le module personnalisé ne doit pas être le module par défaut. |
| ProductKey | String | Oui | a1BwAGV**** | ProductKey du produit auquel appartient l'appareil. |
| IotInstanceId | String | Non | iot_instc_pu****_c*-v64******** | ID de l'instance IoT. Vous pouvez afficher l'ID de l'instance sur la page Overview de la console IoT Platform. Important
Pour plus d'informations, consultez la rubrique Instance overview. |
| Qos | Integer | Non | 1 | Niveau de qualité de service (QoS) du message. Valeurs possibles :
|
Outre les paramètres spécifiques à cette opération, vous devez inclure les paramètres de requête communs. Pour plus d'informations, consultez la rubrique Common parameters.
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 la rubrique Error codes. |
| ErrorMessage | String | A system exception occurred. | Message d'erreur renvoyé en cas d'échec de l'appel. |
| RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 | ID de la requête. |
| Success | Boolean | true | Indique si l'appel a réussi. Valeurs possibles :
|
Exemples
Exemple de requête
https://iot.cn-shanghai.aliyuncs.com/?Action=InvokeThingsService
&Args=%7B%20%20%20%20%20%22walk%22%3A%22a~z%22%2C%20%20%20%20%20%22city%22%3A%22shanghai%22%20%7D
&DeviceName.1=1102andriod02
&DeviceName.2=1102android01
&Identifier=TimeReset
&ProductKey=a1hWjHD****
&<Common request parameters>
Exemple de réponse réussie
Format XML
<InvokeThingsServiceResponse>
<RequestId>059C3274-6197-4BEC-95E4-49A076330E57</RequestId>
<Success>true</Success>
</InvokeThingsServiceResponse>
Format JSON
{
"RequestId": "059C3274-6197-4BEC-95E4-49A076330E57",
"Success": true
}
Codes d'erreur
Pour obtenir la liste des codes d'erreur, consultez la rubrique Codes d'erreur de service.