Azure Event Hubs es un servicio Paas de ingesta de datos, que se almacena en particiones, lo hace posible su escalabilidad.
Para este tutorial vamos a actuar de Event Producer, para la transmisión de datos usaremos el protocolo HTTPS y el mensaje será en formato JSON. ¡Vamos a empezar!
1. Configurar el Event Hub
Buscamos el servicio Event Hubs
Primero creamos el Espacio de nombre (namespace): Es el nombre que tendrá la URL a la cual enviaremos la petición POST nombre.servicebus.windows.net
Una vez tengamos el namespace creado, creamos el Event Hub
Para poder enviar o consultar eventos necesitamos crear una directiva
La directiva la marcamos como Enviar, así podremos enviar eventos.
Una vez creada la directiva tenemos que copiar la cadena de conexión la cual nos brindará los datos necesarios para poder conectar con el Event Hub
De la cadena de conexión usaremos todos los datos proporcionados cuando realicemos la petición desde BC
2. Crear la llamada desde BC
Creamos un objeto Json simple con 2 propiedades (id, description) y lo escribimos en una variable String
Enviamos la petición http usando los dotnets HttpWebRequest
Prestamos atención sobre la función CreateCredentials4EventHub, en esta función enviamos en la cabecera del request el SAS Token,
Aquí os dejo un enlace donde explica como generar el SAS Token y como hacer la llamada en la cabecera del request: https://docs.microsoft.com/es-es/azure/event-hubs/authenticate-shared-access-signature
En la función GetSignatureSHA256 creamos el SAS Token y lo devolvemos en la variable pSignature
Una vez hemos hecho la petición, en la función principal MyEventHubTest mostramos la respuesta, si todo ha ido bien el servicio nos devuelve un string en blanco caso contrario nos dará el error correspondiente.
Para ver el Json que hemos enviado al EventHub nos vamos a la opción Procesar datos
Ejecutamos la Consulta de prueba y comprobamos que el Json que hemos enviado desde BC se en encuentra en el Eventhub myfirsteh
Y hasta aquí el tutorial de cómo enviar Eventos hacia Azure Event Hubs. Si tienes cualquier duda o necesitas que te ayudemos a ponerlo en marcha, ¡ponte en contacto con nosotros rellenando el siguiente formulario!