Použití Azure CLI k vytvoření tématu a odběrů služby Service Bus

V tomto rychlém startu pomocí Azure CLI vytvoříte téma služby Service Bus a pak vytvoříte odběry tohoto tématu.

Co jsou témata a předplatné služby Service Bus?

Témata a předplatné služby Service Bus podporují komunikační model zasílání zpráv publikování/přihlášení. Součásti distribuované aplikace při používání témat a předplatných nekomunikují navzájem přímo. Místo toho si zprávy vyměňují prostřednictvím tématu, které slouží jako zprostředkovatel.

TopicConcepts

Na rozdíl od front Service Bus, ve kterých je každá zpráva zpracována jedním příjemcem, témata a odběry poskytují formu komunikace 1:N pomocí vzoru publikování/odběru. K jednomu tématu můžete zaregistrovat několik předplatných. Při odeslání zprávy do tématu bude zpráva zpřístupněná všem předplatným, aby ji nezávisle zpracovala. Předplatné tématu se podobá virtuální frontě, která obdrží kopii zpráv, které byly odeslány do tématu. Volitelně můžete zaregistrovat pravidla filtru pro téma na základě předplatného, která vám umožní filtrovat nebo omezit zprávy na téma, podle kterých odběrů témat.

Témata a odběry služby Service Bus umožňují škálovat a zpracovávat velký počet zpráv napříč velkým počtem uživatelů a aplikací.

Požadavky

Pokud ještě nemáte předplatné Azure, můžete si vytvořit bezplatný účet před tím, než začnete.

V tomto rychlém startu použijete Azure Cloud Shell, který můžete spustit po přihlášení k webu Azure Portal. Podrobnosti o Azure Cloud Shellu najdete v přehledu služby Azure Cloud Shell. Na svém počítači můžete také nainstalovat a používat Azure PowerShell.

Vytvoření tématu Service Busu a odběrů

Každý odběr tématu může přijímat kopie všech zpráv. Témata jsou co do protokolu a sémantiky plně kompatibilní s frontami služby Service Bus. Témata služby Service Bus podporují širokou škálu pravidel pro výběr s podmínkami filtrů, včetně volitelných akcí, kterými se nastavují nebo upravují vlastnosti zprávy. Při každé shodě s pravidlem se vytvoří zpráva. Další informace o pravidlech, filtrech a akcích získáte pomocí tohoto odkazu.

  1. Přihlaste se k portálu Azure.

  2. Spusťte Azure Cloud Shell tak, že vyberete ikonu zobrazenou na následujícím obrázku. Pokud je Cloud Shell v režimu PowerShellu, přepněte do režimu Bash.

  3. Spuštěním následujícího příkazu vytvořte skupinu prostředků Azure. Pokud chcete, aktualizujte název skupiny prostředků a umístění.

    az group create --name MyResourceGroup --location eastus
    
  4. Spuštěním následujícího příkazu vytvořte obor názvů zasílání zpráv služby Service Bus. Aktualizujte název oboru názvů tak, aby byl jedinečný.

    namespaceName=MyNameSpace$RANDOM
    az servicebus namespace create --resource-group MyResourceGroup --name $namespaceName --location eastus
    
  5. Spuštěním následujícího příkazu vytvořte téma v oboru názvů.

    az servicebus topic create --resource-group MyResourceGroup   --namespace-name $namespaceName --name MyTopic
    
  6. Vytvoření prvního odběru tématu

    az servicebus topic subscription create --resource-group MyResourceGroup --namespace-name $namespaceName --topic-name MyTopic --name S1    
    
  7. Vytvoření druhého odběru tématu

    az servicebus topic subscription create --resource-group MyResourceGroup --namespace-name $namespaceName --topic-name MyTopic --name S2    
    
  8. Vytvoření třetího odběru tématu

    az servicebus topic subscription create --resource-group MyResourceGroup --namespace-name $namespaceName --topic-name MyTopic --name S3    
    
  9. Vytvořte filtr pro první předplatné pomocí filtru pomocí vlastních vlastností (StoreId je jedním z Store1, Store2a Store3).

    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')"    
    
  10. Vytvoření filtru pro druhé předplatné s filtrem pomocí vlastností zákazníka (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'"    
    
  11. Vytvořte filtr třetího předplatného s filtrem pomocí vlastností zákazníka (StoreId nikoli v Store1, Store2, Store3nebo Store4).

    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')"     
    
  12. Spuštěním následujícího příkazu získejte primární připojovací řetězec oboru názvů. Pomocí tohoto připojovací řetězec se můžete připojit k frontě a odesílat a přijímat zprávy.

    az servicebus namespace authorization-rule keys list --resource-group MyResourceGroup --namespace-name $namespaceName --name RootManageSharedAccessKey --query primaryConnectionString --output tsv    
    

    Poznamenejte si připojovací řetězec a název tématu. Používáte je k odesílání a přijímání zpráv.

Další kroky

Informace o tom, jak odesílat zprávy do tématu a přijímat tyto zprávy prostřednictvím odběru, najdete v následujícím článku: Vyberte programovací jazyk v obsahu.