Tous les produits
Search
Centre de documentation

IoT Platform:Configurer une règle de transfert de données

Dernière mise à jour :Aug 10, 2026

La fonctionnalité de transfert de données du moteur de règles d'IoT Platform vous permet de transférer les données d'un topic spécifié vers d'autres topics ou vers d'autres services Alibaba Cloud. Cette rubrique explique comment configurer une règle de transfert de données. Pour ce faire, suivez les étapes ci-dessous : créez une règle, rédigez une instruction SQL pour le traitement des données, spécifiez une destination de transfert, puis définissez une destination pour les messages d'erreur en cas d'échec du transfert.

Procédure

  1. Connectez-vous à la console IoT Platform.

  2. Sur la page Overview, repérez l'instance que vous souhaitez gérer et cliquez sur son ID ou son nom.

  3. Dans le volet de navigation de gauche, choisissez Message Forwarding > Data Forwarding.

  4. Sur la page Data Forwarding, cliquez sur Create Rule.

    Important

    Si la page Data Forwarding de la dernière version s'affiche, cliquez sur Back to Previous Version dans le coin supérieur droit de la page. Lorsque la page Data Forwarding de la version précédente apparaît, cliquez sur Create Rule.

  5. Configurez les paramètres, puis cliquez sur OK. Le tableau suivant décrit les paramètres.

    Parameter

    Description

    Rule Name

    Le nom de la règle de transfert de données. Il doit comporter entre 1 et 30 caractères et peut contenir des lettres, des chiffres, des traits de soulignement (_) et des traits d'union (-).

    Data Type

    Le format des données à traiter par la règle. Les valeurs valides sont : JSON et Binary.

    Remarque
    • La fonctionnalité de transfert de données traite les données en fonction des topics. Vous devez sélectionner le format des données présentes dans les topics que vous souhaitez traiter.

    • Si vous sélectionnez Binary, la règle ne peut pas être utilisée pour traiter les messages provenant des topics de communication de base ou des topics de communication Thing Specification Language (TSL). La règle ne peut pas non plus être utilisée pour transférer des données vers Tablestore (OTS) ou ApsaraDB RDS.

    Rule Description

    La description de la règle.

  6. Une fois la règle créée, la page rule details s'affiche. Rédigez une instruction SQL pour traiter les messages, spécifiez une destination de transfert de données, puis indiquez la destination vers laquelle les messages d'erreur seront envoyés.

    1. Cliquez sur Write SQL Statement pour rédiger une instruction SQL. Celle-ci sert à traiter les champs des messages.

      Pour plus d'informations sur la rédaction d'instructions SQL, consultez les rubriques Instructions SQL et Fonctions.

      Parameter

      Description

      Rule Query Expression

      L'instruction SQL. Elle est générée automatiquement en fonction des valeurs que vous spécifiez pour les paramètres Field, Topic et Conditions (Optional).

      Field

      Le champ du message à traiter. Ce paramètre suit le mot-clé SELECT de l'instruction SQL.

      Par exemple, si vous saisissez deviceName() as deviceName, le champ deviceName du message est sélectionné. Pour plus d'informations sur les fonctions utilisables dans le champ, consultez la rubrique Functions.

      Remarque

      Les données des topics de communication de base et des topics de communication TSL sont au format Alink JSON. Avant d'être transférées vers le moteur de règles, les données sont analysées en fonction du modèle TSL correspondant. Pour plus d'informations sur l'analyse des données, consultez la rubrique Procédure de transfert de données. Pour connaître les formats des données analysées, reportez-vous à la rubrique Formats de données. Lors de la rédaction d'une instruction SQL, spécifiez les champs en fonction du format des données analysées.

      Topic

      Le topic source du message à traiter. Ce paramètre suit le mot-clé FROM de l'instruction SQL. Pour plus d'informations sur les topics disponibles, consultez le tableau Topics ci-dessous.

      Important

      Si vous définissez le paramètre Data Type de la règle sur Binary, définissez ce paramètre sur Custom.

      Condition

      La condition de déclenchement de la règle. Ce paramètre suit le mot-clé WHERE de l'instruction SQL.

      Tableau 1. Topics

      Topic

      Description

      References

      Custom

      Le topic utilisé pour transférer des données dans des formats personnalisés. Le format de ce topic est identique à celui d'un topic personnalisé. Format : /${productKey}/${deviceName}/user/${TopicShortName}.

      ${TopicShortName} spécifie une catégorie de topic personnalisé, qui correspond au suffixe du topic personnalisé.

      La valeur peut contenir des caractères génériques, notamment des signes plus (+) et des dièses (#).

      • Tous les équipements (+) : indique tous les appareils du produit spécifié.

      • /user/# : indique tous les topics de l'appareil spécifié.

      Utiliser des topics personnalisés pour la communication

      Device Status Change Notification

      Le topic utilisé pour transférer les notifications lorsque le statut d'un appareil passe de en ligne à hors ligne (et vice versa). Format : /as/mqtt/status/${productKey}/${deviceName}.

      Soumettre le statut de l'appareil

      TSL Data Reporting

      Les topics suivants sont fournis :

      • /${productKey}/${deviceName}/thing/event/property/post : ce topic est utilisé pour transférer les propriétés de l'appareil.

      • /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post : ce topic est utilisé pour transférer les événements de l'appareil.

      • /${productKey}/${deviceName}/thing/property/batch/post : ce topic est utilisé pour transférer les propriétés de l'appareil par lots.

      • /${productKey}/${deviceName}/thing/event/batch/post : ce topic est utilisé pour transférer les événements de l'appareil par lots.

      • /${productKey}/${deviceName}/thing/downlink/reply/message : ce topic est utilisé pour transférer les messages qu'un appareil renvoie en réponse aux commandes d'IoT Platform.

      Les topics suivants sont utilisés pour soumettre les données brutes de l'appareil :

      • /sys/${productKey}/${deviceName}/thing/event/property/post : ce topic est utilisé pour soumettre les propriétés de l'appareil.

      • /sys/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post et /sys/${productKey}/${deviceName}/thing/event/${tsl.functionBlockId}:{tsl.event.identifier}/post : ces topics sont utilisés pour soumettre les événements de l'appareil.

      • /sys/${productKey}/${deviceName}/thing/event/property/batch/post : ce topic est utilisé pour soumettre les propriétés et les événements de l'appareil par lots.

      Device Changes Throughout Lifecycle

      Le topic utilisé pour transférer les messages lors de la création, de la suppression, de la désactivation ou de l'activation d'un appareil. Format : /${productKey}/${deviceName}/thing/lifecycle.

      Soumettre les modifications du cycle de vie

      Sub-Device Data Report Detected by Gateway

      Le topic utilisé pour soumettre et transférer les informations relatives à un nouveau sous-appareil lorsqu'une passerelle le détecte. Ce topic est spécifique aux passerelles. Format : /${productKey}/${deviceName}/thing/list/found

      Soumettre les informations sur les sous-appareils détectés

      Device Topological Relation Changes

      Le topic utilisé pour transférer les notifications lorsque les relations topologiques entre les sous-appareils et la passerelle sont créées ou supprimées. Ce topic est spécifique aux passerelles. Format : /${productKey}/${deviceName}/thing/topo/lifecycle.

      Modifications des relations topologiques des appareils

      /sys/${productKey}/${deviceName}/thing/topo/change : ce topic est utilisé pour soumettre les données de l'appareil.

      Notifier les passerelles des changements de relations topologiques

      Device tag change

      Le topic utilisé pour transférer les messages lorsque les tags d'appareil sont modifiés. Format : /${productKey}/${deviceName}/thing/deviceinfo/update.

      Soumettre les modifications des tags d'appareil

      /sys/${productKey}/${deviceName}/thing/deviceinfo/update : ce topic est utilisé pour soumettre les données de l'appareil.

      Soumettre les tags

      TSL Historical Data Reporting

      Les topics suivants sont fournis :

      • /${productKey}/${deviceName}/thing/event/property/history/post : ce topic est utilisé pour transférer les propriétés historiques.

      • /${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/history/post : ce topic est utilisé pour transférer les événements historiques.

      /sys/${productKey}/${deviceName}/thing/event/property/history/post : ce topic est utilisé pour soumettre les données TSL historiques.

      Propriétés, événements et services des appareils

      Device status notification

      Les topics suivants sont fournis :

      • /${productKey}/${deviceName}/ota/upgrade : ce topic est utilisé pour transférer les résultats de mise à jour over-the-air (OTA).

      • /${productKey}/${deviceName}/ota/progress/post : ce topic est utilisé pour transférer la progression des mises à jour.

      Les topics précédents correspondent au topic suivant : /ota/device/progress/${productKey}/${deviceName}. Ce topic est utilisé pour soumettre la progression de la mise à jour.

      Soumettre la progression de la mise à jour à IoT Platform

      Submit a module version number

      Le topic utilisé pour transférer les messages lorsque le numéro de version d'un module OTA d'un appareil change. Format : /${productKey}/${deviceName}/ota/version/post.

      Soumettre les versions des modules OTA

      Le topic précédent correspond au topic suivant : /ota/device/inform/${productKey}/${deviceName}. Ce topic est utilisé pour soumettre le numéro de version d'un module OTA.

      Soumettre les versions des modules OTA à IoT Platform

      Batch status notification

      Le topic vers lequel IoT Platform envoie des messages lorsque le statut d'un lot de mise à jour OTA change. Format : /${productKey}/${packageId}/${jobId}/ota/job/status.

      Soumettre les données de statut des lots de mise à jour OTA

      Job Event

      /sys/uid/${uid}/distribution/${jobId}/lifecycle : le topic utilisé pour transférer les notifications lorsque le statut d'une tâche d'appareil change.

      Remarque

      Le nom de la tâche de migration d'instance est identique au nom du produit dont vous souhaitez migrer les données.

      Soumettre les données de statut des tâches de migration de données pour les instances

    2. Dans la section Digital twin node property changes, cliquez sur Forward Data pour spécifier une destination de transfert de données. Pour plus d'informations sur la configuration de la fonctionnalité de transfert de données, consultez les rubriques associées dans le répertoire Exemples de transfert de données.

      Remarque

      Vous pouvez créer jusqu'à 10 opérations de transfert de données par règle.

      En cas d'échec du transfert de données dû à des exceptions dans le service cloud de destination, IoT Platform effectue l'une des opérations suivantes :

      • Lorsqu'IoT Platform transfère des données vers des services cloud tels que Message Queue for Apache RocketMQ, ApsaraDB RDS et ApsaraDB for Lindorm, l'accès à ces services peut échouer en raison de modifications des ressources. Dans ce cas, IoT Platform arrête le transfert de données et fait passer le statut de la règle concernée à Add Operation. Vous devez spécifier une nouvelle destination pour le transfert de données.

      • Pour les autres exceptions, IoT Platform effectue trois tentatives avec des intervalles de 1 seconde, 3 secondes et 10 secondes. La politique de nouvelle tentative peut varier selon le scénario. Si toutes les tentatives échouent, le message est ignoré. Si votre activité exige une fiabilité élevée des messages, vous pouvez ajouter une opération d'erreur et transférer les messages d'erreur vers d'autres services cloud.

    3. Dans la section Forward Error Data, cliquez sur Abnormal. Configurez ensuite les paramètres afin de transférer les messages d'erreur vers la destination spécifiée après l'échec de toutes les tentatives.Add Error Operation

      Important
      • Vous ne pouvez ajouter qu'une seule opération de gestion des erreurs par règle.

      • Une opération normale et une opération de gestion des erreurs ne peuvent pas transférer des messages vers la même destination. Par exemple, il est impossible de transférer simultanément les données normales et les données d'erreur vers OTS.

      • Si le transfert d'un message d'erreur échoue, aucune nouvelle tentative n'est effectuée.

      • Des messages d'erreur sont générés uniquement si le moteur de règles échoue à transférer les données en raison de problèmes liés à d'autres services cloud.

      Si le transfert d'un message vers un service cloud échoue, IoT Platform tente de le transférer à nouveau. En cas d'échec de la nouvelle tentative, un message d'erreur est transféré selon l'opération d'erreur que vous avez spécifiée pour le transfert de données.

      Exemple de message d'erreur :

      {
         "ruleName":"",
         "topic":"",
         "productKey":"",
         "deviceName":"",
         "messageId":"",
         "base64OriginalPayload":"",
         "failures":[
          {
           "actionType":"OTS",
           "actionRegion":"cn-shanghai",
           "actionResource":"table1",
           "errorMessage":""
          },
          {
           "actionType":"RDS",
           "actionRegion":"cn-shanghai",
           "actionResource":"instance1/table1",
           "errorMessage":""
          }
         ]
      }

      Le tableau suivant décrit les paramètres des messages d'erreur.

      |
      **Parameter**
      |
      **Description**
      | | --- | --- | |
      ruleName
      |
      Le nom de la règle de surveillance.
      | |
      topic
      |
      Le topic source du message.
      | |
      productKey
      |
      Le ProductKey du produit.
      | |
      deviceName
      |
      Le DeviceName de l'appareil.
      | |
      messageId
      |
      L'ID du message envoyé par IoT Platform.
      | |
      base64OriginalPayload
      |
      Les données brutes encodées en Base64.
      | |
      failures
      |
      Les détails de l'erreur. Plusieurs erreurs peuvent se produire.
      | |
      actionType
      |
      Le type de l'opération ayant échoué.
      | |
      actionRegion
      |
      La région où l'erreur s'est produite.
      | |
      actionResource
      |
      Le service de destination dans lequel l'erreur s'est produite.
      | |
      errorMessage
      |
      Le message d'erreur.
      |















































  7. Accédez à la page . Repérez la règle que vous avez configurée et cliquez sur Data Forwarding dans la colonne Actions. Une fois la règle activée, les données sont transférées conformément à celle-ci.

    Vous pouvez également effectuer des opérations spécifiques sur la règle. Le tableau suivant décrit ces opérations.

    Operation

    Description

    View

    Cliquez sur Start dans la colonne Actions pour accéder à la page Data Forwarding Rule. Modifiez ensuite les paramètres de la règle. Par exemple, vous pouvez changer ou supprimer le topic source de données ou la destination de transfert de données.

    Delete

    Cliquez sur Delete dans la colonne Actions pour supprimer la règle.

    Important

    Vous ne pouvez pas supprimer une règle dont le statut est Running.

    Stopped

    Cliquez sur Stop dans la colonne Actions pour désactiver la règle.

    Avertissement

    Si une ou plusieurs de vos applications doivent utiliser les données d'appareil transférées via une règle, mais que cette règle est supprimée ou désactivée, ou que la destination de transfert de données de la règle est supprimée, vos services peuvent devenir indisponibles. Cela risque d'interrompre votre activité. Agissez avec prudence.

Étapes suivantes

Sur la page View, vous pouvez consulter le statut de la règle, vérifier si une destination de transfert de données est configurée et s'assurer que les données sont correctement transférées vers la destination prévue.Data forwarding destination