Compartir a través de


Tutorial: Supervisión de los cambios en las máquinas virtuales con Azure Event Grid y Azure Logic Apps

Se aplica a: Azure Logic Apps (Consumo)

Para supervisar y responder a eventos específicos que se producen en recursos de Azure o recursos externos, puede usar Azure Event Grid y Azure Logic Apps. Puede crear un flujo de trabajo de aplicación lógica de consumo automatizado con código mínimo mediante Azure Logic Apps. Puede hacer que estos recursos publiquen eventos en Azure Event Grid. A su vez, Azure Event Grid envía esos eventos a los suscriptores que tienen colas, webhooks o centros de eventos como puntos de conexión. Como suscriptor, su flujo de trabajo espera a que estos eventos lleguen a Azure Event Grid antes de ejecutar los pasos para procesarlos.

Estos son algunos eventos que los publicadores pueden enviar a los suscriptores a través de Azure Event Grid:

  • Crear, leer, actualizar o eliminar un recurso. Por ejemplo, puede supervisar los cambios que podrían incurrir en gastos en su suscripción de Azure y afectar a la facturación.
  • Agregar o quitar a una persona de una suscripción de Azure.
  • La aplicación realiza una acción concreta.
  • Aparece un nuevo mensaje en una cola.

En este tutorial, creará un recurso de aplicación lógica de Consumo que se ejecuta en multiinquilino Azure Logic Apps La aplicación se basa en el modelo de precios de consumo. Con este recurso de aplicación lógica, se crea un flujo de trabajo que supervisa los cambios en una máquina virtual y envía correos electrónicos sobre esos cambios. Cuando crea un flujo de trabajo con una suscripción a eventos de un recurso de Azure, los eventos fluyen desde ese recurso a través de Azure Event Grid al flujo de trabajo.

Captura de pantalla que muestra el diseñador de flujos de trabajo con un flujo de trabajo que supervisa una máquina virtual mediante Azure Event Grid.

En este tutorial, aprenderá a:

  • Crear un recurso y flujo de trabajo de una aplicación lógica que supervisa eventos procedentes de Azure Event Grid.
  • Incorporar una condición que comprueba específicamente cambios en la máquina virtual.
  • Enviar un mensaje de correo electrónico cuando la máquina virtual cambia.

Requisitos previos

Creación de un recurso de aplicación lógica

  1. Inicie sesión en Azure Portal con su cuenta de Azure.

  2. En la página principal de Azure, seleccione Crear un recurso>Integración>Aplicación lógica.

    Captura de pantalla que muestra Azure Portal con opciones para crear un recurso de aplicación lógica.

  3. Seleccione Consumo>Multiinquilino.

  4. En Crear aplicación lógica, proporcione información acerca del recurso de aplicación lógica:

    Captura de pantalla que muestra el menú de creación de aplicaciones lógicas, en el que se muestran detalles como el nombre, la suscripción, el grupo de recursos y la ubicación.

    Parámetro Obligatorio Valor Descripción
    Suscripción < Azure-subscription-name> Seleccione la misma suscripción de Azure para todos los servicios de este tutorial.
    Grupo de recursos < Grupo de recursos de Azure> Nombre del grupo de recursos de Azure para la aplicación lógica, que puede seleccionar para todos los servicios de este tutorial.
    Nombre de la aplicación lógica < Nombre de la aplicación lógica> Proporcione un nombre único para la aplicación lógica.
    Región < Región de Azure> Seleccione la misma región para todos los servicios de este tutorial.

    Nota:

    Este tutorial solo es pertinente para las aplicaciones lógicas de consumo, que siguen una experiencia de usuario diferente. Para más información, consulte Diferencias entre las aplicaciones lógicas de un solo inquilino Estándar en comparación con las aplicaciones lógicas multiinquilino de Consumo.

  5. Seleccione Revisar y crear cuando haya terminado. En la página siguiente, confirme la información proporcionada y seleccione Crear.

Seleccione un desencadenador de Azure Event Grid

Para agregar el desencadenador de Azure Event Grid para que pueda supervisar el grupo de recursos de la máquina virtual, siga estos pasos:

  1. En Azure Portal, abra el recurso de la aplicación lógica de consumo.

  2. En la barra lateral del recurso, en Herramientas de desarrollo, seleccione el diseñador para abrir el flujo de trabajo.

  3. En el diseñador, siga estos pasos generales para agregar el desencadenador de Azure Event Grid denominado Cuando se produce un evento de recursoal flujo de trabajo.

  4. En el panel Crear conexión , proporcione la siguiente información:

    Parámetro Obligatorio Descripción
    Autenticación Seleccione el tipo de autenticación que se va a requerir para la conexión. La selección determina otros valores de parámetro que requiere esta conexión.

    Por ejemplo, con la autenticación de OAuth, aparece la lista Id. de inquilino y muestra el inquilino de Microsoft Entra para la suscripción de Azure. Confirme que aparece el inquilino correcto:

    Captura de pantalla que muestra el diseñador de flujo de trabajo con la solicitud de inicio de sesión para Azure Event Grid.

    Nota:

    Si inició sesión con una cuenta personal de Microsoft, como @outlook.com o @hotmail.com, el desencadenador de Azure Event Grid podría no aparecer correctamente. Como solución alternativa, seleccione Conectar con Service Principal o autentíquese como miembro de Microsoft Entra para su suscripción de Azure. Por ejemplo, user-name@emailoutlook.onmicrosoft.com.

  5. Al acabar, seleccione Iniciar sesión.

  6. Ahora, configure el flujo de trabajo con una suscripción a eventos del publicador.

    En el panel del desencadenador, proporcione la siguiente información sobre la suscripción de eventos:

    Captura de pantalla que muestra el diseñador de flujo de trabajo con el editor de detalles del desencadenador abierto.

    Parámetro Obligatorio Valor Descripción
    Tipo de recurso < event-publisher-Azure-resource-type> Seleccione el tipo de recurso de Azure para el publicador de eventos. Para más información, consulte Tipos y proveedores de recursos de Azure. En este tutorial, seleccione Microsoft.Resources.ResourceGroups para supervisar los grupos de recursos de Azure.
    Suscripción < publicador-de-eventos-nombre-de-suscripción-de-Azure> Seleccione el nombre de la suscripción de Azure para el publicador de eventos. Para este tutorial, seleccione el nombre de la suscripción de Azure de la máquina virtual.
    Nombre de recurso < event-publisher-Azure-resource-name> Seleccione el nombre de recurso de Azure para el publicador de eventos. Esta lista varía según el tipo de recurso que ha seleccionado. Para este tutorial, seleccione el nombre del grupo de recursos de Azure que incluye la máquina virtual.
    Elemento de tipo de evento No < tipos de eventos> Seleccione uno o varios tipos de evento específicos para filtrar y enviar a Azure Event Grid. Por ejemplo, si lo desea puede agregar estos tipos de eventos para detectar cuándo se cambian o eliminan los recursos:

    - Microsoft.Resources.ResourceActionSuccess
    - Microsoft.Resources.ResourceDeleteSuccess
    - Microsoft.Resources.ResourceWriteSuccess

    Para obtener más información, consulte:

    - Grupo de recursos de Azure como origen de Event Grid
    - Descripción del filtrado de eventos
    - Filtrado de eventos para Event Grid
    Para agregar parámetros opcionales, abra la lista Parámetros avanzados y, a continuación, seleccione los parámetros que desee. No {ver descripciones} - Filtro de prefijo: en este tutorial, deje este valor vacío. El comportamiento predeterminado coincide con todos los valores. Sin embargo, puede especificar una cadena de prefijo como un filtro, por ejemplo, una ruta de acceso y un parámetro para un recurso concreto.

    - Filtro de sufijo: para este tutorial, deje este valor vacío. El comportamiento predeterminado coincide con todos los valores. Sin embargo, puede especificar una cadena de sufijo como un filtro, por ejemplo, una extensión de nombre de archivo, si desea solo determinados tipos de archivos.

    - Nombre de la suscripción: para este tutorial puede proporcionar un nombre único para la suscripción a eventos.
  7. Guarde el flujo de trabajo. En la barra de herramientas del diseñador, seleccione Save (Guardar).

    Al guardar el flujo de trabajo con un desencadenador de Azure Event Grid, Azure crea una suscripción de eventos para el flujo de trabajo al recurso seleccionado. Cuando el recurso publica un evento en el servicio Azure Event Grid, el servicio inserta el evento en el flujo de trabajo. Este evento desencadena y ejecuta el flujo de trabajo que defina en la sección siguiente.

Al guardar el flujo de trabajo, el recurso de la aplicación lógica se convierte en activo en Azure Portal y comienza a escuchar eventos desde Azure Event Grid. Sin embargo, el flujo de trabajo no realiza ninguna otra acción hasta que se le agreguen acciones para llevar a cabo tareas.

Agregar una condición

Para ejecutar las acciones en el flujo de trabajo solo cuando se produce un evento o una operación específicos, agregue una condición que compruebe si hay ese evento o operación. En este tutorial se comprueba la operación Microsoft.Compute/virtualMachines/write . Cuando esta condición es true, otra acción del flujo de trabajo le envía un correo electrónico que incluye información sobre la máquina virtual actualizada.

  1. En el diseñador, siga estos pasos generales para agregar la acción integrada denominada Condición al flujo de trabajo.

    El diseñador agrega una condición vacía al flujo de trabajo, incluidas las rutas de acción que se deben seguir en función de si la condición es true o false.

    Captura de pantalla que muestra el diseñador de flujo de trabajo con una condición vacía agregada al flujo de trabajo.

  2. Para cambiar el nombre de la condición, en el panel de acciones, en el título de la acción, seleccione Condición. Cambie el nombre del título a Si ha cambiado una máquina virtual del grupo de recursos.

    Captura de pantalla que muestra el diseñador de flujo de trabajo y el cuadro de título de la acción con el nuevo nombre.

  3. Cree una condición que compruebe el evento body de un data objeto donde el operationName parámetro es igual a la operación Microsoft.Compute/virtualMachines/write . Para más información, consulte Esquema de eventos de Azure Event Grid.

    1. En la primera fila debajo de Y, seleccione dentro del cuadro de la izquierda para mostrar las opciones de entrada, que son la lista de contenido dinámico (icono de rayo) y el editor de expresiones (icono de función). Seleccione el editor de expresiones.

      Captura de pantalla que muestra el diseñador de flujo de trabajo con la acción Condición con el nombre cambiado y el editor de expresiones abiertos.

    2. En el editor, asegúrese de que función está seleccionada. En el cuadro del editor, escriba la expresión siguiente, que devuelve el nombre de la operación del desencadenador y, a continuación, seleccione Agregar:

      triggerBody()?['data']['operationName']

      Por ejemplo:

      Captura de pantalla que muestra el diseñador de flujo de trabajo y el editor de condiciones con expresión para extraer el nombre de la operación.

    3. En el cuadro central, mantenga el operador "es igual a" (=).

    4. En el cuadro derecho, escriba la operación que desea supervisar, que es el valor siguiente para este ejemplo:

      Microsoft.Compute/virtualMachines/write

    Ahora, la condición finalizada se parecerá a este ejemplo:

    Captura de pantalla que muestra el diseñador de flujo de trabajo con una condición que compara la operación.

    Si guarda los cambios y cambia de la vista del diseñador a la vista de código y, a continuación, vuelve a la vista del diseñador, la expresión de la condición se resuelve en el token data.operationName :

    Captura de pantalla que muestra el diseñador de flujo de trabajo con una condición que resuelve los tokens.

  4. Guarde el flujo de trabajo.

Envío de notificaciones por correo electrónico

Ahora, agregue una acción para poder recibir un mensaje de correo electrónico cuando se cumpla la condición especificada.

  1. En el cuadro True de la condición, seleccione +>Agregar una acción.

    Captura de pantalla que muestra el diseñador de flujo de trabajo con el panel Verdadero de la condición abierto y con la opción seleccionada para agregar una acción.

  2. En el cuadro de búsqueda Agregar un panel de acciones, escriba enviar un correo electrónico. En función del proveedor de correo electrónico, busque el tipo de conector correspondiente. Seleccione la acción "enviar correo electrónico" para el conector. Por ejemplo:

    • Para una cuenta profesional o educativa de Azure, seleccione la acción conector de Office 365 Outlook denominada Enviar un correo electrónico (V2).
    • Para las cuentas personales de Microsoft, seleccione la acción del conector de Outlook.com denominada Enviar un correo electrónico (V2).
    • Para las cuentas de Gmail, seleccione la acción conector de Gmail denominada Enviar correo electrónico (V2).

    Este tutorial continúa con la acción del conector de Office 365 Outlook. Si usa un proveedor diferente, los pasos siguen siendo los mismos, pero la interfaz de usuario puede parecer ligeramente diferente.

  3. Si aún no tiene una conexión para su proveedor de correo electrónico, inicie sesión en su cuenta de correo electrónico cuando se le pida que autentique su identidad.

  4. Cambie el nombre de la acción enviar correo electrónico al título siguiente: Enviar correo electrónico cuando se actualice la máquina virtual.

  5. En el panel de acciones, proporcione la siguiente información sobre el correo electrónico que se va a enviar:

    Sugerencia

    Para seleccionar la salida de las operaciones anteriores (desencadenador y acciones) en el flujo de trabajo, siga estos pasos:

    1. Seleccione dentro de un cuadro de edición para mostrar las opciones de entrada, que son la lista de contenido dinámico (icono de rayo) y el editor de expresiones (icono de función). Seleccione la lista de contenido dinámico.
    2. Busque y seleccione las salidas que desea incluir. Para más resultados, seleccione Ver más para cada sección de la lista.
    Parámetro Obligatorio Valor Descripción
    To < recipient@domain> Escriba la dirección de correo electrónico del destinatario. Para realizar pruebas, puede usar su propia dirección de correo electrónico.
    Subject Recurso actualizado:[Asunto] Escriba el contenido del asunto del correo electrónico. Para este tutorial, escriba el texto especificado y seleccione el campo Asunto del evento. En este caso, el asunto del correo electrónico incluye el nombre del recurso actualizado (máquina virtual).
    Cuerpo Recurso:[Topic]

    Tipo de evento:[Tipo de evento]

    Id. de evento:[ID]

    Time:[Event Time]
    Escriba el contenido del cuerpo del correo electrónico. En este tutorial, escriba el texto especificado y seleccione las salidas tema, tipo de evento, identificador y hora de evento para que el correo electrónico incluya el recurso que desencadenó el evento, el tipo de evento, la marca de tiempo del evento y el identificador de evento de la actualización. Para este tutorial, el recurso es el grupo de recursos de Azure seleccionado en el desencadenador.

    Para agregar líneas en blanco en el contenido, presione Mayús + Entrar.

    Nota:

    Si selecciona un campo que representa una matriz, el diseñador agrega automáticamente un bucle For each alrededor de la acción que haga referencia a la matriz. De este modo, el flujo de trabajo realiza esa acción en cada elemento de matriz.

    La acción de correo electrónico podría ser similar a la de este ejemplo:

    Captura de pantalla que muestra el diseñador de flujo de trabajo con salidas seleccionadas que se van a enviar por correo electrónico cuando se actualiza la máquina virtual.

    El flujo de trabajo terminado ahora tiene un aspecto similar al del siguiente ejemplo:

    Captura de pantalla que muestra el diseñador con un flujo de trabajo completo y detalles para desencadenadores y acciones.

  6. Guarde el flujo de trabajo.

    Las actualizaciones de flujo de trabajo ahora están activas. El desencadenador de flujo de trabajo espera los cambios en la máquina virtual antes de hacer nada. Para probar el flujo de trabajo ahora, pase a la sección siguiente.

Prueba del flujo de trabajo

  1. Para comprobar que el flujo de trabajo recibe los eventos especificados, actualice la máquina virtual.

    Por ejemplo, puede cambiar el tamaño de la máquina virtual.

    Transcurridos unos instantes, debería recibir un correo electrónico. Por ejemplo:

  2. Para revisar el historial de ejecución o el historial de desencadenadores del flujo de trabajo, en la barra lateral del recurso, seleccione Información general.

  3. En la página Información general, seleccione Historial de ejecuciones. Para ver más detalles sobre una ejecución de flujo de trabajo, seleccione esa ejecución.

    Captura de pantalla que muestra la página de información general de la aplicación lógica con una ejecución correcta seleccionada.

  4. Para ver las entradas y salidas de cada operación, seleccione esa operación.

    Esta información puede ayudarle a diagnosticar y depurar problemas en el flujo de trabajo.

    Captura de pantalla que muestra el historial de ejecución del flujo de trabajo con detalles sobre cada ejecución.

¡Felicidades! Ha creado y ejecutado un flujo de trabajo que supervisa los eventos de recursos en Azure Event Grid y le envía mensajes de correo electrónico cuando se producen esos eventos. También ha aprendido cómo puede crear fácilmente flujos de trabajo que automatizan los procesos y a integrar sistemas y servicios en la nube.

Puede supervisar otros cambios de configuración con event grids y flujos de trabajo, por ejemplo:

  • Una máquina virtual obtiene permisos de control de acceso basado en rol (RBAC) de Azure.
  • Se realizan cambios en un grupo de seguridad de red (NSG) en una interfaz de red (NIC).
  • Los discos para una máquina virtual se agregan o se quitan.
  • Se asigna una dirección IP pública a una máquina virtual de NIC.

Limpieza de recursos

Este tutorial utiliza recursos y realiza acciones que generan gastos en su suscripción de Azure. Cuando haya terminado con el tutorial y las pruebas, deshabilite o elimine los recursos en los que no quiera incurrir en cargos.

  • Para detener la ejecución del flujo de trabajo sin eliminar el trabajo, deshabilíte la aplicación. En la barra lateral de la aplicación lógica, seleccione Información general. En la barra de herramientas, seleccione Deshabilitar.

    Captura de pantalla que muestra la página Información general de la aplicación lógica con el botón Deshabilitar seleccionado.

    Sugerencia

    Si no ve la barra lateral de la aplicación lógica, intente volver a la página principal de Azure Portal y vuelva a abrir el recurso de la aplicación lógica.

  • Para eliminar permanentemente la aplicación lógica, en el menú de la barra lateral, seleccione Información general. En la barra de herramientas, seleccione Eliminar. Confirme que desea eliminar la aplicación lógica y seleccione Eliminar.

Para obtener ejemplos sobre cómo publicar eventos y consumir eventos con Azure Event Grid mediante distintos lenguajes de programación, consulte los ejemplos siguientes: