Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste Início rápido, você usará a CLI do Azure para criar um tópico do Barramento de Serviço e, em seguida, criará assinaturas para esse tópico.
O que são tópicos e assinaturas do Barramento de Serviço?
Os tópicos e assinaturas do Barramento de Serviço dão suporte a um modelo de comunicação de mensagens de publicação/assinatura . Ao usar tópicos e assinaturas, os componentes de um aplicativo distribuído não se comunicam diretamente entre si; em vez disso, trocam mensagens por meio de um tópico, que atua como um intermediário.
Em contraste com as filas do Service Bus, nas quais cada mensagem é processada por um único consumidor, tópicos e assinaturas proporcionam uma comunicação do tipo um para muitos, utilizando o padrão de publicação/assinatura. É possível registrar várias assinaturas em um tópico. Quando uma mensagem é enviada para um tópico, ela é disponibilizada para cada assinatura para manipular/processar de forma independente. Uma assinatura para um tópico se assemelha a uma fila virtual que recebe cópias das mensagens que foram enviadas para o tópico. Opcionalmente, você pode registrar regras de filtro para um tópico por assinatura, o que permite filtrar ou restringir quais mensagens a um tópico são recebidas por quais assinaturas de tópico.
As assinaturas e os tópicos do Barramento de Serviço permitem o dimensionamento para processar um grande número de mensagens entre muitos usuários e aplicativos.
Pré-requisitos
Se você não tiver uma assinatura do Azure, poderá criar uma conta gratuita antes de começar.
Neste início rápido, você usa o Azure Cloud Shell que pode ser iniciado após entrar no portal do Azure. Para obter detalhes sobre o Azure Cloud Shell, consulte Visão geral do Azure Cloud Shell. Você também pode instalar e usar o Azure PowerShell em seu computador.
Criar assinaturas e um tópico do Barramento de Serviço
Cada assinatura de um tópico pode receber uma cópia de cada mensagem. Os tópicos tem total compatibilidade de protocolo e semântica com filas do Barramento de Serviço. Os tópicos do Service Bus oferecem suporte a uma ampla gama de regras de seleção com condições de filtro, além de ações opcionais que definem ou modificam as propriedades das mensagens. Sempre que uma regra corresponde, ela produz uma mensagem. Para saber mais sobre regras, filtros e ações, siga este link.
Entre no portal do Azure.
Inicie o Azure Cloud Shell selecionando o ícone mostrado na imagem a seguir. Alterne para o modo Bash se o Cloud Shell estiver no modo PowerShell .
Execute o comando a seguir para criar um grupo de recursos do Azure. Atualize o nome do grupo de recursos e o local, se desejar.
az group create --name MyResourceGroup --location eastusExecute o seguinte comando para criar um namespace de mensagens do Service Bus. Atualize o nome do namespace para ser exclusivo.
namespaceName=MyNameSpace$RANDOM az servicebus namespace create --resource-group MyResourceGroup --name $namespaceName --location eastusExecute o comando a seguir para criar um tópico no namespace.
az servicebus topic create --resource-group MyResourceGroup --namespace-name $namespaceName --name MyTopicCriar a primeira assinatura para o tópico
az servicebus topic subscription create --resource-group MyResourceGroup --namespace-name $namespaceName --topic-name MyTopic --name S1Criar a segunda assinatura para o tópico
az servicebus topic subscription create --resource-group MyResourceGroup --namespace-name $namespaceName --topic-name MyTopic --name S2Criar a terceira assinatura para o tópico
az servicebus topic subscription create --resource-group MyResourceGroup --namespace-name $namespaceName --topic-name MyTopic --name S3Crie um filtro na primeira assinatura com um filtro usando propriedades personalizadas (
StoreIdé um dosStore1,Store2eStore3).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')"Criar um filtro na segunda assinatura com um filtro usando as 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 assinatura com um filtro usando as propriedades do cliente (
StoreIdnão emStore1,Store2,Store3ouStore4).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 a seguir para obter a cadeia de conexão primária para o namespace. Você usa essa cadeia de conexão para se conectar à fila e enviar e receber mensagens.
az servicebus namespace authorization-rule keys list --resource-group MyResourceGroup --namespace-name $namespaceName --name RootManageSharedAccessKey --query primaryConnectionString --output tsvAnote a cadeia de conexão e o nome do tópico. Você as usa para enviar e receber mensagens.
Próximas etapas
Para saber como enviar mensagens para um tópico e receber essas mensagens por meio de uma assinatura, consulte o seguinte artigo: selecione a linguagem de programação no TOC.