Envoie un message à plusieurs appareils d'un produit simultanément via un sujet personnalisé.
Remarques sur l'utilisation
Un seul appel permet d'envoyer un message à un maximum de 100 appareils du même produit.
BatchPub ne permet pas de définir des propriétés ni d'invoquer des services. Pour définir des propriétés, appelez SetDeviceProperty ou SetDevicesProperty. Pour invoquer des services, appelez InvokeThingService ou InvokeThingsService.
Limites QPS
Chaque compte peut appeler cette opération jusqu'à 50 fois par seconde.
Les utilisateurs RAM d'un compte Alibaba Cloud partagent le quota du compte.
Débogage
Paramètres de requête
|
Parameter |
Type |
Required |
Example |
Description |
| Action | String | Yes | BatchPub |
L'opération à effectuer. Définissez la valeur sur BatchPub. |
| DeviceName.N | RepeatList | Yes | newdevice1 |
Le DeviceName de l'appareil auquel vous souhaitez envoyer le message. Remarque
|
| MessageContent | String | Yes | eyJ0ZXN0IjoidGFzayBiYXRjaHB1YiBicm9hZGNhc3QifQ== |
Le corps du message. La taille maximale est de 256 Ko. Convertissez le message brut en données binaires, puis encodez-le en Base64. Remarque
IoT Platform décode les données encodées en Base64 avant de les envoyer à l'appareil ; ce dernier n'a donc pas besoin d'effectuer le décodage. |
| ProductKey | String | Yes | a1BwAGV**** |
La ProductKey du produit auquel appartient l'appareil. |
| TopicShortName | String | Yes | get |
Le suffixe du sujet personnalisé. Le nom d'un sujet personnalisé suit le format : Remarque
Le sujet doit disposer de l'autorisation Subscribe ou des autorisations Publish et Subscribe. Assurez-vous que tous les appareils spécifiés sont abonnés au sujet. Vous pouvez consulter les sujets personnalisés en utilisant les méthodes suivantes :
|
| IotInstanceId | String | No | iot-cn-0pp1n8t**** |
L'ID d'instance. Vous trouverez l'ID sur la page Overview de la console IoT Platform. Important
Pour plus d'informations, consultez Overview. |
| Qos | Integer | No | 0 |
Le niveau de qualité de service (QoS) du message. Valeurs possibles :
Valeur par défaut : 0. Remarque
IoT Platform conserve les messages QoS 1 pendant sept jours maximum. Les messages QoS 0 ne sont pas conservés. |
Outre les paramètres de requête spécifiques à l'opération, vous devez spécifier les paramètres de requête communs lorsque vous appelez cette opération. Pour plus d'informations, consultez Common parameters.
Paramètres de réponse
|
Parameter |
Type |
Example |
Description |
| Code | String | iot.system.SystemException |
Le code d'erreur renvoyé si la requête a échoué. Pour plus d'informations, consultez Error codes. |
| ErrorMessage | String | A system exception occurred. |
Le message d'erreur renvoyé si la requête a échoué. |
| RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 |
L'ID de la requête. |
| Success | Boolean | true |
Indique si la requête a réussi. Valeurs possibles :
|
Exemples
Exemples de requêtes
http(s)://iot.cn-shanghai.aliyuncs.com/?Action=BatchPub
&DeviceName.1=newdevice1
&MessageContent=eyJ0ZXN0IjoidGFzayBiYXRjaHB1YiBicm9hZGNhc3QifQ==
&ProductKey=a1BwAGV****
&TopicShortName=get
&<Common request parameters>
Exemples de réponses réussies
XML format
<BatchPubResponse>
<RequestId>9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E</RequestId>
<Success>true</Success>
</BatchPubResponse>
JSON format
{
"RequestId": "9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E",
"Success": true
}
Codes d'erreur
Pour obtenir la liste des codes d'erreur, consultez les Codes d'erreur de service.