Azure Service Bus Queues

Qué es

El Azure Service Bus Queues (ASBQ), al igual que el servicio Azure Queue Storage (se habló de el en este post) hace uso de una estructura de datos basada en cola para el envío de mensajes. A diferencia de este último, el ASBQ no requiere de una Storage Account para su funcionamiento.

Instalación

La instalación es bastante directa y sencilla. Hay que llevarla a cabo desde el portal clásico (ya que desde el portal nuevo, nos redirigirá al primero).

De este modo, en el portal clásico, hay que situarse en “Service Bus” y pinchar en “Create”. Hecho esto, aparecerá una pantalla donde se indicarán los datos del servicio.

Creando ASB 1

Se dará un namespace, el tipo será ‘messaging’, se elegirá el nivel acorde a las necesidades, así como la región (el rendimiento será mejor cuanto más cerca). Una vez creado el servicio, aparecerá en el panel.

ASB creado

Lo último que quedaría por hacer sería anotar la cadena de conexión que posteriormente se empleará en el entorno de desarrollo elegido. Para ello, hay que pinchar en el icono “Connection information”, proporcionando dicha información.

ASB connection info

Funcionamiento

Este servicio puede utilizarse mediante diversos lenguajes (Java, Node.js, .NET, etc), a modo de ejemplo se hará en Python.
La instalación de Python y su correspondiente SDK no presenta complicaciones, habiendo versión para Windows, Linux y MacOS.
Una vez instalado el SDK, ya se está en disposición de crear y eliminar colas, así como introducir mensajes y extraerlos. Cabe señalar que en el propio portal clásico se pueden crear y eliminar colas.

Un código de ejemplo en Python sería el siguiente:

Conclusiones

La modalidad que se ha visto aquí es la más simple (paso de mensajes), pero también presenta otras más elaboradas. Comparándola con la Azure Storage Queue, su utilización es si cabe más sencilla y directa, pero no tan potente y versátil. Todo depende en realidad del uso que se le dé.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *