Tous les produits
Search
Centre de documentation

IoT Platform:UpdateTopicConfig

Dernière mise à jour :Aug 10, 2026

Accorde des autorisations sur un topic personnalisé à un appareil et active ou désactive la diffusion (broadcasting), l'abonnement délégué ainsi que la compression ou la décompression des données.

Remarques d'utilisation

Vous pouvez vous abonner aux messages de diffusion d'un topic personnalisé pour un maximum de 1 000 appareils. Pour dépasser cette limite, utilisez le protocole MQTT (Message Queuing Telemetry Transport) 5.0, activez la diffusion pour le topic personnalisé et définissez les messages comme conservés (retained messages).

Procédez comme suit :

  1. Appelez l'opération UpdateTopicConfig et définissez le paramètre EnableBroadcast sur true pour autoriser la diffusion des messages par un topic personnalisé. Dans cet exemple, nous utilisons le topic personnalisé /broadcast/a1Q5XoY****/test.

  2. Appelez l'opération Pub pour diffuser des messages vers le topic /broadcast/a1Q5XoY****/test et définissez le paramètre Retained sur true afin de conserver ces messages.

  3. Appelez l'opération SubscribeTopic pour abonner un appareil au topic /broadcast/a1Q5XoY****/test. L'appareil reçoit ainsi les messages conservés du topic personnalisé.

Limites QPS

Vous pouvez appeler cette opération jusqu'à 100 fois par seconde par compte.

Remarque

Les utilisateurs RAM d'un compte Alibaba Cloud partagent le quota du compte.

Débogage

OpenAPI Explorer calcule automatiquement la valeur de signature. Nous vous recommandons de l'utiliser pour appeler cette opération. Il génère également dynamiquement des exemples de code pour différents SDK.

Paramètres de la requête

Parameter

Type

Required

Example

Description

Action String Yes UpdateTopicConfig

Opération à effectuer. Définissez la valeur sur UpdateTopicConfig.

ProductKey String Yes a1Q5XoY****

Clé ProductKey du produit auquel appartient l'appareil.

TopicFullName String Yes /broadcast/a1Q5XoY****/test

Nom du topic personnalisé.

  • Si vous utilisez un une passerelle cloud MQTT, le topic personnalisé d'origine de l'appareil sert de topic personnalisé. Pour plus d'informations, consultez la rubrique Topics.
  • Si vous n'utilisez pas de passerelle cloud MQTT, spécifiez le topic personnalisé au format /broadcast/${productKey}/${custom field} ou /${productKey}/${deviceName}/user/${custom field}. Pour diffuser des messages, utilisez le format /broadcast/${productKey}/${custom field}. La variable ${productKey} correspond à la valeur du paramètre ProductKey. La variable ${custom field} représente un champ personnalisé.
Important Pour diffuser des messages via un topic personnalisé, respectez les consignes suivantes :
  • Lors de la configuration de l'appareil, définissez le topic dans le code. Inutile de créer le topic dans la console IoT Platform.
  • Les appareils abonnés au topic doivent disposer des autorisations Subscribe ou Publish and Subscribe sur celui-ci.
IotInstanceId String No iot-0pp1n8t****

ID de l'instance. Vous le trouverez dans l'onglet Overview de la console IoT Platform.

Important
  • Si votre instance possède un ID, vous devez le renseigner dans ce paramètre, sans quoi l'appel échoue.
  • Si votre instance ne possède pas d'ID, ne configurez pas ce paramètre.

Pour plus d'informations, consultez la rubrique Overview.

EnableBroadcast Boolean No true

Active ou désactive la fonctionnalité de diffusion. Valeurs possibles :

  • true : active la diffusion.
  • false : désactive la diffusion.
Operation String No SUB

Autorisations à accorder à l'appareil sur la catégorie de topic. Valeurs possibles :

  • SUB : abonnement
  • PUB : publication
  • ALL : publication et abonnement
EnableProxySubscribe Boolean No false

Si le paramètre Operation est défini sur SUB ou ALL, vous pouvez activer l'abonnement délégué.

Valeurs possibles :

  • true : active l'abonnement délégué.
  • false : désactive l'abonnement délégué.

Une fois l'abonnement délégué activé pour un topic, IoT Platform récupère les détails du topic et abonne automatiquement l'appareil lors de sa connexion.

Codec String No compress

Active la compression ou la décompression des données pour un topic personnalisé. Ce paramètre n'est disponible que pour les instances Enterprise Edition Standard ou Exclusive.

Valeurs possibles :

  • compress : active la compression des données.
  • decompress : active la décompression des données.

Pour plus d'informations, consultez la rubrique Data compression.

Description String No submit a test topic

Description du topic. Longueur comprise entre 1 et 100 caractères.

Outre les paramètres spécifiques à l'opération, vous devez inclure les paramètres de requête communs. Pour plus d'informations, consultez la rubrique Common parameters.

Paramètres de la réponse

Parameter

Type

Example

Description

Code String iot.system.SystemException

Code d'erreur renvoyé en cas d'échec de l'appel. Pour plus d'informations, consultez la section « Error codes » de cette rubrique.

Message 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 :

  • true : appel réussi.
  • false : appel échoué.

Exemples

Exemple de requête

https://iot.cn-shanghai.aliyuncs.com/?Action=UpdateTopicConfig
&EnableBroadcast=true
&ProductKey=a1Q5XoY****
&TopicFullName=/broadcast/a1Q5XoY****/test
&IotInstanceId=iot-0pp1n8t****
&<Common request parameters>

Exemple de réponse en cas de succès

XML format

<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>
<Code/>
<Success>true</Success>

JSON format

{
    "RequestId": "E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565",
    "Code": "",
    "Success": true
}

Codes d'erreur

HttpCode

Error Code

Error message

Description

400

iot.message.broker.ParamCheckError

Param check error.

Le système n'a pas pu vérifier la valeur du paramètre.

400

iot.message.broker.ProductCheckError

Product check error.

Le système n'a pas pu authentifier le produit.

400

iot.message.broker.TopicConfigNumExceed

Topic config num exceed.

Le nombre de topics spécifiés dépasse la limite.

400

iot.message.broker.SystemError

System error.

Une exception système s'est produite.

400

iot.messagebroker.InvalidPubTopicFormat

The pub topic cannot contain wildcard characters.

Le nom du topic vers lequel vous souhaitez envoyer des messages ne peut pas contenir de caractères génériques.

400

iot.messagebroker.InvalidOperationWithBroadcast

The operation must be sub for enabling broadcast.

L'appareil ne peut effectuer que l'opération Subscribe sur le topic pour lequel la fonctionnalité de diffusion est activée.

400

iot.messagebroker.InvalidTopicWithBroadcast

Topics for which broadcast is enabled cannot contain wildcard characters.

Le nom d'un topic pour lequel la fonctionnalité de diffusion est activée ne peut pas contenir de caractères génériques.

400

iot.messagebroker.InvalidOperationWithProxySubscribe

The operation must be sub or all for enabling proxy subscription.

L'appareil ne peut effectuer que l'opération Subscribe ou All sur le topic pour lequel la fonctionnalité d'abonnement délégué est activée.

400

iot.messagebroker.InvalidTopicWithProxySubscribe

Topics for which proxy subscription is enabled cannot contain wildcard characters.

Le nom du topic pour lequel la fonctionnalité d'abonnement délégué est activée ne peut pas contenir de caractères génériques.

400

iot.messagebroker.InvalidTopicWithCodec

Topics for which compression and decompression are enabled cannot contain wildcard characters.

Le nom du topic pour lequel la fonctionnalité de compression ou de décompression est activée ne peut pas contenir de caractères génériques.

400

iot.messagebroker.InvalidInstanceWithCodec

Only Exclusive Enterprise Edition instances support compression and decompression.

Seules les instances Exclusive Enterprise Edition prennent en charge la fonctionnalité de compression ou de décompression des données.

400

iot.prod.NotExistedProduct

The specified product does not exist.

Le produit que vous avez spécifié n'existe pas.

Pour obtenir la liste des codes d'erreur, consultez la rubrique Codes d'erreur de service.