Conexión a un centro de eventos desde flujos de trabajo en Azure Logic Apps

Se aplica a: Azure Logic Apps (consumo)

El conector de Azure Event Hubs ayuda a conectar los flujos de trabajo de aplicación lógica a centros de eventos de Azure. Luego, puede hacer que los flujos de trabajo supervisen y administren los eventos que se envían a un centro de eventos. Por ejemplo, el flujo de trabajo puede comprobar, enviar y recibir eventos desde el centro de eventos. En este artículo se proporciona una guía de introducción al uso del conector de Azure Event Hubs que muestra cómo conectarse a un centro de eventos y agregar un desencadenador o una acción de Event Hubs al flujo de trabajo.

Para más información sobre Azure Event Hubs o Azure Logic Apps, revise ¿Qué es Azure Event Hubs? o ¿Qué es Azure Logic Apps?

Operaciones disponibles

Para información sobre todas las operaciones y otra información técnica, como propiedades, límites, etc., revise la página de referencia del conector de Event Hubs.

Nota:

En el caso de las aplicaciones lógicas hospedadas en un entorno de servicio de integración (ISE), la versión ISE del conector usa los límites de mensajes de ISE.

Requisitos previos

Comprobación de los permisos y obtención de la cadena de conexión

Para que el flujo de trabajo pueda acceder al centro de eventos, compruebe sus permisos y, luego, obtenga la cadena de conexión para el espacio de nombres del centro de eventos.

  1. En Azure Portal, vaya al espacio de nombres de Event Hubs, no a un centro de eventos específico.

  2. En el menú del espacio de nombres, en Configuración, seleccione Directivas de acceso compartido. En la columna Notificaciones, compruebe que tiene al menos permisos para Administrar en ese espacio de nombres.

    Screenshot showing the Azure portal, your Event Hubs namespace, and

  3. Si más adelante quiere especificar manualmente la información de conexión, obtenga la cadena de conexión del espacio de nombres del centro de eventos.

    1. En la columna Directiva, seleccione RootManageSharedAccessKey.

    2. Busque la cadena de conexión de clave principal. Copie y guarde la cadena de conexión para usarla más adelante.

      Screenshot showing the primary key's connection string with the copy button selected.

      Sugerencia

      Para confirmar si la cadena de conexión está asociada al espacio de nombres de Event Hubs o a un centro de eventos específico, asegúrese de que la cadena de conexión no tiene el parámetro EntityPath. Si encuentra este parámetro, la cadena de conexión es para una "entidad" de Event Hubs específica y no es la cadena correcta para utilizar con el flujo de trabajo.

Creación de una conexión al centro de eventos

Al agregar por primera vez un desencadenador o una acción de Event Hubs, se le pedirá que cree una conexión al centro de eventos.

  1. Cuando esto suceda, elija una de las siguientes opciones:

    • Proporcione la siguiente información de conexión:

      Propiedad Necesario Valor Descripción
      Nombre de la conexión <connection-name> El nombre que se va a crear para su conexión
      Espacio de nombres de Event Hubs <event-hubs-namespace> Seleccione el espacio de nombres de Event Hubs que quiere usar.
    • Para escribir de forma manual la cadena de conexión guardada anteriormente, seleccione Especificar la información de conexión manualmente. Obtenga información acerca de cómo buscar la cadena de conexión.

  2. Seleccione la directiva de Event Hubs que se usará, si no está ya seleccionada, y elija Crear.

    Screenshot showing the provided connection information with

  3. Después de crear la conexión, continúe con Adición de un desencadenador de Event Hubs o Adición de una acción de Event Hubs.

Adición de un desencadenador de Event Hubs

En Azure Logic Apps, cada flujo de trabajo debe comenzar con un desencadenador, que se activa cuando se cumple una condición determinada. Cada vez que se activa el desencadenador, el servicio Logic Apps crea una instancia del flujo de trabajo y comienza a ejecutar los pasos de este.

En los pasos siguientes se describe la manera general de agregar un desencadenador, por ejemplo, When events are available in Event Hub (Cuando los eventos estén disponibles en el centro de eventos). En este ejemplo se muestra cómo agregar un desencadenador que comprueba si hay nuevos eventos en el centro de eventos e inicia una ejecución del flujo de trabajo cuando existen.

  1. En el Diseñador de aplicaciones lógicas, abra el flujo de trabajo de aplicación lógica en blanco, si aún no está abierto.

  2. En el cuadro de búsqueda de operaciones, escriba event hubs. En la lista de desencadenadores, seleccione el desencadenador llamado When events are available in Event Hub (Cuando los eventos estén disponibles en el centro de eventos).

    Select trigger

  3. Si se le pide que cree una conexión al centro de eventos, proporcione la información de conexión solicitada.

  4. En el desencadenador, proporcione información sobre el centro de eventos que quiere supervisar, por ejemplo:

    Propiedad Obligatorio Descripción
    Nombre del centro de eventos Nombre del centro de eventos que quiere supervisar.
    Tipo de contenido No Tipo de contenido del evento. El valor predeterminado es application/octet-stream.
    Nombre del grupo de consumidores No Nombre del grupo de consumidores de Event Hubs que se usará para leer los eventos. Si no se especifica, se utiliza el grupo de consumidores predeterminado.
    Número máximo de eventos. No Número máximo de eventos. El desencadenador devuelve entre uno y el número de eventos que especifica esta propiedad.
    Intervalo Entero positivo que describe la frecuencia con la que se ejecuta el flujo de trabajo.
    Frecuencia Unidad de tiempo que se usa para la periodicidad.

    Para ver más propiedades, abra la lista Agregar nuevo parámetro. Si selecciona un parámetro, se agrega esa propiedad al desencadenador, por ejemplo:

    Trigger properties

    Más propiedades

    Propiedad Obligatorio Descripción
    Esquema de contenido No Esquema de contenido JSON de los eventos que se leerán desde el centro de eventos. Por ejemplo, si especifica el esquema de contenido, puede desencadenar el flujo de trabajo solo para los eventos que coincidan con el esquema.
    Clave de partición mínima No Escriba el identificador de la partición mínima que va a leer. De forma predeterminada, se leen todas las particiones.
    Clave de partición máxima No Escriba el identificador de la partición máxima que va a leer. De forma predeterminada, se leen todas las particiones.
    Zona horaria No Solo se aplica cuando se especifica una hora de inicio porque este desencadenador no acepta diferencia horaria con UTC. Seleccione la zona horaria que desea aplicar.

    Para obtener más información, consulte Creación y ejecución de tareas y flujos de trabajo repetitivos con Azure Logic Apps.

    Hora de inicio No Proporcione una hora de inicio en este formato:

    AAAA-MM-DDThh:mm:ss si selecciona una zona horaria

    o bien

    AAAA-MM-DDThh:mm:ssZ si no selecciona una zona horaria

    Para obtener más información, consulte Creación y ejecución de tareas y flujos de trabajo repetitivos con Azure Logic Apps.

  5. Cuando esté listo, seleccione Guardar en la barra de herramientas del diseñador.

  6. Ahora continúe agregando una o varias acciones para que pueda realizar otras tareas mediante las salidas del desencadenador.

    Por ejemplo, para filtrar eventos basándose en un valor específico, (como una categoría), puede agregar una condición para que la acción Send event (Enviar evento) envíe solo los eventos que cumplan la condición.

Desencadenamiento del comportamiento de sondeo

Todos los desencadenadores de Event Hubs son de sondeo prolongado, lo que significa que, cuando se activa cualquiera de ellos, procesa todos los eventos y espera 30 segundos a que aparezcan más eventos en la instancia de Event Hubs. Por diseño, si no aparece ningún evento en 30 segundos, se omite el desencadenador. De lo contrario, el desencadenador sigue leyendo eventos hasta que el centro de eventos está vacío. El momento en que se produzca el siguiente sondeo del desencadenador dependerá del intervalo de periodicidad especificado en las propiedades del desencadenador.

Por ejemplo, si el desencadenador está configurado con cuatro particiones, este retraso podría ser de hasta dos minutos antes de que termine de sondearlas todas. Si no se recibe ningún evento dentro de este retraso, se omite la ejecución del desencadenador. De lo contrario, el desencadenador sigue leyendo eventos hasta que el centro de eventos está vacío. El siguiente sondeo del desencadenador ocurre en función del intervalo de periodicidad especificado en las propiedades del desencadenador.

Si conoce las particiones específicas en las que aparecen los mensajes, puede actualizar el desencadenador para que lea eventos solo de una o varias particiones. Para ello, debe establecer las claves de partición máxima y mínima del desencadenador. Para más información, consulte la sección Adición de un desencadenador de Event Hubs.

Desencadenamiento del comportamiento de punto de control

Cuando un desencadenador de Event Hubs lee eventos de cada partición de un centro de eventos, utiliza su propio estado para mantener información sobre el desplazamiento de secuencia (la posición del evento en una partición) y las particiones desde donde el desencadenador lee los eventos.

Cada vez que se ejecuta el flujo de trabajo, el desencadenador lee eventos de una partición, empezando por el desplazamiento de secuencia que mantiene el estado del desencadenador. En modo round-robin, el desencadenador recorre en iteración cada partición del centro de eventos y lee los eventos en las sucesivas ejecuciones. Una sola ejecución obtiene eventos de una sola partición cada vez.

El desencadenador no usa esta funcionalidad de punto de control en el almacenamiento, por lo que no se generan costos adicionales. Sin embargo, el aspecto clave es que al actualizar el desencadenador de Event Hubs se restablece el estado del desencadenador, lo que podría hacer que este leyese eventos al principio de la secuencia.

Adición de una acción de Event Hubs

En Azure Logic Apps, una acción sigue al desencadenador o a otra acción y realiza alguna operación en el flujo de trabajo. En los pasos siguientes se describe la manera general de agregar una acción, por ejemplo, Send event (Enviar evento). En este ejemplo, el flujo de trabajo comienza con un desencadenador de Event Hubs que comprueba si hay nuevos eventos en su centro de eventos.

  1. En el Diseñador de aplicaciones lógicas, abra el flujo de trabajo de la aplicación lógica, si aún no está abierto.

  2. En el desencadenador u otra acción, agregue un nuevo paso.

    Para agregar un paso entre los ya existentes, mueva el mouse sobre la flecha. Seleccione el signo más ( + ) que aparece y, luego, seleccione +.

  3. En el cuadro de búsqueda de operaciones, escriba event hubs. En la lista de acciones, seleccione la acción Send event (Enviar evento).

    Select

  4. Si se le pide que cree una conexión al centro de eventos, proporcione la información de conexión solicitada.

  5. En la acción, proporcione información sobre los eventos que quiere enviar.

    Propiedad Obligatorio Descripción
    Nombre del centro de eventos Centro de eventos donde quiere enviar el evento.
    Contenido No El contenido del evento que quiere enviar
    Propiedades No Las propiedades de la aplicación y los valores para enviar
    Clave de partición No Identificador de la partición a la que se va a enviar el evento.

    Para ver más propiedades, abra la lista Agregar nuevo parámetro. Si selecciona un parámetro, se agrega esa propiedad a la acción, por ejemplo:

    Select event hub name and provide event content

    Por ejemplo, puede enviar la salida desde el desencadenador de Event Hubs hasta otro centro de eventos:

    Send event example

  6. Cuando esté listo, seleccione Guardar en la barra de herramientas del diseñador.

Referencia de conector

Para información sobre todas las operaciones y otra información técnica, como propiedades, límites, etc., revise la página de referencia del conector de Event Hubs.

Nota:

En el caso de las aplicaciones lógicas hospedadas en un entorno de servicio de integración (ISE), la versión ISE del conector usa los límites de mensajes de ISE.

Pasos siguientes