Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
En el interconectado panorama digital actual, la comunicación eficaz es la piedra angular del éxito de las empresas. Tanto si se trata de transmitir datos críticos entre aplicaciones como de garantizar actualizaciones en tiempo real a través de sistemas distribuidos, es indispensable contar con una infraestructura de mensajería fiable.
Azure Service Busun servicio de mensajería basado en la nube, surge como una solución sólida que permite a los desarrolladores crear aplicaciones escalables, desacopladas y resistentes. Adentrémonos en el ámbito de Azure Service Bus para comprender su importancia y explorar sus innumerables capacidades. Más adelante en este artículo, también analizaremosIronPDF para gestionar, generar y leer documentos PDF.
Azure Service Bus es un intermediario de mensajes de integración empresarial totalmente gestionado que facilita la comunicación fiable entre aplicaciones y servicios, ya se ejecuten en la nube, en las instalaciones o en entornos híbridos.
Proporciona funciones de mensajería flexibles, incluidos mecanismos de cola y publicación/suscripción, para permitir una comunicación fluida entre componentes dispares de un sistema distribuido. Además, admite mensajes por lotes, lo que permite enviar varios mensajes sin superar la limitación de tamaño total.
Azure Service Bus ofrece las siguientes ventajas:
Desacoplamiento de aplicaciones: Service Bus permite separar aplicaciones y servicios entre sí. Este desacoplamiento mejora la fiabilidad y la escalabilidad.
Equilibrio de la carga: Equilibra el trabajo entre los trabajadores que compiten entre sí, garantizando una utilización eficiente de los recursos.
Transferencia de mensajes: Los datos se transfieren entre aplicaciones y servicios mediante mensajes. El cuerpo de estos mensajes puede contener varios tipos de datos, como JSON, XML o texto sin formato.
Escenarios de mensajería: Los escenarios comunes incluyen la transferencia de datos empresariales(por ejemplo, pedidos de venta)el uso de temas y suscripciones permite equilibrar la carga y establecer relaciones entre editores y suscriptores.
Transacciones: Service Bus soporta transacciones atómicas, permitiendo múltiples operaciones dentro del ámbito de una única transacción. Una transacción tendría múltiples llamadas concurrentes, mientras que un lote de mensajes tendría una única llamada.
Colas y temas: Azure Service Bus ofrece tanto colas como temas como canales de comunicación. Las colas permiten la comunicación punto a punto, garantizando que cada mensaje sea procesado por un solo receptor, lo que las hace ideales para la distribución de la carga de trabajo y los escenarios de nivelación de carga. Por otro lado, los temas admiten patrones de mensajería de publicación/suscripción, lo que permite que varios suscriptores reciban mensajes relevantes de forma independiente y facilita arquitecturas escalables basadas en eventos.
Entrega de mensajes fiable: Con Azure Service Bus, la entrega de mensajes es inherentemente fiable. Garantiza la persistencia de los mensajes, puede configurar el gestor de mensajes y errores, la tolerancia a fallos y la semántica de entrega al menos una vez, lo que minimiza el riesgo de pérdida o duplicación de datos. Además, admite transacciones, lo que permite realizar operaciones atómicas a través de múltiples mensajes, garantizando así la integridad de los datos.
**Para gestionar los mensajes erróneos de forma eficaz, Azure Service Bus proporciona funciones de "letra muerta", lo que permite que los mensajes problemáticos se muevan automáticamente a una cola separada para su análisis y solución de problemas. Además, ofrece políticas de reintento flexibles, lo que permite a los desarrolladores configurar reintentos automáticos con estrategias de retroceso exponencial, mejorando la resistencia de las aplicaciones ante fallos transitorios.
Partición y escalado: Azure Service Bus admite la partición de entidades de mensajería para distribuir la carga de trabajo entre varios nodos, lo que garantiza la escalabilidad horizontal y un alto rendimiento. Esta capacidad es crucial para gestionar grandes volúmenes de mensajes y acomodar cargas de trabajo fluctuantes sin comprometer el rendimiento ni la fiabilidad.
IronPDF es una potente biblioteca PDF en C# que permite generar, editar y extraer contenido de documentos PDF en proyectos .NET. Estas son algunas de sus principales características:
Conversión de HTML a PDF:
Convierte contenidos HTML, CSS y JavaScript a formato PDF.
Utiliza el motor de renderizado de Chrome para obtener PDF perfectos.
Conversión de imágenes y contenidos:
Convierte imágenes a y desde PDF.
Extraiga texto e imágenes de PDF existentes.
Edición y manipulación:
Establezca las propiedades, la seguridad y los permisos de los archivos PDF.
Añade firmas digitales.
Soporte multiplataforma:
Funciona con .NET Core(8, 7, 6, 5 y 3.1+.).NET Standard(2.0+)y .NET Framework(4.6.2+).
Compatible con Windows, Linux y macOS.
Para empezar, cree una aplicación de consola utilizando Visual Studio como se indica a continuación.
Nombre del proyecto
Proporcione la versión .NET
Instale elPaquete IronPDF.
Cree un espacio de nombres con un nombre único en Azure. Un espacio de nombres es un contenedor para los recursos del Bus de Servicios como colas y temas dentro de su aplicación.
A continuación se explica cómo crear un espacio de nombres:
Inicie sesión en el portal Azure.
Vaya a la página "Todos los servicios".
En el panel de navegación izquierdo, seleccione "Integración" en la lista de categorías.
Pase el ratón por encima de "Bus de servicio" y haga clic en el botón "+" del mosaico Bus de servicio.
Para configurar la pestaña Conceptos básicos en la página Crear espacio de nombres, siga estos pasos:
Suscripción: Seleccione la suscripción de Azure en la que desea crear el espacio de nombres.
Grupo de recursos: Elija un grupo de recursos existente donde se ubicará el espacio de nombres o cree uno nuevo.
Nombre del espacio de nombres: Introduzca un nombre para el espacio de nombres. Asegúrese de que el nombre cumple los siguientes criterios:
Debe ser único en Azure.
La longitud debe estar comprendida entre 6 y 50 caracteres.
Sólo puede contener letras, números y guiones "-".
Debe empezar por una letra y terminar por una letra o un número.
Ubicación: Seleccione la región en la que debe alojarse su espacio de nombres.
Nivel de precios: Elija el nivel de precios(Básico, Estándar o Premium) para el espacio de nombres. Para este ejemplo, seleccione Estándar.
Seleccione Revisar + Crear en la parte inferior de la página.
Seleccione Crear en la página Revisar + Crear.
Una vez que el despliegue del recurso se haya realizado correctamente, Vaya al recurso.
Verá la página de inicio de su espacio de nombres Service Bus.
Para configurar una cola en su espacio de nombres Service Bus, siga estos pasos:
Navegue hasta Colas: Vaya a la página Service Bus Namespace en el portal Azure. Seleccione "Colas" en el menú de navegación de la izquierda.
Crear una nueva cola: En la página Colas, haga clic en el botón "+ Cola" de la barra de herramientas.
Configurar cola: Introduzca un nombre para su cola en el campo proporcionado. Deje los demás ajustes con sus valores por defecto. Las opciones que debe configurar al crear una cola de Azure Service Bus:
Nombre: Este es el identificador único para su cola. Elija un nombre descriptivo y fácil de recordar.
Tamaño máximo de la cola: Define la capacidad máxima de almacenamiento de la cola. Puedes configurarlo en 1 GB, 2 GB, 5 GB, 10 GB, 20 GB, 40 GB, 80 GB o 100 GB. En tu caso, está ajustado a 1 GB.
Número máximo de entregas: Especifica el número máximo de veces que se puede entregar un mensaje antes de que se envíe a la cola de mensajes muertos o se descarte. Esto ayuda a gestionar los fallos en el procesamiento de mensajes.
Mensaje Time to Live(TTL): Determina el tiempo que un mensaje permanece en la cola antes de caducar. Puede configurarlo en días, horas, minutos y segundos. Una vez alcanzado el TTL, los mensajes de letra muerta se descartan o se mueven a la cola de letra muerta si ésta está activada.
Duración del bloqueo: Es la cantidad de tiempo que un mensaje está bloqueado para ser procesado por un receptor. Durante este tiempo, otros receptores no pueden procesar el mismo mensaje. Puede establecer esta duración en días, horas, minutos y segundos.
Activación de la letra muerta al caducar un mensaje: Cuando se activa, los mensajes que caducan(es decir, superan su TTL) se mueven a la cola de letras muertas en lugar de ser descartadas. Esto permite inspeccionar y tratar más a fondo los mensajes caducados.
Estos ajustes le ayudan a controlar el comportamiento y el rendimiento de su cola de Azure Service Bus, garantizando que cumpla los requisitos de su aplicación.
Creación finalizada: Haga clic en el botón "Crear" para finalizar la creación de la cola. Estos pasos garantizan la creación correcta de una cola dentro de su espacio de nombres de Service Bus mediante el portal de Azure.
Instale Azure.Messaging.ServiceBus, una biblioteca de cliente de Service Bus, para conectarse a la cola de Azure mediante una cadena de conexión.
Añade el siguiente código para enviar y recibir mensajes utilizando Azure.Messaging.ServiceBus.
using Azure.Messaging.ServiceBus;
namespace CodeSample
{
public static class AzureServiceBusDemo
{
public static async Task Execute()
{
string connectionString = "Endpoint=sb://iron-articles.servicebus.windows.net/;SharedAccessKeyName=all;SharedAccessKey=uqQIzpuc2HxbnAb9keqTINvzfTcFbkkU0+ASbJZ/tow=;EntityPath=ironpdf";
string queName = "ironpdf";
Console.WriteLine("Demo IronPDF with Azure.Messaging.ServiceBus");
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
var content = "<h1>Demo IronPDF with Azure.Messaging.ServiceBus</h1>";
content += "<h2>Send Message to Azure.Messaging.ServiceBus Queue: ironpdf</h2>";
await using var client = new ServiceBusClient(connectionString);
var msgText = "IronPDF is Awesome Package";
content += $"<p>Message:{msgText}</p>";
var tx = client.CreateSender(queName);
await tx.SendMessageAsync(new ServiceBusMessage(msgText)); // message await sender
Console.WriteLine($"Sent Below message at:{DateTime.Now}");
content += $"<p>Sent Below message at:{DateTime.Now}</p>";
Console.Read(); // wait for user input to read the message;
var rx = client.CreateReceiver(queName);
var msg = await rx.ReceiveMessageAsync(); // receive messages
content += "<h2>Receive Message from Azure.Messaging.ServiceBus Queue: ironpdf</h2>";
content += $"<p>Recieved Below message at:{DateTime.Now}</p>";
Console.WriteLine($"Recieved Below message at:{DateTime.Now}");
content += $"<p>MessageID={msg}</p>";
Console.WriteLine($"MessageID={msg}");
content += $"<p>Message Received: {msg.Body}</p>";
Console.WriteLine($"Message Received: {msg.Body}");
var pdf = renderer.RenderHtmlAsPdf(content);
// Export to a file or Stream
pdf.SaveAs("AwesomeAzureServiceBusQueueAndIronPdf.pdf");
}
}
}
using Azure.Messaging.ServiceBus;
namespace CodeSample
{
public static class AzureServiceBusDemo
{
public static async Task Execute()
{
string connectionString = "Endpoint=sb://iron-articles.servicebus.windows.net/;SharedAccessKeyName=all;SharedAccessKey=uqQIzpuc2HxbnAb9keqTINvzfTcFbkkU0+ASbJZ/tow=;EntityPath=ironpdf";
string queName = "ironpdf";
Console.WriteLine("Demo IronPDF with Azure.Messaging.ServiceBus");
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
var content = "<h1>Demo IronPDF with Azure.Messaging.ServiceBus</h1>";
content += "<h2>Send Message to Azure.Messaging.ServiceBus Queue: ironpdf</h2>";
await using var client = new ServiceBusClient(connectionString);
var msgText = "IronPDF is Awesome Package";
content += $"<p>Message:{msgText}</p>";
var tx = client.CreateSender(queName);
await tx.SendMessageAsync(new ServiceBusMessage(msgText)); // message await sender
Console.WriteLine($"Sent Below message at:{DateTime.Now}");
content += $"<p>Sent Below message at:{DateTime.Now}</p>";
Console.Read(); // wait for user input to read the message;
var rx = client.CreateReceiver(queName);
var msg = await rx.ReceiveMessageAsync(); // receive messages
content += "<h2>Receive Message from Azure.Messaging.ServiceBus Queue: ironpdf</h2>";
content += $"<p>Recieved Below message at:{DateTime.Now}</p>";
Console.WriteLine($"Recieved Below message at:{DateTime.Now}");
content += $"<p>MessageID={msg}</p>";
Console.WriteLine($"MessageID={msg}");
content += $"<p>Message Received: {msg.Body}</p>";
Console.WriteLine($"Message Received: {msg.Body}");
var pdf = renderer.RenderHtmlAsPdf(content);
// Export to a file or Stream
pdf.SaveAs("AwesomeAzureServiceBusQueueAndIronPdf.pdf");
}
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Cadena de conexión y nombre de la cola:
La variable connectionString
contiene los detalles de conexión para su espacio de nombres Azure Service Bus. Especifica el punto final, la clave de acceso compartida y la ruta de la entidad(nombre de la cola).
queName
contiene el nombre de la cola del Bus de Servicios con la que se desea trabajar.Configuración de demostración:
El código comienza imprimiendo un mensaje: "Demo IronPDF con Azure.Messaging.ServiceBus"
Installation.EnableWebSecurity = true;
.Creación de un cliente de bus de servicios:
El ServiceBusClient
se crea utilizando la cadena de conexión proporcionada.
Enviar un mensaje:
Se envía un mensaje con el contenido "IronPDF is Awesome Package" a la cola especificada utilizando el método CreateSender
.
El mensaje se crea utilizando new ServiceBusMessage(msgText)
.
Recibir un mensaje:
Se crea un receptor para la misma cola utilizando CreateReceiver
.
El código espera la entrada del usuario(usando Console.Read()
) para simular el procesamiento de mensajes.
Generar un PDF:
El renderizador crea un PDF a partir del contenido HTML(incluidos los mensajes enviados y recibidos).
El paquete IronPDF requiere una licencia para ejecutarse y generar el PDF. Añada el código siguiente al inicio de la aplicación antes de acceder al paquete.
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY";
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
En la páginaPágina de licencia de prueba de IronPDF.
En una era caracterizada por la transformación digital y los rápidos avances tecnológicos, Azure Service Bus emerge como un componente fundamental en el viaje de modernización de las empresas de todo el mundo. Al proporcionar capacidades de mensajería fiables, escalables y flexibles, permite a los desarrolladores crear soluciones resistentes y ágiles que pueden adaptarse a los cambiantes requisitos empresariales.
Ya sea facilitando una integración perfecta, permitiendo arquitecturas basadas en eventos o garantizando la comunicación asíncrona, Azure Service Bus desempeña un papel transformador en el impulso de la innovación y la aceleración de las iniciativas digitales en todos los sectores.
A medida que las organizaciones continúan adoptando paradigmas nativos de la nube y arquitecturas distribuidas, Azure Service Bus se erige como un testimonio del compromiso de Microsoft para capacitar a los desarrolladores y las empresas en su viaje a la nube. IronPDF simplifica la generación de PDF dentro de las aplicaciones .NET, ofreciendo flexibilidad y funcionalidad para crear documentos de calidad profesional directamente desde el código.
9 productos API .NET para sus documentos de oficina