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.
Requisitos previos
Una cuenta y una suscripción de Azure. Si no tiene una suscripción de Azure, regístrese para obtener una cuenta gratuita de Azure.
El flujo de trabajo de la aplicación lógica desde donde quiere acceder al centro de eventos.
Para iniciar un flujo de trabajo con un desencadenador de Event Hubs, necesita un flujo de trabajo vacío. Si no está familiarizado con Azure Logic Apps, pruebe este inicio rápido para crear un flujo de trabajo de aplicación lógica de Consumo de ejemplo.
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.
En Azure Portal, vaya al espacio de nombres de Event Hubs, no a un centro de eventos específico.
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.
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.
En la columna Directiva, seleccione RootManageSharedAccessKey.
Busque la cadena de conexión de clave principal. Copie y guarde la cadena de conexión para usarla más adelante.
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.
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 Sí <connection-name> El nombre que se va a crear para su conexión Espacio de nombres de Event Hubs Sí <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.
Seleccione la directiva de Event Hubs que se usará, si no está ya seleccionada, y elija Crear.
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.
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.
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).Si se le pide que cree una conexión al centro de eventos, proporcione la información de conexión solicitada.
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 Sí 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 Sí Entero positivo que describe la frecuencia con la que se ejecuta el flujo de trabajo. Frecuencia Sí 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:
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 con 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.
Cuando esté listo, seleccione Guardar en la barra de herramientas del diseñador.
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.
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.
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 +.
En el cuadro de búsqueda de operaciones, escriba
event hubs
. En la lista de acciones, seleccione la acción Send event (Enviar evento).Si se le pide que cree una conexión al centro de eventos, proporcione la información de conexión solicitada.
En la acción, proporcione información sobre los eventos que quiere enviar.
Propiedad Obligatorio Descripción Nombre del centro de eventos Sí 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:
Por ejemplo, puede enviar la salida desde el desencadenador de Event Hubs hasta otro centro de eventos:
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.