Para enviar mensajes de tema personalizado a varios dispositivos de forma simultánea, utilice el trabajo de entrega de mensajes por lotes de IoT Platform. Este tema describe la creación del trabajo, los temas de la operación y sus formatos de datos, así como los procedimientos para supervisar el estado del trabajo.
Requisitos previos
Ha agregado un tema personalizado con permisos de Subscribe o Subscribe And Publish para el dispositivo en IoT Platform. Para obtener más información, consulte using custom topic communication.
Se ha suscrito correctamente al tema personalizado en el dispositivo y no ha cancelado la suscripción. Para obtener más información, consulte Link SDK's subscribe topic.
Proceso de gestión de tareas
-
Cree una tarea de servicio Pub.
En la consola de IoT Platform, vaya a su instancia. En el panel de navegación izquierdo, elija . En la página Tasks, haga clic en Create Task.
-
Vaya a la página Create Task, haga clic en el icono de ayuda
junto a los nombres de los parámetros, configure la tarea y el trabajo según las indicaciones, y seleccione Complete.-
Configuración de la tarea
Parámetro
Descripción
Task Name
Introduzca un nombre de tarea válido.
Task Type
Elija el tipo: Pub Batch Message Push Task.
Task Description
Proporcione detalles como el propósito de la tarea para facilitar su identificación.
Destination Device, Product, or Group
Seleccione los dispositivos destino para la tarea. Puede seleccionarlos por dispositivo, producto o grupo.Importante Si selecciona dispositivos por grupo, no puede seleccionar un grupo dinámico.Task Execution Rules for Devices
Cargue un archivo de reglas en formato
.jsony asegúrese de que el tamaño del archivo no exceda los 64 KB.Haga clic en Download Template para obtener una plantilla de archivo de reglas.
Por ejemplo, para varios dispositivos, el tema personalizado es:
/${productKey}/${deviceName}/user/get. Un fragmento de código de ejemplo es:{ "topicShortName": "get", "messageContent": "eyJ0ZXN0IjoidGFzayBiYXRjaHB1YiBicm9hZGNhc3QifQ==" }topicShortName: Define el tema personalizado completo:
/${productKey}/${deviceName}/user/${topicShortName}. Por ejemplo, el valor de/${productKey}/${deviceName}/user/gettopicShortName para el temagetes .messageContent: El cuerpo del mensaje que se enviará, el cual debe convertirse a datos binarios y codificarse en Base64.
-
Configuración del trabajo
Parámetro
Descripción
Job Execution Push Configuration
Ajuste el número de trabajos enviados por minuto según sus requisitos empresariales.
Establezca el Number Of Jobs Executed Per Minute de acuerdo con sus necesidades operativas.
Elija el Push Message Type para tareas personalizadas y tareas de envío de mensajes por lotes Pub.
Las opciones incluyen:
QoS0: Entrega el mensaje como máximo una vez.
QoS1: Garantiza la entrega al menos una vez. Si no se recibe una respuesta PUBACK después de enviar un mensaje QoS 1, el mensaje se reenviará al dispositivo al reconectarse a IoT Platform.
Job Execution Timeout Configuration
Este parámetro opcional le permite establecer un tiempo de espera para las tareas del dispositivo. Si no se configura, las tareas no caducarán. Esto aplica únicamente a tareas personalizadas.
El temporizador inicia cuando la tarea del dispositivo entra en el estado IN_PROGRESS. Si la tarea excede el tiempo de espera establecido sin completarse, el estado del trabajo cambia a TIMED_OUT y la ejecución del trabajo se detiene.
-
-
Al crear la tarea, IoT Platform envía mensajes a varios dispositivos mediante la API Pub, lo que solicita a los dispositivos devolver resultados de respuesta a IoT Platform.
El tema de mensaje personalizado sigue el patrón
/${productKey}/${deviceName}/user/${TopicShortName}, con un formato de datos definido por el usuario. -
En la página de su instancia, consulte las tareas creadas y su estado actual.
ImportanteUna tarea con estado
timed out
no se puede programar para ejecución nuevamente.
El temporizador inicia cuando se crea la tarea. Si no todas las subtareas se completan dentro de siete días, el estado de la tarea cambia a timed out.
Realice a continuación operaciones:
Cancele una tarea que se encuentra en estado processing.
-
Haga clic en View junto a una tarea para abrir su página de detalles, donde puede consultar la información de la tarea y las estadísticas de ejecución de subtareas.
Pestaña Descripción Task Information Consulte la información de la tarea, modifique la descripción de la tarea y la configuración de subtareas, y descargue el archivo de tareas del dispositivo. Task Summary Consulte estadísticas de subtareas agrupadas por estado. -
Haga clic en View junto a un dispositivo para ir a su página Device Details:
- En la pestaña Task, consulte la lista de todas las tareas del dispositivo.
- En la pestaña Device Log, haga clic en Go to View. En la pestaña cloud run log, seleccione cloud-to-device message en la lista desplegable workload type para consultar los registros de tareas del dispositivo.
- Si una subtarea falló, haga clic en Execution Details para ver la causa del error.
- Si una subtarea está en estado timed out o failed, haga clic en el botón de estado correspondiente para ver la lista de subtareas en ese estado.
Haga clic en Rerun encima de la lista para volver a ejecutar todas las subtareas que caducaron o fallaron para la tarea actual.
-
Haga clic en View junto a un dispositivo para ir a su página Device Details:
-
Haga clic en Delete junto a la tarea objetivo y luego haga clic en OK.
AvisoDespués de eliminar una tarea de dispositivo, se borran todos los datos relacionados. Si algún servicio depende de esta tarea, podría dejar de estar available o su negocio podría verse afectado. Proceda con precaución.