Configuración de emisor de mensajes a colas de Azure Service Bus

Clase 12 de 24Curso de Introducción a los Microservicios

Resumen

¿Qué es Azure Service Bus y cómo utilizarlo en tu proyecto?

Azure Service Bus es una herramienta en la nube que facilita la comunicación entre aplicaciones mediante la administración y entrega de mensajes. Para su integración, debes configurar correctamente algunas variables, específicamente la cadena de conexión y el nombre de la cola.

¿Cómo configurar Service Bus en tu proyecto de VS Code?

Primero, necesitarás crear un archivo en una nueva carpeta llamada "data" dentro de tu proyecto. Este archivo, llamado ServiceBus, utiliza un paquete NuGet previamente instalado y contiene:

  • Cadena de conexión (connection string) a Service Bus.
  • Nombre de la cola usada para enviar mensajes.
  • Método para enviar mensajes asincrónicos.

Este método serializa tres datos:

  • Nombre.
  • Apellido.
  • Año de nacimiento.

Los mensajes serializados se envían hacia Azure mediante un cliente específico.

¿Dónde obtener la conexión para Azure Service Bus?

La cadena de conexión necesaria se toma directamente del portal de Azure:

  • Accede a tu Namespace en Azure.
  • Selecciona la opción de "Shared Access Policies" (Políticas de acceso compartido).
  • Copia la cadena principal que inicia con "endpoint".

Coloca esta cadena en el archivo AppSettings junto con el nombre de tu cola para finalizar la configuración.

¿Cómo probar tu configuración y verificar mensajes enviados?

Tras modificar el archivo "program.cs" según la documentación, ejecuta la prueba desde tu REST Client en VS Code:

  • Ejecuta el método POST en la dirección proporcionada por la aplicación.
  • Verifica que recibes confirmación exitosa del envío (ejemplo: miembro Miranda agregado con éxito).
  • Comprueba directamente en tu portal Azure Service Bus, sección "Queues", para constatar que el mensaje ha sido recibido.

Tu configuración estará completa cuando veas reflejados en el Service Bus los mensajes enviados desde tu aplicación.