Supervisión, recepción y envío de eventos con Azure Event Hubs y Azure Logic AppsMonitor, receive, and send events with Azure Event Hubs and Azure Logic Apps

En este artículo se muestra cómo puede supervisar y administrar eventos enviados a Azure Event Hubs desde una aplicación lógica con el conector de Azure Event Hubs.This article shows how you can monitor and manage events sent to Azure Event Hubs from inside a logic app with the Azure Event Hubs connector. De esta forma, puede crear aplicaciones lógicas que automatizan las tareas y los flujos de trabajo para comprobar, enviar y recibir eventos desde su centro de eventos.That way, you can create logic apps that automate tasks and workflows for checking, sending, and receiving events from your Event Hub. Para obtener información técnica específica del conector, consulte la referencia sobre el conector de Azure Event Hubs.For connector-specific technical information, see the Azure Event Hubs connector reference.

PrerrequisitosPrerequisites

Comprobación de los permisos y obtención de la cadena de conexiónCheck permissions and get connection string

Para asegurarse de que la aplicación lógica accede a la instancia de Event Hubs, debe tener permisos de administrador y la cadena de conexión para el espacio de nombres de Event Hubs.To make sure that your logic app can access your Event Hub, check your permissions and get the connection string for your Event Hubs namespace.

  1. Inicie sesión en Azure Portal.Sign in to the Azure portal.

  2. Vaya al espacio de nombres de sus instancias de Event Hubs, no a un centro de eventos específico.Go to your Event Hubs namespace, not a specific Event Hub.

  3. En el menú del espacio de nombres, en Configuración, seleccione Directivas de acceso compartido.On the namespace menu, under Settings, select Shared access policies. En Notificaciones, compruebe que tenga permisos de Administrador para ese espacio de nombres.Under Claims, check that you have Manage permissions for that namespace.

    Administrar los permisos del espacio de nombres del Event Hub

  4. Si más adelante desea escribir manualmente la información de conexión, obtenga la cadena de conexión para el espacio de nombres de sus instancias de Event Hubs.If you want to later manually enter your connection information, get the connection string for your Event Hubs namespace.

    1. En Directiva, elija RootManageSharedAccessKey.Under Policy, choose RootManageSharedAccessKey.

    2. Busque la cadena de conexión de clave principal.Find your primary key's connection string. Elija el botón Copiar y guarde la cadena de conexión para su uso posterior.Choose the copy button, and save the connection string for later use.

      Copie la cadena de conexión del espacio de nombres de los Event Hubs

      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 .To confirm whether your connection string is associated with your Event Hubs namespace or with a specific event hub, make sure the connection string doesn't have the EntityPath parameter. Si encuentra este parámetro, la cadena de conexión es para la "entidad" de una instancia de Event Hubs específica y no es la cadena correcta para utilizar con la aplicación lógica.If you find this parameter, the connection string is for a specific Event Hub "entity" and is not the correct string to use with your logic app.

  5. Ahora, continúe con Adición de un desencadenador de Event Hubs o Adición de una acción de Event Hubs.Now continue with Add an Event Hubs trigger or Add an Event Hubs action.

Adición de un desencadenador de Event HubsAdd Event Hubs trigger

En Azure Logic Apps, cada aplicación lógica debe comenzar con un desencadenador, que se activa cuando sucede un evento específico o cuando se cumple una condición determinada.In Azure Logic Apps, every logic app must start with a trigger, which fires when a specific event happens or when a specific condition is met. Cada vez que el desencadenador se activa, el motor de Logic Apps crea una instancia de aplicación lógica y empieza a ejecutar el flujo de trabajo de la aplicación.Each time the trigger fires, the Logic Apps engine creates a logic app instance and starts running your app's workflow.

En este ejemplo se muestra cómo puede iniciar un flujo de trabajo de aplicaciones lógicas cuando se envían nuevos eventos al centro de eventos.This example shows how you can start a logic app workflow when new events are sent to your Event Hub.

Nota

Todos los desencadenadores de Event Hub son de sondeo largo, lo que significa que el desencadenador procesa todos los eventos y espera 30 segundos por partición a que aparezcan más eventos en la instancia de Event Hubs.All Event Hub triggers are long-polling triggers, which means that the trigger processes all the events and then waits 30 seconds per partition for more events to appear in your Event Hub. Por lo tanto, si el desencadenador está configurado con cuatro particiones, este retraso podría ser de hasta dos minutos antes de que el desencadenador termine de sondear todas las particiones.So, if the trigger is set up with four partitions, this delay might take up to two minutes before the trigger finishes polling all the partitions. Si no se recibe ningún evento dentro de este retraso, se omite la ejecución del desencadenador.If no events are received within this delay, the trigger run is skipped. De lo caso contrario, el desencadenador sigue leyendo eventos hasta que su instancia de Event Hubs está vacía.Otherwise, the trigger continues reading events until your Event Hub is empty. El siguiente sondeo del desencadenador ocurre en función del intervalo de periodicidad especificado en las propiedades del desencadenador.The next trigger poll happens based on the recurrence interval that you specify in the trigger's properties.

  1. En Azure Portal o Visual Studio, cree una aplicación lógica en blanco, con lo que se abre el diseñador de Logic Apps.In the Azure portal or Visual Studio, create a blank logic app, which opens Logic Apps Designer. En este ejemplo se usa Azure Portal.This example uses the Azure portal.

  2. En el cuadro de búsqueda, escriba "event hubs" como filtro.In the search box, enter "event hubs" as your filter. En la lista de desencadenadores, seleccione este desencadenador: When events are available in Event Hub - Event Hubs (Cuando los eventos estén disponibles en el centro de eventos - Event Hubs)From the triggers list, select this trigger: When events are available in Event Hub - Event Hubs

    Seleccionar un desencadenador

  3. Si se le pide indicar los detalles de la conexión, cree ahora mismo su conexión de Event Hubs.If you're prompted for connection details, create your Event Hubs connection now.

  4. En el desencadenador, proporcione información sobre el centro de eventos que quiere supervisar.In the trigger, provide information about the Event Hub that you want to monitor. Para ver más propiedades, abra la lista Agregar nuevo parámetro.For more properties, open the Add new parameter list. Si selecciona un parámetro, se agrega esa propiedad en la tarjeta de desencadenador.Selecting a parameter adds that property to the trigger card.

    Propiedades de desencadenador

    PropiedadProperty ObligatorioRequired DescripciónDescription
    Nombre del centro de eventosEvent Hub name Yes Nombre del centro de eventos que quiere supervisar.The name for the Event Hub that you want to monitor
    Tipo de contenidoContent type NoNo Tipo de contenido del evento.The event's content type. El valor predeterminado es application/octet-stream.The default is application/octet-stream.
    Nombre del grupo de consumidoresConsumer group name NoNo Nombre del grupo de consumidores del centro de eventos para leer los eventos.The name for the Event Hub consumer group to use for reading events. Si no se especifica, se utiliza el grupo de consumidores predeterminado.If not specified, the default consumer group is used.
    Número máximo de eventos.Maximum events count NoNo Número máximo de eventos.The maximum number of events. El desencadenador devuelve entre uno y el número de eventos que especifica esta propiedad.The trigger returns between one and the number of events specified by this property.
    IntervaloInterval Yes Entero positivo que describe la frecuencia con la que se ejecuta el flujo de trabajo.A positive integer that describes how often the workflow runs based on the frequency
    FrecuenciaFrequency Yes Unidad de tiempo que se usa para la periodicidad.The unit of time for the recurrence

    Propiedades adicionalesAdditional properties

    PropiedadProperty ObligatorioRequired DescripciónDescription
    Esquema de contenidoContent schema NoNo Esquema de contenido JSON para los eventos que se leerán desde el centro de eventos.The JSON content schema for the events to read from the Event Hub. Por ejemplo, si especifica el esquema de contenido, puede desencadenar la aplicación lógica solo para los eventos que coinciden con el esquema.For example, if you specify the content schema, you can trigger the logic app for only those events that match the schema.
    Clave de partición mínimaMinimum partition key NoNo Escriba el identificador de la partición mínima que va a leer.Enter the minimum partition ID to read. De forma predeterminada, se leen todas las particiones.By default, all partitions are read.
    Clave de partición máximaMaximum partition key NoNo Escriba el identificador de la partición máxima que va a leer.Enter the maximum partition ID to read. De forma predeterminada, se leen todas las particiones.By default, all partitions are read.
    Zona horariaTime zone NoNo Solo se aplica cuando se especifica una hora de inicio porque este desencadenador no acepta diferencia horaria con UTC.Applies only when you specify a start time because this trigger doesn't accept UTC offset. Seleccione la zona horaria que desea aplicar.Select the time zone that you want to apply.

    Para obtener más información, consulte Creación y ejecución de tareas y flujos de trabajo repetitivos con Azure Logic Apps.For more information, see Create and run recurring tasks and workflows with Azure Logic Apps.

    Hora de inicioStart time NoNo Proporcione una hora de inicio con este formato:Provide a start time in this format:

    AAAA-MM-DDThh:mm:ss si selecciona una zona horariaYYYY-MM-DDThh:mm:ss if you select a time zone

    O bien-or-

    AAAA-MM-DDThh:mm:ssZ si no selecciona una zona horariaYYYY-MM-DDThh:mm:ssZ if you don't select a time zone

    Para obtener más información, consulte Creación y ejecución de tareas y flujos de trabajo repetitivos con Azure Logic Apps.For more information, see Create and run recurring tasks and workflows with Azure Logic Apps.

  5. Cuando esté listo, elija Guardar en la barra de herramientas del diseñador.When you're done, on the designer toolbar, choose Save.

  6. Ahora, agregue a la aplicación lógica una o varias acciones, en función de las tareas que desea realizar con los resultados del desencadenador.Now continue adding one or more actions to your logic app for the tasks you want to perform with the trigger results.

    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.For example, to filter events based on a specific value, such as a category, you can add a condition so that the Send event action sends only the events that meet your condition.

Adición de una acción de Event HubsAdd Event Hubs action

En Azure Logic Apps, una acción es un paso del flujo de trabajo que sigue a un desencadenador u otra acción.In Azure Logic Apps, an action is a step in your workflow that follows a trigger or another action. Para este ejemplo, la aplicación lógica comienza con un desencadenador de Event Hubs que comprueba si hay nuevos eventos en su centro de eventos.For this example, the logic app starts with an Event Hubs trigger that checks for new events in your Event Hub.

  1. En Azure Portal o Visual Studio, abra la aplicación lógica el Diseñador de Logic Apps.In the Azure portal or Visual Studio, open your logic app in Logic Apps Designer. En este ejemplo se usa Azure Portal.This example uses the Azure portal.

  2. En el desencadenador o acción, elija Nuevo paso.Under the trigger or action, choose New step.

    Para agregar una acción entre los pasos existentes, mueva el mouse sobre la flecha de conexión.To add an action between existing steps, move your mouse over the connecting arrow. Elija el signo más ( + ) que aparece y seleccione Agregar una acción.Choose the plus sign (+) that appears, and then select Add an action.

  3. En el cuadro de búsqueda, escriba "event hubs" como filtro.In the search box, enter "event hubs" as your filter. En la lista de acciones, seleccione esta acción: Send event - Event Hubs (Enviar evento - Event Hubs)From the actions list, select this action: Send event - Event Hubs

    Seleccione la acción "Enviar evento"

  4. Si se le pide indicar los detalles de la conexión, cree ahora mismo su conexión de Event Hubs.If you're prompted for connection details, create your Event Hubs connection now.

  5. En la acción, proporcione información sobre los eventos que quiere enviar.In the action, provide information about the events that you want to send. Para ver más propiedades, abra la lista Agregar nuevo parámetro.For more properties, open the Add new parameter list. Si selecciona un parámetro, se agrega esa propiedad en la tarjeta de acción.Selecting a parameter adds that property to the action card.

    Seleccione el nombre del centro de eventos y proporcione su contenido

    PropiedadProperty ObligatorioRequired DescripciónDescription
    Nombre del centro de eventosEvent Hub name Yes Centro de eventos donde quiere enviar el evento.The Event Hub where you want to send the event
    ContenidoContent NoNo El contenido del evento que quiere enviarThe content for the event you want to send
    PropiedadesProperties NoNo Las propiedades de la aplicación y los valores para enviarThe app properties and values to send
    Clave de particiónPartition key NoNo Identificador de la partición a la que se va a enviar el evento.The partition ID for where to send the event

    Por ejemplo, puede enviar la salida desde el desencadenador de Event Hubs a otro centro de eventos:For example, you can send the output from your Event Hubs trigger to another Event Hub:

    Ejemplo de evento de envío

  6. Cuando esté listo, elija Guardar en la barra de herramientas del diseñador.When you're done, on the designer toolbar, choose Save.

Conexión al centro de eventosConnect to your Event Hub

Al agregar un desencadenador o una acción que se conecta a un servicio o sistema por primera vez, el diseñador de aplicaciones lógicas le pide que cree una conexión y que proporcione la información necesaria, que varía en función de la conexión; por ejemplo:When you add a trigger or action that connects to a service or system for the first time, the Logic App Designer prompts you to create a connection by providing the necessary information, which varies based on the connection, for example:

  • Nombre que se va a usar para la nueva conexión.A name to use for the new connection
  • Nombre del servidor o del sistema.The server or system name
  • Sus credenciales de usuario o cuenta.Your user or account credentials
  • Tipo de autenticación que se debe usar.The authentication type to use
  • La suscripción de Azure y el nombre de la puerta de enlace de datos que creó anteriormente al conectarse a los orígenes de datos locales.The Azure subscription and name for the data gateway that you previously create when connecting to on-premises data sources
  1. Cuando se le solicite la información de conexión, proporcione estos detalles:When you're prompted for connection information, provide these details:

    PropiedadProperty ObligatorioRequired ValueValue DescripciónDescription
    Nombre de la conexiónConnection Name Yes <connection-name><connection-name> El nombre que se va a crear para su conexiónThe name to create for your connection
    Espacio de nombres de Event HubsEvent Hubs Namespace Yes <event-hubs-namespace><event-hubs-namespace> Seleccione el espacio de nombres de Event Hubs que desea usar.Select the Event Hubs namespace you want to use.

    Por ejemplo:For example:

    Creación de una conexión de Event Hubs

    Para escribir de forma manual la cadena de conexión, seleccione Especificar la información de conexión manualmente.To manually enter the connection string, select Manually enter connection information. Obtenga información acerca de cómo buscar la cadena de conexión.Learn how to find your connection string.

  2. Seleccione la directiva de Event Hubs que desea usar, si no está seleccionada.Select the Event Hubs policy to use, if not already selected. Seleccione Create.Choose Create.

    Creación de la cadena de conexión de Event Hubs, parte 2

  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.After you create your connection, continue with Add Event Hubs trigger or Add Event Hubs action.

Referencia de conectoresConnector reference

Para obtener datos técnica, como los desencadenadores, las acciones y los límites, tal como lo describe el archivo Swagger del conector, consulte la página de referencia del conector.For technical details, such as triggers, actions, and limits, as described by the connector's Swagger file, see the connector's reference page.

Nota

En el caso de las aplicaciones lógicas de un entorno de servicio de integración (ISE), la versión con la etiqueta ISE de este conector usa en su lugar los límites de mensajes de ISE.For logic apps in an integration service environment (ISE), this connector's ISE-labeled version uses the ISE message limits instead.

Pasos siguientesNext steps