Tutorial: Crea una regla de Activator de extremo a extremo mediante IA agéntica

Fabric Activator detecta patrones en los datos de streaming y toma medidas cuando se cumplen las condiciones. En este tutorial, usarás un agente de IA para crear una canalización integral. La canalización monitoriza un flujo de eventos de telemetría, detecta un sobrecalentamiento sostenido e invoca una función definida por el usuario (UDF) de Fabric para registrar una orden de reparación. Tú redactas las instrucciones; el agente se encarga de la redacción.

En este tutorial se usa la telemetría de widget-make-machine como ejemplo en ejecución, pero las mismas solicitudes funcionan para casi cualquier dato de serie temporal con un identificador estable por entidad: dispositivos IoT, flotas de vehículos, eventos de logística, tics financieros, métricas de aplicación, etc. Sustituya los nombres de los campos y el umbral para adaptarlos a la estructura de sus datos.

En este tutorial, va a completar las siguientes tareas:

  • Configure un flujo de eventos en su Event Hub.
  • Cree una función de datos de usuario para archivar el trabajo de reparación.
  • Cree una regla activator que desencadene la función.

Si no está familiarizado con Fabric Activator, consulte ¿Qué es Fabric Activator?. Si no está familiarizado con Fabric Funciones de datos de usuario, consulte ¿Qué son las funciones de datos de usuario Fabric?.

Información general del escenario

Un fabricante opera una flota de máquinas de creación de widgets en varias plantas. Cada máquina emite telemetría (temperatura, vibración, presión, estado de ejecución) en un centro de eventos de Azure. Cuando una máquina mantiene una temperatura de ejecución alta, necesita una visita de mantenimiento antes de que se descompone.

En este tutorial, cada evento usa un esquema representativo pequeño: un identificador por máquina (machine_id), una etiqueta de ubicación (plant_id), una métrica numérica para supervisar (temperature_c) y un campo de estado de ejecución (state). No importan los nombres exactos de los campos: la misma estructura del prompt sirve para cualquier ID por entidad más una métrica para la que quieras fijar un umbral.

Se crea una canalización de Fabric que supervisa el flujo de telemetría, se aplica una regla de umbral sostenido y se llama a una función de datos de usuario para archivar el trabajo de reparación. La regla agrupa los eventos por machine_id y se activa cuando temperature_c permanece por encima de 50 °C durante 5 minutos. Cuando se dispara, envía machine_id, plant_id y la temperatura actual a la acción.

Diagrama de arquitectura de la telemetría que fluye desde las máquinas a través de Azure Event Hubs, un flujo de eventos de Fabric, una regla de Activator y una UDF.

Prerequisites

Antes de comenzar, necesita lo siguiente:

  • Un área de trabajo de Fabric con capacidad F4 (o superior) y permisos de edición. Para más información sobre las áreas de trabajo, consulte Áreas de trabajo.
  • Un agente compatible con habilidades —por ejemplo, GitHub Copilot CLI o GitHub Copilot en Visual Studio Code— con las habilidades de Fabric instaladas.
  • Un espacio de nombres y un hub de Azure Event Hubs que transmiten la telemetría. Necesita el FQDN del espacio de nombres, el nombre del centro y una Listen+Send cadena de conexión.

Configuración de eventstream

En este paso, crea el flujo de eventos suscrito a su centro de eventos. Das instrucciones al agente y validas el resultado en el portal.

  1. Dé al agente esta instrucción, reemplazando los marcadores de posición por los valores de su centro de eventos:

    Create a Fabric eventstream in my workspace called `WidgetMachineTelemetry` that ingests from this Azure event hub:
    
    - Namespace: `<your namespace FQDN>`
    - Hub name: `<your hub name>`
    - Connection string: `<your Listen+Send connection string>`
    
    When you're done, give me a direct portal link to the eventstream item so I can verify it.
    
  2. El agente invoca la aptitud de creación de eventstream. Crea el elemento Eventstream, configura el Event Hub como origen y devuelve una URL en la que se puede hacer clic del elemento en el portal de Fabric. No hace falta un destino: Activator se suscribe directamente al flujo.

  3. Seleccione el vínculo que le dio el agente. En la Vista en vivo, compruebe que el origen del centro de eventos esté Conectado y que los eventos de telemetría de widget-machine se estén transmitiendo.

    Captura de pantalla de la secuencia de eventos WidgetMachineTelemetry que muestra el origen del centro de eventos conectado y el destino de Activator, con la vista previa de datos en directo.

    Figura 1: El WidgetMachineTelemetry flujo de eventos: los eventos fluyen desde el origen del widget-telemetry centro de eventos a través de la secuencia al WidgetMachineMaintenance destino del activador.

Creación de la función de datos de usuario

En este paso, crea la función de datos de usuario a la que llama su regla Activator. La función envía la solicitud de trabajo de reparación a su API descendente.

  1. Asigne al agente este mensaje:

    Create a Fabric User Data Function called `MaintenanceDispatcher` in my workspace, written in Python, with a function `file_repair_job(machine_id, plant_id, temperature_c)` that sends those values as JSON in a POST request to `https://contoso.com/maintenance/fileRepairJob` and returns the parsed response.
    
    When you're done, give me a direct portal link to the UDF item so I can verify it.
    
  2. El agente invoca la habilidad de creación de UDF en Fabric. Genera la estructura de un elemento de UDF de Python, implementa file_repair_job con httpx, publica la UDF, confirma que la función se puede invocar y devuelve una URL del elemento en la que se puede hacer clic.

  3. Seleccione el vínculo que le dio el agente y, a continuación, use el panel Prueba integrado para invocar file_repair_job con una carga de ejemplo. Por ejemplo: machine_id="widget-press-042", plant_id="plant-eu-01", temperature_c=52.7. La llamada a contoso.com genera un error HTTP, lo cual es normal, porque el endpoint de ejemplo no se puede resolver. El comportamiento importante es que la UDF implementó, registró y alcanzó la llamada HTTP saliente.

    Captura de pantalla de la función de datos de usuario MaintenanceDispatcher que muestra el código fuente de Python de file_repair_job en el editor del portal.

    Figura 2: La MaintenanceDispatcher función de datos de usuario:file_repair_job envía los detalles de la máquina sobrecalentada al sistema de mantenimiento.

Nota:

En este tutorial se usa https://contoso.com/maintenance/fileRepairJob como marcador de posición para el extremo del sistema real de mantenimiento. Reemplácela por cualquier punto de conexión HTTPS propio. Para los puntos de conexión autenticados, recupere las credenciales de Azure Key Vault a través de una conexión genérica de UDF. Para obtener más información, consulte Acceder a orígenes de datos en las funciones de datos de usuario de Fabric.

Crear la regla Activator

En este paso, creas la regla de Activator que supervisa el flujo de eventos y llama a la UDF cuando una máquina se sobrecalienta.

  1. Asigne al agente este mensaje:

    Create an Activator rule in my workspace subscribed to the `WidgetMachineTelemetry` eventstream, that triggers my `file_repair_job` UDF when a machine's temperature stays above 50°C for 5 minutes.
    
    When you're done, give me a direct portal link to the rule so I can verify it.
    
  2. El agente invoca la habilidad de creación de Activator y crea el elemento de Activator. El agente agrupa la regla por machine_id, crea la detección de umbral sostenido y configura la acción para llamar a la UDF con machine_id, plant_id y la temperatura actual. A continuación, el agente devuelve una URL en la que se puede hacer clic para acceder a la regla.

  3. Seleccione el vínculo que le dio el agente y, a continuación, recorra esta lista de comprobación:

    • Los datos están fluyendo hacia la regla. Abra el objeto Activator subyacente de la regla en el panel Explorer y confirme que los eventos recientes aparecen en la tabla en tiempo real con valores no nulos de machine_id y temperature_c.
    • La regla se está ejecutando. Confirme que la regla está en estado Iniciado o En ejecución y el resumen del objeto Activator muestra las máquinas como instancias activas.
    • El agente registra las activaciones. Cuando las máquinas sobrecalentadas permanecen por encima de 50 °C durante 5 minutos, se registran entradas en la pestaña Historial de la regla, cada una de las cuales muestra la machine_id que se activó, la temperatura en el momento de la activación y una llamada realizada correctamente a file_repair_job.

    Captura de pantalla de la regla del activador OverheatingDispatch en ejecución, en la que la acción llama a la UDF file_repair_job y pasa como parámetros el ID de la máquina, el ID de la planta y la temperatura.

    Figura 3: La regla OverheatingDispatch Activator se activa cuando la temperatura de una máquina permanece por encima de 50 °C durante 5 minutos, invocando file_repair_job con el identificador, la planta y la temperatura actual de la máquina.

Limpieza de recursos

Cuando termine, elimine los elementos eventstream, User Data Function y Activator del área de trabajo, y elimine el espacio de nombres de Event Hubs del portal de Azure para evitar que se sigan generando cargos.