Lorsque le débit de messages entre les appareils et IoT Platform dépasse 1 000 QPS, utilisez le transfert de données pour envoyer les données des appareils vers ApsaraMQ for RocketMQ. Cela garantit une transmission fiable des messages de bout en bout et leur consommation côté serveur.
Fonctionnement
Le transfert de données achemine les messages des appareils vers un client ApsaraMQ for RocketMQ pour consommation.
Serveur d'application : Enregistrez un consommateur à l'aide du SDK ApsaraMQ for RocketMQ pour recevoir les messages.
-
IoT Platform : Configurez le transfert de données pour router les messages des appareils vers ApsaraMQ for RocketMQ.
Rubrique source de données : Les catégories de rubriques prises en charge sont répertoriées dans la section Format des données.
-
Expression SQL : Rédigez une expression SQL pour analyser et traiter les données JSON provenant des appareils. Consultez la section Expressions SQL.
RemarqueLes données au format binaire sont transmises telles quelles, sans analyse.
-
Destination des données : La rubrique ApsaraMQ for RocketMQ qui reçoit les messages des appareils. Créez la rubrique au préalable dans la console ApsaraMQ for RocketMQ. Consultez la section Créer une rubrique.
Vous pouvez ajouter des tags aux messages des appareils pour permettre un filtrage côté consommateur.
ApsaraMQ for RocketMQ : Lorsqu'un consommateur récupère des messages, ApsaraMQ for RocketMQ filtre les messages côté serveur et ne livre que ceux qui correspondent au serveur d'application.
Limites
Le transfert de données vers ApsaraMQ for RocketMQ est disponible uniquement dans certaines régions. Consultez la section Fonctionnalités par région.
L'instance ApsaraMQ for RocketMQ doit se trouver dans la même région que l'instance IoT Platform. Les configurations interrégionales existantes ne sont pas affectées et continuent de fonctionner comme prévu.
Vous ne pouvez transférer des données que vers des rubriques appartenant à des instances de la série ApsaraMQ for RocketMQ 4.x ou 5.x. Les instances serverless ne sont pas prises en charge. Pour les rubriques des instances ApsaraMQ for RocketMQ 5.x, le paramètre Message Type doit être défini sur Normal Message.
Les versions nouvelle et précédente du transfert de données prennent toutes deux en charge ApsaraMQ for RocketMQ. Consultez la section Transférer des données vers ApsaraMQ for RocketMQ (nouvelle version).
La version précédente du transfert de données ne prend pas en charge les produits et appareils gérés par des produits de passerelle cloud ou utilisant des instances basées sur MQTT. Utilisez le Transfert de données (nouvelle version) pour ces produits et appareils.
Prérequis
Une instance ApsaraMQ for RocketMQ et une rubrique ont été créées pour recevoir les données. Consultez le guide Démarrage rapide d'ApsaraMQ for RocketMQ.
Une règle de transfert de données a été créée avec une instruction SQL pour le traitement des données. Consultez la section Configurer une règle de transfert de données.
Le SDK ApsaraMQ for RocketMQ est intégré à votre serveur d'application pour consommer les messages. Consultez la section Appeler le SDK pour consommer des messages.
Configurations automatiques pour RocketMQ 5.0
Lorsque vous utilisez ApsaraMQ for RocketMQ 5.0, les configurations suivantes sont effectuées automatiquement après avoir défini la destination des données :
IoT Platform utilise deux adresses IP du vSwitch de l'instance ApsaraMQ for RocketMQ.
Un groupe de sécurité géré (dont le nom commence par le préfixe sg-nsm-) est créé dans le VPC de l'instance ApsaraMQ for RocketMQ.
Configurer une destination de données
Connectez-vous à la console IoT Platform.
Sur la page Overview, repérez l'instance que vous souhaitez gérer et cliquez sur son ID ou son nom.
Dans le volet de navigation de gauche, sélectionnez .
-
Cliquez sur View à côté de la règle cible. La page Data Forwarding Rule s'affiche.
ImportantSi la page Data Forwarding (New Version) s'affiche, cliquez sur Back to Previous Version dans le coin supérieur droit, puis cliquez sur View à côté de la règle cible.
Dans la section Forward Data, cliquez sur Add Operation.
-
Dans la boîte de dialogue Add Operation, sélectionnez Forward data to ApsaraMQ for RocketMQ. Définissez les autres paramètres selon les instructions, puis cliquez sur OK.
Parameter
Description
Select an operation
Sélectionnez Forward data to ApsaraMQ for RocketMQ.
Region
Sélectionnez la région de l'instance ApsaraMQ for RocketMQ.
Instance
Sélectionnez une instance ApsaraMQ for RocketMQ.
Cliquez sur Create Instance pour en créer une dans la console ApsaraMQ for RocketMQ. Documentation ApsaraMQ for RocketMQ.
Topic
Sélectionnez la rubrique ApsaraMQ for RocketMQ qui recevra les données d'IoT Platform.
Cliquez sur Create Topic pour en créer une dans la console ApsaraMQ for RocketMQ.
Tag
(Facultatif) Définissez un tag.
Tous les messages transférés par cette opération portent ce tag, que les consommateurs peuvent utiliser pour le filtrage.
Longueur maximale : 128 octets. Prend en charge les constantes ou les variables au format ${key}, où key correspond à un champ dans les données JSON traitées par SQL.
Authorization
Accordez à IoT Platform un accès en écriture à ApsaraMQ for RocketMQ.
Si aucun rôle RAM n'existe, cliquez sur Create RAM Role pour créer un rôle RAM et une politique d'autorisation dans la console RAM. Créer un rôle RAM.
Sur la page Data Forwarding, repérez la règle et cliquez sur Start dans la colonne Actions.
-
Test
Publiez un message sur la rubrique définie dans l'instruction SQL de la règle, puis vérifiez les journaux de transfert.
Afficher les journaux de transfert
Dans la console IoT Platform, cliquez sur l'instance Enterprise cible pour afficher l'état des appareils et les journaux de transfert de messages. Pour plus d'informations, consultez la section Journaux IoT Platform.
Dans le terminal du serveur d'application abonné aux ressources ApsaraMQ for RocketMQ, affichez les journaux d'abonnement et de consommation des messages.
Dans la console ApsaraMQ for RocketMQ, sur la page Instance Details, affichez le contenu et la trace des messages reçus par le consommateur. Pour plus d'informations, consultez la section Interroger les traces de messages.
Références
Consommer des messages d'appareils à l'aide d'un client ApsaraMQ for RocketMQ