Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Neste quickstart, usas o Azure CLI para criar um tema de Service Bus e depois crias subscrições para esse tópico.
Quais são os temas e subscrições do Service Bus?
Os tópicos e subscrições do Service Bus suportam um modelo de comunicação por mensagens de publicação/subscrição . Ao utilizar tópicos e subscrições, os componentes de uma aplicação distribuída não comunicam diretamente entre si; em vez disso, trocam mensagens através de um tópico, que atua como intermediário.
Em contraste com as filas do Service Bus, em que cada mensagem é processada por um único consumidor, os tópicos e assinaturas proporcionam uma comunicação do tipo um-para-muitos, usando um modelo de publicação/assinatura. É possível registar várias subscrições para um tema. Quando uma mensagem é enviada para um tópico, fica então disponível para cada subscritor para ser tratada/processada de forma independente. Uma subscrição a um tema assemelha-se a uma fila virtual que recebe cópias das mensagens enviadas ao tema. Pode, opcionalmente, registar regras de filtro para um tópico por subscrição, o que lhe permite filtrar ou restringir quais mensagens de um tópico são recebidas por quais subscrições desse tópico.
Os tópicos e subscrições do Service Bus permitem-lhe escalar para processar um grande número de mensagens através de um grande número de utilizadores e aplicações.
Pré-requisitos
Se não tiver uma subscrição do Azure, pode criar uma conta gratuita antes de começar.
Neste início rápido, utiliza o Azure Cloud Shell que pode abrir após iniciar sessão no portal do Azure. Para mais detalhes sobre o Azure Cloud Shell, consulte Visão Geral do Azure Cloud Shell. Também pode instalar e usar o Azure PowerShell na sua máquina.
Criar um tópico do Service Bus e subscrições
Cada subscritor de um tema pode receber uma cópia de cada mensagem. Os tópicos são totalmente protocolados e semanticamente compatíveis com as filas do Service Bus. Os tópicos do Service Bus suportam uma vasta gama de regras de seleção com condições de filtro, com ações opcionais que definem ou modificam propriedades da mensagem. Cada vez que uma regra coincide, produz uma mensagem. Para saber mais sobre regras, filtros e ações, siga este link.
Inicie sessão no portal Azure.
Inicie o Azure Cloud Shell selecionando o ícone mostrado na imagem seguinte. Muda para o modo Bash se a Cloud Shell estiver em modo PowerShell .
Execute o seguinte comando para criar um grupo de recursos Azure. Atualiza o nome do grupo de recursos e a localização, se quiseres.
az group create --name MyResourceGroup --location eastusExecute o seguinte comando para criar um namespace de mensagens Service Bus. Atualize o nome do namespace para ser único.
namespaceName=MyNameSpace$RANDOM az servicebus namespace create --resource-group MyResourceGroup --name $namespaceName --location eastusExecute o comando seguinte para criar um tópico no namespace.
az servicebus topic create --resource-group MyResourceGroup --namespace-name $namespaceName --name MyTopicCrie a primeira subscrição do tema
az servicebus topic subscription create --resource-group MyResourceGroup --namespace-name $namespaceName --topic-name MyTopic --name S1Crie a segunda subscrição do tema
az servicebus topic subscription create --resource-group MyResourceGroup --namespace-name $namespaceName --topic-name MyTopic --name S2Crie a terceira subscrição do tema
az servicebus topic subscription create --resource-group MyResourceGroup --namespace-name $namespaceName --topic-name MyTopic --name S3Crie um filtro na primeira subscrição com um filtro usando propriedades personalizadas (
StoreIdé uma deStore1,Store2, eStore3).az servicebus topic subscription rule create --resource-group MyResourceGroup --namespace-name $namespaceName --topic-name MyTopic --subscription-name S1 --name MyFilter --filter-sql-expression "StoreId IN ('Store1','Store2','Store3')"Crie um filtro na segunda subscrição com um filtro usando propriedades do cliente (
StoreId = Store4)az servicebus topic subscription rule create --resource-group MyResourceGroup --namespace-name $namespaceName --topic-name myTopic --subscription-name S2 --name MySecondFilter --filter-sql-expression "StoreId = 'Store4'"Crie um filtro na terceira subscrição com um filtro usando propriedades do cliente (
StoreIdnão emStore1,Store2,Store3, ouStore4).az servicebus topic subscription rule create --resource-group MyResourceGroup --namespace-name $namespaceName --topic-name MyTopic --subscription-name S3 --name MyThirdFilter --filter-sql-expression "StoreId NOT IN ('Store1','Store2','Store3', 'Store4')"Execute o comando seguinte para obter a cadeia de ligação principal para o namespace. Usas esta cadeia de ligação para te ligares à fila e enviar e receber mensagens.
az servicebus namespace authorization-rule keys list --resource-group MyResourceGroup --namespace-name $namespaceName --name RootManageSharedAccessKey --query primaryConnectionString --output tsvAnota a cadeia de ligação e o nome do tópico. Usa-os para enviar e receber mensagens.
Próximos passos
Para aprender como enviar mensagens para um tema e receber essas mensagens através de uma subscrição, consulte o seguinte artigo: selecione a linguagem de programação no TOC.