Azure Service Bus — Implementando o Publisher (Publicador) — Parte 2
Olá pessoal!
No post de hoje, vamos entrar na segunda parte da nossa série onde vamos implementar o publicador (publisher) de mensagens para uma fila e para um tópico do Azure Service Bus.
Caso você não tenha lido o post anterior de introdução a mensageria e ao Azure Service Bus, clique aqui.
Vamos dar ínicio a nossa implementação criando um projeto ASP.NET Core Web Application com o template de API. Caso queira saber mais sobre API e sua utilização, nesse post eu explico como implementar.
Após as finalizado a criação do projeto, instale o seguinte pacote nuget
Essa biblioteca disponibilizará todas as implementaçãoes necessárias para conexão e envio de mensagens para a mensageria.
Vamos criar uma pasta e uma classe dentro da pasta no qual utilizaremos como uma ViewModel / DTO para receber informações das requisições.
Agora criaremos a nossa Controller que tem a função de publicar as mensagens na fila.
Reparem que no construtor da controller, recebemos a connection string do Azure Service Bus via injeção do IConfiguration e que esta armazenada no appsettings.json. A connection string será utilizado para a conexão e publicação das mensagens na fila e no tópico.
Tanto a implementação do envio de mensagens para a fila como para o envio ao tópico, são quase idênticas, diferenciando apenas o objeto de conexão para cada contexto, ou seja, o QueueClient e o TopicClient.
No arquivo de configuração da aplicação (appsettings.json) precisamos adicionar o campo AzureBusConnectionString que receberá a connection string do Azure Service Bus.
Para obter a connection string do Azure Service Bus, acesse o Portal do Azure, vá até o recurso do Azure Service Bus que provisionamos no post anterior e navegue nas opção Shared access policies -> RootManageSharedAccessKey, conforme mostra a imagem abaixo
Na tela, possuímos duas opções de connection string fornecida pela plataforma, escolha uma delas e adicione no appsettings.json no campo AzureBusConnectionString.
Com tudo finalizado, nossa aplicação está pronta para ser executada
Na execução da aplicação, é fornecido dois endpoints para utilização, um para publicar mensagens na fila e outro para publicar mensagens no tópico.
POST api/product/queue
POST api/product/topic
Para realizar as requisições, você pode utilizar tanto o Postman como o Insomnia.
Ficou com dúvida? Deixe nos comentários
Até o próximo post!