Cómo registrar eventos en Azure Event Hubs en Azure API Management
Azure Event Hubs es un servicio de introducción de datos altamente escalable que permite la introducción de millones de eventos por segundo para que pueda procesar y analizar grandes cantidades de datos generados por los dispositivos y aplicaciones conectados. Event Hubs actúa como la "puerta principal" de una canalización de eventos y, una vez que los datos se recopilan en un centro de eventos, se pueden transformar y almacenar con cualquier proveedor de análisis en tiempo real o adaptadores de procesamiento por lotes/almacenamiento. Event Hubs desacopla la producción de un flujo de eventos desde el consumo de los eventos, para que los consumidores de eventos pueden tener acceso a los eventos según su propia programación.
En este artículo se describe cómo registrar eventos de API Management mediante Azure Event Hubs.
Crear un centro de eventos de Azure
Para información detallada sobre cómo crear un centro de eventos y obtener las cadenas de conexión que necesita para enviar y recibir eventos desde y hacia el centro de eventos, consulte Creación de un espacio de nombres de Event Hubs y un centro de eventos con Azure Portal.
Nota
El recurso de Event Hubs puede estar en una suscripción diferente o incluso en un inquilino diferente al recurso de API Management.
Creación de un registrador de administración de API
Ahora que tiene un centro de eventos, el siguiente paso es configurar un registrador en el servicio Administración de API para que se puedan registrar eventos en el centro de eventos.
Los registradores de API Management se configuran mediante la API de REST de API Management. Para ver ejemplos detallados de solicitudes, consulte cómo crear registradores.
Configuración de directivas log-to-eventhub
Una vez que el registrador está configurado en API Management, puede configurar la directiva log-to-eventhub para registrar los eventos oportunos. La directiva log-to-eventhub puede usarse en la sección de las directivas de entrada o de salida.
- Vaya a la instancia de APIM.
- Seleccione la pestaña API.
- Seleccione la API a la que quiere agregar la directiva. En este ejemplo, vamos a agregar una directiva a la API eco en el producto Unlimited (Sin límites).
- Seleccione Todas las operaciones.
- En la parte superior de la pantalla, seleccione la pestaña Design (Diseño).
- En la ventana de procesamiento de entrada o salida, haga clic en el triángulo (al lado del lápiz).
- Seleccione el Editor de código. Para más información, consulte Establecimiento o modificación de directivas.
- Coloque el cursor en la sección de directiva
inboundooutbound. - En la ventana de la derecha, seleccione Advanced policies> (Directivas avanzadas) Log to EventHub (Registro en EventHub). Esta acción inserta la plantilla de declaración de directiva
log-to-eventhub.
<log-to-eventhub logger-id="logger-id">
@{
return new JObject(
new JProperty("EventTime", DateTime.UtcNow.ToString()),
new JProperty("ServiceName", context.Deployment.ServiceName),
new JProperty("RequestId", context.RequestId),
new JProperty("RequestIp", context.Request.IpAddress),
new JProperty("OperationName", context.Operation.Name)
).ToString();
}
</log-to-eventhub>
Reemplace logger-id con el valor que utilizó para {loggerId} en la dirección URL de la solicitud para crear el registrador en el paso anterior.
Puede usar cualquier expresión que devuelva una cadena como valor para el elemento log-to-eventhub. En este ejemplo, se registra una cadena en formato JSON que contiene la fecha y hora, el nombre del servicio, el identificador de la solicitud, la dirección IP de la solicitud y el nombre de la operación.
Haga clic en Guardar para guardar la configuración de la directiva actualizada. En el momento de guardarla, la directiva se activa y los eventos se registran en el centro de eventos designado.
Nota
El tamaño máximo admitido para los mensajes que se pueden enviar a un centro de eventos desde esta directiva de API Management es de 200 kilobytes (KB). Si un mensaje que se envía a un centro de eventos tiene un tamaño superior a 200 KB, se truncará automáticamente, y el mensaje truncado se transferirá a los centros de eventos.
Vista previa del registro en Event Hubs mediante Azure Stream Analytics
Puede obtener una vista previa del registro en Event Hubs mediante consultas de Azure Stream Analytics.
- Desde Azure Portal, busque el centro de eventos al que el registrador envía eventos.
- En Características, seleccione la pestaña Procesar datos.
- En la tarjeta Habilitar conclusiones en tiempo real de eventos, seleccione Explorar.
- Debe poder obtener una vista previa del registro en la pestaña Vista previa de entrada. Si los datos que se muestran no están actualizados, seleccione Actualizar para ver los eventos más recientes.
Pasos siguientes
- Obtenga más información acerca de Azure Event Hubs
- Obtener más información acerca de la integración de API Management y Event Hubs
- Obtenga más información acerca de la integración con Azure Application Insights