Service Bus-témakör és előfizetések létrehozása a témakörhöz az Azure CLI használatával

Ebben a rövid útmutatóban az Azure CLI használatával hozzon létre egy Service Bus-témakört, majd hozzon létre előfizetéseket ehhez a témakörhöz.

Mik azok a Service Bus-üzenettémák és -előfizetések?

A Service Bus-üzenettémák és -előfizetések közzétételi/előfizetési modellt biztosítanak az üzenettovábbításhoz. Üzenettémák és előfizetések használata esetén az elosztott alkalmazások összetevői nem közvetlenül egymással kommunikálnak, hanem egy közvetítőként szolgáló üzenettémakörön keresztül.

TopicConcepts

A Service Bus-üzenetsorokkal ellentétben, amelyekben az egyes üzeneteket egyetlen fogyasztó dolgozza fel, a témakörök és előfizetések egy-a-többhöz típusú kommunikációt biztosítanak egy közzétételi/előfizetési minta használatával. Egy üzenettémakörhöz több előfizetést is lehet regisztrálni. Ha egy üzenetet elküldenek egy témakörbe, az összes előfizetés számára elérhetővé válik, amelyek egymástól függetlenül kezelhetik és dolgozhatják fel az üzenetet. Az egyes témakörökre való előfizetés egy virtuális üzenetsorra hasonlít, amely minden, a témakörnek elküldött üzenetről kap egy másolatot. Igény szerint előfizetésenként regisztrálhat szűrőszabályokat egy témakörhöz, amely lehetővé teszi, hogy szűrje vagy korlátozza, hogy mely üzenetek érkeznek egy témakörhöz, mely témakör-előfizetések fogadják.

A Service Bus-témakörök és -előfizetések lehetővé teszik, hogy nagy mennyiségű üzenetet dolgozzanak fel nagy számú felhasználó és alkalmazás között.

Előfeltételek

Ha nem rendelkezik Azure-előfizetéssel, kezdés előtt létrehozhat egy ingyenes fiókot.

Ebben a rövid útmutatóban az Azure Cloud Shellt használja, amelyet az Azure Portalra való bejelentkezés után indíthat el. Az Azure Cloud Shellről további információt az Azure Cloud Shell áttekintésében talál. Az Azure PowerShellt a számítógépen is telepítheti és használhatja.

Service Bus-témakör és előfizetések létrehozása

Minden egyes témakörre való előfizetés másolatot kaphat az összes üzenetről. A témakörök teljes protokoll és szemantika szempontjából is teljesen kompatibilisek a Service Bus-üzenetsorokkal. A Service Bus-témakörök számos különféle kiválasztási szabályt támogatnak szűrőfeltételekkel, illetve az üzenet tulajdonságait beállító vagy módosító választható műveletekkel. Minden szabályegyezéskor létrejön egy üzenet. A szabályokról, szűrőkről és műveletekről ezen a hivatkozáson talál további információt.

  1. Jelentkezzen be az Azure Portalra.

  2. Indítsa el az Azure Cloud Shellt az alábbi képen látható ikon kiválasztásával. Váltson Bash módra, ha a Cloud Shell PowerShell módban van.

  3. Futtassa a következő parancsot egy Azure-erőforráscsoport létrehozásához. Szükség esetén frissítse az erőforráscsoport nevét és helyét.

    az group create --name MyResourceGroup --location eastus
    
  4. Futtassa a következő parancsot egy Service Bus-üzenetkezelési névtér létrehozásához. Módosítsa a névtér nevét egyedire.

    namespaceName=MyNameSpace$RANDOM
    az servicebus namespace create --resource-group MyResourceGroup --name $namespaceName --location eastus
    
  5. A következő parancs futtatásával hozzon létre egy témakört a névtérben.

    az servicebus topic create --resource-group MyResourceGroup   --namespace-name $namespaceName --name MyTopic
    
  6. A témakör első előfizetésének létrehozása

    az servicebus topic subscription create --resource-group MyResourceGroup --namespace-name $namespaceName --topic-name MyTopic --name S1    
    
  7. A témakör második előfizetésének létrehozása

    az servicebus topic subscription create --resource-group MyResourceGroup --namespace-name $namespaceName --topic-name MyTopic --name S2    
    
  8. A témakör harmadik előfizetésének létrehozása

    az servicebus topic subscription create --resource-group MyResourceGroup --namespace-name $namespaceName --topic-name MyTopic --name S3    
    
  9. Hozzon létre egy szűrőt az első előfizetésen egyéni tulajdonságokat használó szűrővel (StoreId ez az egyik Store1, Store2és 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. Szűrő létrehozása a második előfizetésen egy szűrővel az ügyféltulajdonságok használatával (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. Hozzon létre egy szűrőt a harmadik előfizetésen egy szűrővel az ügyféltulajdonságok használatával (StoreId nem az , Store1Store2, vagy Store3Store4).

    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. Futtassa a következő parancsot a névtér elsődleges kapcsolati sztring lekéréséhez. Ezzel a kapcsolati sztring csatlakozhat az üzenetsorhoz, és üzeneteket küldhet és fogadhat.

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

    Jegyezze fel a kapcsolati sztring és a témakör nevét. Ezek használatával üzeneteket küldhet és fogadhat.

Következő lépések

Ha meg szeretné tudni, hogyan küldhet üzeneteket egy témakörnek, és hogyan fogadhatja ezeket az üzeneteket előfizetésen keresztül, tekintse meg a következő cikket: válassza ki a programozási nyelvet a tartalomjegyzékben.