Todos los productos
Search
Centro de documentos

IoT Platform:Crear una tarea personalizada

Última actualización: Sep 03, 2026

Si las tareas de configuración de propiedades por lotes o las tareas de llamada de servicio por lotes ya no satisfacen sus requisitos comerciales, puede crear tareas personalizadas y configurar reglas a la medida para cubrir diversos escenarios. Este tema describe cómo crear una tarea personalizada y consultar su información. También se detallan los topics que se utilizan durante la ejecución de la tarea y los formatos de mensaje correspondientes.

Requisitos previos

Debe tener una tarea desplegada en un dispositivo con la funcionalidad de gestión correspondiente desarrollada. Para obtener más información, consulte Overview.

Proceso de gestión de tareas

  1. Cree una tarea personalizada.

    1. En la IoT Platform console, vaya a su instancia. En el panel de navegación izquierdo, seleccione Maintenance > Tasks. En la página Tasks, haga clic en Create Task.

    2. En la página Create Task, configure los parámetros en los pasos Create Task y Task Schedule. A continuación, haga clic en Complete. Pase el puntero sobre el icono 帮助 junto a un parámetro para consultar información al respecto.

      • Create Task

        Parámetro

        Descripción

        Task Name

        Especifique un nombre de tarea válido. Puede definir un nombre personalizado.

        Task Type

        Establezca este parámetro en Custom Task.

        Task Description

        Especifique información como el propósito de la tarea, lo cual facilita 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 podrá elegir un grupo dinámico.

        Task Execution Rules Issued to Devices

        Cargue un archivo de reglas. El archivo debe estar en formato JSON y no puede superar los 64 KB de tamaño.

        Puede hacer clic en Download Template para obtener una plantilla de reglas. El siguiente código muestra el contenido del archivo:

        {
                "key":"value"
            }
        • key: El ID de un campo personalizado. Tipo de dato: String.

        • value: El valor correspondiente a la key. El valor debe estar en formato JSON.

        File Signature Algorithm

        El algoritmo de firma. Valores válidos: MD5 y SHA256.

        Este parámetro es opcional. Puede usar el parámetro File Signature Algorithm junto con el parámetro Task File Issued to Devices.

        Task File Issued to Devices

        Cargue un archivo para la tarea personalizada.

        Este parámetro es opcional. Puede usar el parámetro Task File Issued to Devices junto con el parámetro File Signature Algorithm.

        Se admiten los siguientes formatos de archivo: .bin, .apk, .tar, .gz, .zip, .gzip y .tar.gz. El archivo no puede superar los 1,000 MB de tamaño.

        Importante

        Puede crear un archivo de reglas personalizado y especificar contenido a medida para un archivo de dispositivo según sus necesidades comerciales. Debe desarrollar la lógica de implementación de las reglas de la tarea y el contenido del dispositivo en los dispositivos especificados.

      • Task Configuration

        Parámetro Descripción
        Job execution push configuration
        • Jobs per minute: Establezca la cantidad de trabajos que se enviarán por minuto.
        • Push message type: Aplica únicamente a tareas personalizadas y a tareas de envío masivo de mensajes Pub Batch Message Push.

          Valores válidos:

          • QoS 0: Entrega como máximo una vez.
          • QoS 1: Entrega al menos una vez. Si no se recibe un mensaje PUBACK para un mensaje QoS 1, IoT Platform reenvía el mensaje al dispositivo cuando este se reconecta.
        Job execution timeout configuration Opcional. Si no se establece un tiempo de espera, el trabajo se ejecuta indefinidamente. Esta configuración aplica solo a tareas personalizadas.

        La cuenta regresiva comienza cuando el trabajo entra en estado In Progress. Si el trabajo no se completa dentro del periodo de tiempo de espera, su estado cambia a Timed Out y la ejecución se detiene.

        Job start time
  2. Después de crear la tarea, IoT Platform envía la información de la tarea a los dispositivos especificados mediante el topic /sys/{productKey}/{deviceName}/thing/job/notify.

    Mensaje de ejemplo:

    {
        "id": "7542940",
        "version": "1.0",
        "params": {
            "task": {
                "taskId": "i5Ks6***pF010101",
                "status": "SENT",
                "jobDocument": {},
                "jobFile":{
                    "signMethod":"Md5",
                    "sign":"wssxff56dhdsd***",
                    "fileUrl": "https://iotx-***.oss-cn-shanghai.aliyuncs.com/***.zip"
                }
            }
        }
    }

    jobDocument especifica el contenido de un archivo de reglas.

    Tabla 1. Descripción de parámetros de solicitud

    Parámetro

    Tipo

    Descripción

    id

    String

    El ID del mensaje. Debe ser una cadena numérica única en el dispositivo. Valores válidos: 0 a 4294967295.

    version

    String

    La versión del protocolo. Establezca este parámetro en 1.0.

    params

    Object

    Los parámetros de solicitud del negocio.

    task

    Object

    Parámetros de la subtarea.

    taskId

    String

    El ID de la subtarea, que es un identificador único global.

    status

    String

    El estado de la subtarea.

    • SENT: Programada.

    • REMOVED: Eliminada.

    • CANCELLED: Cancelada.

    jobDocument

    Object

    El documento de trabajo que describe las reglas de ejecución de la tarea.

    Nota

    Si status es REMOVED o CANCELLED, este campo está vacío.

    jobFile

    Object

    La información del archivo cargado al crear una tarea personalizada.

    • signMethod: El método de firma. Actualmente admite Md5 y Sha256.

    • sign: El parámetro de firma generado según el método de firma correspondiente.

    • fileUrl: La URL de descarga del archivo de tarea, válida por 1 hora.

    Nota

    ```html

    Si status es REMOVED o CANCELLED, este campo está vacío.

  3. Los dispositivos implementan el contenido del archivo de reglas basándose en la lógica de la tarea personalizada.

    Si un dispositivo especificado está sin conexión y no puede recibir la información de la tarea, podrá solicitar tareas ejecutables desde el topic /sys/{productKey}/{deviceName}/thing/job/get una vez que vuelva a conectarse. Posteriormente, el dispositivo puede solicitar la información de la tarea personalizada para completarla.

    Solicitud de ejemplo para obtener tareas ejecutables:

    {
        "id": "123",
        "version": "1.0",
        "params": {
            "taskId": "$list"
        }
    }

    Solicitud de ejemplo para obtener información sobre una tarea:

    {
        "id": "123",
        "version": "1.0",
        "params": {
            "taskId": "i5Ks***F010101"
        }
    }

    Tabla 3. Descripción de parámetros de solicitud

    Parámetro

    Tipo

    Descripción

    id

    String

    El ID del mensaje. Debe ser una cadena numérica única en el dispositivo. Valores válidos: 0 a 4294967295.

    version

    String

    La versión del protocolo. Establezca este parámetro en 1.0.

    params

    Object

    Los parámetros de solicitud del negocio.

    taskId

    String

    Tres métodos de valor pueden devolver información de tareas con diferentes estados.

    • El ID de la subtarea: Devuelve información detallada sobre la tarea correspondiente al ID de trabajo.

    • $next: Devuelve información sobre una tarea ejecutable.

    • $list: Devuelve una lista de tareas ejecutables, con un máximo de 10 de forma predeterminada.

    Cuando IoT Platform recibe una solicitud, envía una respuesta al dispositivo correspondiente mediante el topic /sys/{productKey}/{deviceName}/thing/job/get_reply.

    Respuesta de ejemplo que incluye las tareas devueltas:

    {
        "id": "1234",
        "code": 200,
        "data": {
            "statusDetails":{"devs":"test","status":"init"},
            "taskId": "$list",
            "task":[
                {
                    "taskId": "i5Ks***",
                    "status": "IN_PROGRESS"
                },
                {
                    "taskId": "i61s***",
                    "status": "IN_PROGRESS"
                }
            ]
        }
    }

    Respuesta de ejemplo que incluye información devuelta sobre una tarea:

    {
        "id": "1234",
        "code": 200,
        "data": {
            "statusDetails":{"devs":"test","status":"init"},
            "taskId": "i5Ks***F010101",
            "task":{
                "taskId": "i5Ks***F010101",
                "status": "IN_PROGRESS",
                "jobDocument": {},
                "jobFile":{
                    "signMethod":"Md5",
                    "sign":"wssxff56dhdsd***",
                    "fileUrl": "https://iotx-***.oss-cn-shanghai.aliyuncs.com/***.zip"
                }
            }
        }
    }
  4. Durante la ejecución de la tarea, un dispositivo especificado reporta el progreso a IoT Platform mediante el topic /sys/{productKey}/{deviceName}/thing/job/update.

    Mensaje de ejemplo:

    {
        "id": "123",
        "version": "1.0",
        "params": {
            "taskId": "i5Ks***F010101",
            "status": "IN_PROGRESS",
            "statusDetails": {
                "key": "value"
            },
            "progress": 50
        }
    }

    Tabla 5. Descripción de parámetros de solicitud

    Parámetro

    Tipo

    Descripción

    id

    String

    El ID del mensaje. Debe ser una cadena numérica única en el dispositivo. Valores válidos: 0 a 4294967295.

    version

    String

    La versión del protocolo. Establezca este parámetro en 1.0.

    params

    Object

    Los parámetros de solicitud del negocio.

    taskId

    String

    El ID de la subtarea, que es un identificador único global.

    status

    String

    El estado de la subtarea. Valores válidos:

    • SUCCEEDED: Completada correctamente.

    • FAILED: Error de ejecución.

    • IN_PROGRESS: En ejecución actualmente.

    • REJECTED: Ejecución rechazada.

    statusDetails

    Object

    Detalles de estado definidos por el usuario y personalizables. Se pueden consultar en la página Device Management > Tasks > Task Details en la consola de IoT Platform.

    progress

    Integer

    El porcentaje de progreso de ejecución de la subtarea.

  5. En la página Maintenance > Tasks de su instancia, consulte las tareas creadas y su estado actual.

    Importante

    Una 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.

    Puede realizar las siguientes operaciones:

    • Cancelar una tarea que se encuentre en estado processing.

    • Hacer clic en View junto a una tarea para abrir su página de detalles, donde podrá consultar la información de la tarea y las estadísticas de ejecución de las subtareas.

      Pestaña Descripción
      Task Information Permite consultar la información de la tarea, modificar la descripción de la tarea y la configuración de subtareas, así como descargar el archivo de tarea del dispositivo.
      Task Summary Permite ver 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.

        Puede hacer clic en Rerun encima de la lista para volver a ejecutar todas las subtareas que agotaron el tiempo de espera o fallaron en la tarea actual.

    • Haga clic en Delete junto a la tarea objetivo y luego haga clic en OK.

      Aviso

      Al eliminar una tarea de dispositivo, se borran todos los datos relacionados. Si algún servicio depende de esta tarea, podría dejar de estar disponible o su negocio podría verse afectado. Proceda con precaución.