Cuando la tasa de mensajes entre los dispositivos e IoT Platform supera los 1,000 QPS, utilice el reenvío de datos para enviar la información del dispositivo a ApsaraMQ for RocketMQ. Esto garantiza una transmisión de mensajes confiable de extremo a extremo y su consumo en el servidor.
Funcionamiento
El reenvío de datos entrega los mensajes del dispositivo a un cliente de ApsaraMQ for RocketMQ para su consumo.
Servidor de aplicaciones: Registre un consumidor mediante el SDK de ApsaraMQ for RocketMQ para recibir mensajes.
-
IoT Platform: Configure el reenvío de datos para enrutar los mensajes del dispositivo hacia ApsaraMQ for RocketMQ.
Tema de origen de datos: Las categorías de temas compatibles se enumeran en Data format.
-
Expresión SQL: Escriba una expresión SQL para analizar y procesar los datos JSON de los dispositivos. SQL expressions.
NotaLos datos en formato binario se transmiten sin ser analizados.
-
Destino de datos: El tema de ApsaraMQ for RocketMQ que recibe los mensajes del dispositivo. Cree el tema previamente en la consola de ApsaraMQ for RocketMQ. Create a topic.
Puede etiquetar los mensajes del dispositivo para filtrarlos en el lado del consumidor.
ApsaraMQ for RocketMQ: Cuando un consumidor recupera mensajes, ApsaraMQ for RocketMQ realiza un filtrado en el servidor y entrega únicamente los mensajes coincidentes al servidor de aplicaciones.
Límites
El reenvío de datos a ApsaraMQ for RocketMQ solo está disponible en regiones específicas. Features by region.
La instancia de ApsaraMQ for RocketMQ debe encontrarse en la misma región que la instancia de IoT Platform. Las configuraciones interregionales existentes no se ven afectadas y continúan funcionando correctamente.
Solo puede reenviar datos a temas en instancias de las series 4.x o 5.x de ApsaraMQ for RocketMQ. Las instancias serverless no son compatibles. Para los temas en instancias de ApsaraMQ for RocketMQ 5.x, el Message Type debe ser Normal Message.
Tanto la versión nueva como la anterior del reenvío de datos admiten ApsaraMQ for RocketMQ. Forward data to ApsaraMQ for RocketMQ (new version).
La versión anterior del reenvío de datos no admite productos ni dispositivos gestionados por productos de puerta de enlace en la nube, ni aquellos que utilizan instancias basadas en MQTT. Utilice Data forwarding (new version) para estos productos y dispositivos.
Requisitos previos
Se creó una instancia de ApsaraMQ for RocketMQ y un tema para recibir los datos. ApsaraMQ for RocketMQ Quick Start.
Se creó una regla de reenvío de datos con una sentencia SQL para el procesamiento de datos. Configure a data forwarding rule.
El SDK de ApsaraMQ for RocketMQ está integrado en su servidor de aplicaciones para consumir mensajes. Call the SDK to consume messages.
Configuraciones automáticas para RocketMQ 5.0
Al utilizar ApsaraMQ for RocketMQ 5.0, las siguientes configuraciones se completan automáticamente después de establecer el destino de datos:
IoT Platform ocupa dos direcciones IP del vSwitch de la instancia de ApsaraMQ for RocketMQ.
Se crea un security group administrado (con nombre prefijado con sg-nsm-) en la VPC de la instancia de ApsaraMQ for RocketMQ.
Configurar un destino de datos
Inicie sesión en la consola de IoT Platform.
En la página Overview, localice la instancia que desea gestionar y haga clic en el ID o nombre de la instancia.
En el panel de navegación izquierdo, seleccione .
-
Haga clic en View junto a la regla objetivo. Aparecerá la página Data Forwarding Rule.
ImportanteSi se muestra la página Data Forwarding (New Version), haga clic en Back to Previous Version en la esquina superior derecha y luego haga clic en View junto a la regla objetivo.
En la sección Forward Data, haga clic en Add Operation.
-
En el cuadro de diálogo Add Operation, seleccione Forward data to ApsaraMQ for RocketMQ. Establezca los demás parámetros según las indicaciones y haga clic en OK.
Parámetro
Descripción
Seleccionar una operación
Seleccione Forward data to ApsaraMQ for RocketMQ.
Región
Seleccione la región de la instancia de ApsaraMQ for RocketMQ.
Instancia
Seleccione una instancia de ApsaraMQ for RocketMQ.
Haga clic en Create Instance para crear una en la consola de ApsaraMQ for RocketMQ. ApsaraMQ for RocketMQ documentation.
Tema
Seleccione el tema de ApsaraMQ for RocketMQ para recibir datos de IoT Platform.
Haga clic en Create Topic para crear uno en la consola de ApsaraMQ for RocketMQ.
Etiqueta
(Opcional) Establezca una etiqueta.
Todos los mensajes reenviados por esta operación llevan la etiqueta, la cual pueden usar los consumidores para filtrar.
Longitud máxima: 128 bytes. Admite constantes o variables en formato ${key}, donde key corresponde a un campo en los datos JSON procesados por SQL.
Autorización
Otorgue a IoT Platform acceso de escritura a ApsaraMQ for RocketMQ.
Si no existe ningún rol de RAM, haga clic en Create RAM Role para crear un rol de RAM y una política de autorización en la consola de RAM. Create a RAM role.
En la página Data Forwarding, localice la regla y haga clic en Start en la columna Actions.
-
Prueba
Publique un mensaje en el tema definido en la sentencia SQL de la regla y luego revise los registros de reenvío.
Consultar registros de reenvío
En la consola de IoT Platform, haga clic en la instancia Enterprise objetivo para consultar el estado del dispositivo y los registros de reenvío de mensajes. Para más información, consulte IoT Platform logs.
En la terminal del servidor de aplicaciones suscrito a los recursos de ApsaraMQ for RocketMQ, consulte los registros de suscripción y consumo de mensajes.
En la consola de ApsaraMQ for RocketMQ, dentro de la página Instance Details, consulte el contenido y la traza de los mensajes recibidos por el consumidor. Para más información, consulte Query message traces.
Referencias
Consume device messages using an ApsaraMQ for RocketMQ client