Tous les produits
Search
Centre de documentation

IoT Platform:Configurer les abonnements côté serveur MNS

Dernière mise à jour :Aug 12, 2026

Si un produit génère moins de 1 000 QPS de messages d'appareil et que vous avez besoin d'un traitement granulaire, transférez les messages d'IoT Platform vers Simple Message Queue (anciennement MNS) (SMQ) pour consommation. La configuration d'un abonnement côté serveur pour un produit et un type de message crée automatiquement une file d'attente SMQ. Votre client SMQ écoute cette file d'attente pour recevoir les messages d'appareil.

Prérequis

Un produit est créé.

Informations générales

Alibaba Cloud Simple Message Queue (anciennement MNS) (SMQ) est un service de messagerie distribué. SMQ permet le transfert de données et la distribution de notifications entre les composants d'applications distribuées.

IoT Platform utilise le modèle de messagerie basé sur les files d'attente de SMQ pour recevoir les messages d'appareil. Consultez Fonctionnalités du modèle de messagerie basé sur les files d'attente et Concepts de base du modèle de messagerie basé sur les files d'attente.

Terme

Description

Abonnement côté serveur MNS

La configuration d'un abonnement côté serveur pour un produit et un type de message dans IoT Platform entraîne la création automatique d'une file d'attente SMQ.

Client MNS

Consommateur utilisant le SDK cloud SMQ sur votre serveur métier pour recevoir les messages d'appareil. Guide du développeur du SDK cloud SMQ : Téléchargement et utilisation du SDK.

Type de message

Catégorie de messages classés par topic d'appareil. Une fois abonné à un type de message, seuls les messages d'appareil des topics correspondants sous ce type peuvent être transférés au client MNS.

Les topics d'appareil pour chaque type de message sont répertoriés dans le tableau Topics des types de messages ci-dessous.

IoT Platform propose des abonnements côté serveur et le transfert de données. Ces deux mécanismes transfèrent les messages d'appareil vers un client SMQ pour consommation. Le transfert de données permet de spécifier des topics d'appareil et de traiter les données avant le transfert. Consultez la Comparaison des solutions de transfert de données. Pour configurer le transfert de données, reportez-vous à Ajouter une source de données pour transférer des données et Transférer des données vers Message Service (MNS).

Limites

  • Les abonnements côté serveur MNS ne sont pas pris en charge pour les instances Enterprise dans les régions Chine (Pékin), Chine (Shenzhen), Singapour, Japon (Tokyo), États-Unis (Virginie), États-Unis (Silicon Valley) et Allemagne (Francfort).

  • Un seul abonnement à une file d'attente SMQ est autorisé par produit. Les messages dépassant la limite d'abonnement côté serveur MNS ne sont pas transférés. Pour les limites relatives aux files d'attente, consultez Limites.

  • Après la création d'un abonnement côté serveur MNS, SMQ facture des frais d'utilisation des ressources de file d'attente, même si aucun message n'est transféré vers celle-ci.

  • Chaque message reçu par une file d'attente SMQ ne peut pas dépasser 64 Ko. Les messages trop volumineux sont supprimés.

Facturation

  • Le nombre de messages d'appareil transférables vers SMQ dépend de la spécification Message Forwarding TPS disponible de l'instance de l'appareil. Pour les instances publiques, le Message Forwarding TPS est fixé à 5 messages/seconde et est gratuit. Pour les instances Enterprise, la spécification Message Forwarding TPS est facturée par abonnement. Le volume disponible dépend de la spécification Message Forwarding TPS achetée pour l'instance. Consultez la Vue d'ensemble de la facturation.

  • SMQ applique des frais pour la réception des messages. Reportez-vous à la section Facturation.

Créer un abonnement côté serveur

Lorsque vous créez un abonnement côté serveur MNS pour un produit et un type de message dans IoT Platform, une file d'attente est automatiquement créée dans la même région, dans SMQ, sous votre compte. Une application utilisant le SDK cloud SMQ peut écouter cette file d'attente pour recevoir les messages d'appareil auxquels elle est abonnée.

  1. Connectez-vous à la console IoT Platform.

  2. Sur la page Overview, cliquez sur All environment. Dans l'onglet All environment, localisez l'instance à gérer, puis cliquez sur son ID ou son nom.

  3. Dans le volet de navigation de gauche, choisissez Message Forwarding > Server-side Subscription.

  4. Sur la page Server-side Subscription, dans l'onglet Subscription List, cliquez sur Create Subscription.

  5. Dans la boîte de dialogue Create Subscription, configurez les paramètres et cliquez sur OK.

    Paramètre

    Description

    Product

    Sélectionnez le produit dont vous souhaitez recevoir les messages d'appareil.

    Subscription Type

    Sélectionnez MNS.

    Authorization

    Cliquez sur Authorize, puis activez SMQ et accordez les permissions comme indiqué.

    Remarque

    Si vous avez déjà activé SMQ et accordé les permissions, ignorez cette étape.

    Authorize Now

    Cliquez sur Authorize Now, puis sur Agree to Authorization. Le système crée le rôle AliyunIOTAccessingMNSRole afin d'accorder à IoT Platform les permissions nécessaires pour accéder à SMQ et y transférer des messages.

    Remarque

    Si le rôle AliyunIOTAccessingMNSRole a déjà été créé, ignorez cette étape.

    Message Type to Push

    Sélectionnez les types de messages auxquels vous abonner :

    Important

    Pour les produits et appareils situés sous une passerelle cloud, seules les données provenant des Device-reported messages, des Device status change notifications et des Device lifecycle changes peuvent être envoyées. Topics de transfert de messages et formats de données : Communication de messages via MQTT, Transfert de messages via GB/T 32960, Transfert de messages via JT/T 808.

    • Device-reported messages : Messages provenant des topics dont l'Operation Permission est définie sur Publish dans la liste des topics de tous les appareils du produit.

      Les messages signalés par l'appareil incluent des données personnalisées et des données de modèle TSL (Thing Specification Language) (propriétés signalées, événements signalés, réponses aux réglages de propriétés et réponses aux invocations de services). Les données de modèle TSL envoyées au serveur sont traitées par IoT Platform. Format des données : Format des données.

      Par exemple, un produit comporte trois catégories de topics :

      • /${productKey}/${deviceName}/user/get, qui dispose de la permission d'abonnement.

      • /${productKey}/${deviceName}/user/update, qui dispose de la permission de publication.

      • /${productKey}/${deviceName}/thing/event/property/post, qui dispose de la permission de publication.

      L'abonnement côté serveur envoie alors les messages des catégories de topics disposant de la permission de publication, à savoir /${productKey}/${deviceName}/user/update et /${productKey}/${deviceName}/thing/event/property/post.

    • Device status change notifications : Messages envoyés lorsque l'état en ligne ou hors ligne d'un appareil du produit change.

    • Sub-device discovery reports from gateway : La passerelle signale à IoT Platform les informations sur les sous-appareils découverts. Cela nécessite la prise en charge par l'application sur la passerelle. Ce type de message est spécifique aux produits de type passerelle.

    • Device topology changes : Messages concernant la création et la suppression de la topologie entre un sous-appareil et une passerelle. Ce type de message est spécifique aux produits de type passerelle.

    • Device lifecycle changes : Messages concernant la création, la suppression, la désactivation et l'activation d'appareils.

    • TSL model historical data reports : Données historiques des propriétés et événements signalés par l'appareil.

    • OTA update status notifications : Notifications d'événements pour les mises à jour d'appareils réussies ou échouées lors de la vérification des packages de mise à jour et des mises à jour OTA (over-the-air) par lots.

    Tableau 1. Description des paramètres

    Type de message

    Description du topic

    Références

    Device-reported messages : Topic personnalisé

    Topic personnalisé dont l'Operation Permission est définie sur Publish. Le topic de transfert de messages dans un format de données personnalisé est identique au topic personnalisé d'origine.

    Utiliser des topics personnalisés pour la communication

    Device-reported messages : Données de modèle TSL

    Les topics de transfert de messages incluent les éléments suivants :

    • Topic de signalement des propriétés de l'appareil : /${productKey}/${deviceName}/thing/event/property/post.

    • Topic de signalement des événements de l'appareil : /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post.

    • Topic de signalement des propriétés de l'appareil par lot : /${productKey}/${deviceName}/thing/property/batch/post.

    • Topic de signalement des événements de l'appareil par lot : /${productKey}/${deviceName}/thing/event/batch/post.

    • Topic de retour de réponse à une commande cloud : /${productKey}/${deviceName}/thing/downlink/reply/message.

    Les topics correspondants pour les données brutes signalées par l'appareil sont les suivants :

    • Topic de signalement des propriétés de l'appareil : /sys/${productKey}/${deviceName}/thing/event/property/post.

    • Topics de signalement des événements de l'appareil : /sys/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post, /sys/${productKey}/${deviceName}/thing/event/${tsl.functionBlockId}:{tsl.event.identifier}/post.

    • Topic de signalement par lot des propriétés et événements de l'appareil : /sys/${productKey}/${deviceName}/thing/event/property/batch/post.

    • Topic de retour de réponse à une commande cloud : /sys/${productKey}/${deviceName}/thing/service/${tsl.service.identifier}_reply

    Device status change notifications

    IoT Platform transfère directement les messages concernant les changements d'état en ligne/hors ligne de l'appareil. Le topic est /as/mqtt/status/${productKey}/${deviceName}.

    État en ligne/hors ligne de l'appareil

    Sub-device discovery reports from gateway

    Topic spécifique aux appareils de type passerelle : /${productKey}/${deviceName}/thing/list/found. La passerelle signale à IoT Platform les informations sur les sous-appareils découverts, qui sont ensuite transférées.

    Découverte d'un sous-appareil par la passerelle

    Device topology changes

    Topic spécifique aux appareils de type passerelle : /${productKey}/${deviceName}/thing/topo/lifecycle. Ce topic sert à transférer les messages concernant la création et la suppression de la topologie entre un sous-appareil et une passerelle.

    Changements de topologie de l'appareil

    Topic correspondant pour les données brutes signalées par l'appareil : /sys/${productKey}/${deviceName}/thing/topo/change.

    Notifier une passerelle des changements de topologie

    Device lifecycle changes

    IoT Platform transfère directement les messages concernant la création, la suppression, la désactivation et l'activation d'appareils. Le topic est /${productKey}/${deviceName}/thing/lifecycle.

    Changements du cycle de vie de l'appareil

    TSL model historical data reports

    Les topics de transfert de messages incluent les éléments suivants :

    • Topic de signalement des données historiques de propriétés : /${productKey}/${deviceName}/thing/event/property/history/post.

    • Topic de signalement des données historiques d'événements : /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/history/post.

    Topic de signalement des données historiques de modèle TSL : /sys/${productKey}/${deviceName}/thing/event/property/history/post.

    Signaler les données historiques de modèle TSL

    OTA update status notifications

    Les topics de transfert de messages incluent les éléments suivants :

    • Topic de signalement des résultats de mise à jour OTA : /${productKey}/${deviceName}/ota/upgrade.

    • Topic de signalement de la progression de la mise à jour OTA : /${productKey}/${deviceName}/ota/progress/post.

    Topic de signalement de la progression de la mise à jour : /ota/device/progress/${productKey}/${deviceName}.

    Signaler la progression de la mise à jour

  6. Dans la boîte de dialogue de confirmation qui s'affiche, cliquez sur OK.

    Une file d'attente SMQ est automatiquement créée dans SMQ. Le nom de la file d'attente suit le format aliyun-iot-${productKey}, par exemple aliyun-iot-ws4******.

    Remarque

    La suppression d'un abonnement côté serveur MNS dans IoT Platform entraîne également la suppression automatique de la file d'attente SMQ correspondante dans SMQ.

Développer un client consommateur

Après avoir configuré un abonnement côté serveur MNS, utilisez le SDK cloud SMQ sur votre serveur métier pour écouter la file d'attente SMQ et recevoir les messages d'appareil abonnés. Cela permet à votre application cloud SMQ de recevoir les messages d'appareil provenant d'IoT Platform.

IoT Platform recommande l'exemple ConsumerDemo du modèle de messagerie basé sur les files d'attente dans le SDK Java SMQ pour écouter la file d'attente SMQ créée, par exemple aliyun-iot-ws4******.

Téléchargez le dernier package d'exemples depuis les Notes de version du SDK Java. Consultez ConsumerDemo dans le guide d'utilisation des files d'attente.

Dans le fichier ConsumerDemo, configurez le nom de la file d'attente SMQ créée automatiquement par IoT Platform, par exemple aliyun-iot-ws4******.

CloudQueue queue = client.getQueueRef("aliyun-iot-ws4******");

Format des données des messages reçus

Une fois qu'un appareil se connecte à IoT Platform et envoie des messages, le client SMQ reçoit les messages au format suivant. Développement côté appareil : Connecter un appareil à l'aide d'un SDK d'appareil.

{
    "messageid":" ",
    "messagetype":"upload",
    "topic":"/al12345****/device123/user/update",
    "payload":" ", 
    "timestamp": " "
}

Paramètre

Description

messageid

ID du message généré par IoT Platform.

messagetype

Type de message. Valeurs valides :

  • upload : message signalé par l'appareil.

  • status : notification de changement d'état de l'appareil.

  • topo_listfound : rapport de découverte de sous-appareil par la passerelle.

  • topo_lifecycle : changement de topologie de l'appareil.

  • device_lifecycle : changement du cycle de vie de l'appareil.

  • thing_history : rapport de données historiques de modèle TSL.

  • ota_event : notification d'état de mise à jour OTA.

topic

Topic IoT Platform écouté par le serveur.

Les topics sont répertoriés dans le tableau Descriptions des topics de la section Créer un abonnement côté serveur.

payload

Données du message encodées en Base64.

Format des données du topic et du payload pour les messages transférés vers Simple Message Queue (anciennement MNS) : Format des données.

timestamp

Horodatage, au format Epoch.

Références