Megosztás a következőn keresztül:


Csatlakozás az Azure Service Bushoz az Azure Logic Apps munkafolyamataiból

A következőkre vonatkozik: Azure Logic Apps (Fogyasztás + Standard)

Ez az útmutató bemutatja, hogyan férhet hozzá service bus-erőforrásokhoz az Azure Service Busban az Azure Logic Apps automatizálási és integrációs munkafolyamataiból a Service Bus-összekötő használatával. A service bus-események aktiválhatják a munkafolyamatot, vagy futtathatnak olyan műveleteket, amelyek a service bus-elemeket használják, például:

  • Figyelheti, hogy az üzenetek mikor érkeznek (automatikusan befejeződnek) vagy érkeznek (betekintő zárolás) az üzenetsorokban, témakörökben és témakör-előfizetésekben.
  • Üzenetek küldése.
  • Témakör-előfizetések létrehozása és törlése.
  • Az üzenetsorokban és a témakör-előfizetésekben lévő üzenetek kezelése, például lekérés, halasztás, befejezés, felhagyás és halott levél.
  • Az üzenetsorokban és a témakör-előfizetésekben lévő üzenetek és munkamenetek zárolásainak megújítása.
  • Zárja be a munkameneteket az üzenetsorokban és a témakörökben.

Olyan eseményindítókat és műveleteket használhat, amelyek válaszokat kapnak az Azure Service Bustól, majd elérhetővé teszik a kimenetet a munkafolyamatok más műveletei számára.

Összekötők műszaki referenciája

A Service Bus-összekötő különböző verziókkal rendelkezik, a logikai alkalmazás munkafolyamat-típusától és a gazdagépkörnyezetétől függően.

Logikai alkalmazás Környezet Csatlakozó verzió
Használat Több-bérlős Azure Logic Apps Felügyelt összekötő, amely az összekötő katalógusában, a Futtatókörnyezet alatt, Megosztott kategóriában jelenik meg.

Megjegyzés: A Service Bus által felügyelt összekötő-eseményindítók a hosszú lekérdezésű eseményindító-mintát követik, ami azt jelenti, hogy az eseményindító rendszeresen ellenőrzi az üzeneteket az üzenetsor- vagy témakör-előfizetésben. További információ:
- Service Bus által felügyelt összekötő referenciája
- Kezelt összekötők az Azure Logic Appsben
Standard Egybérlős Azure Logic Apps, App Service Environment v3 (csak Windows-csomagok) és hibrid üzembe helyezés Felügyelt összekötő, amely az összekötő katalógusában a Futtatókörnyezet alatt, >Megosztott jelenik meg, és beépített összekötő, amely az összekötő katalógusában a Futtatókörnyezet alatt, >Beépített, jelenik meg, és szolgáltatóalapú.

Megjegyzés: A Service Bus által felügyelt összekötő-eseményindítók a hosszú lekérdezésű eseményindító-mintát követik, ami azt jelenti, hogy az eseményindító rendszeresen ellenőrzi az üzeneteket az üzenetsor- vagy témakör-előfizetésben.

A Service Bus beépített összekötő nem munkamenet-eseményindítói egy folyamatos lekérdezéses triggermintát követnek, amelyet az összekötő teljes mértékben kezel. Ebben a mintában az eseményindító folyamatosan ellenőrzi az üzeneteket az üzenetsorban vagy a témakör-előfizetésben. A munkamenet-eseményindítók a hosszú lekérdezésű triggermintát követik, de a clientRetryOptions:tryTimeout nevű Azure Functions-beállítás szabályozza a konfigurációjukat. A beépített összekötő általában jobb teljesítményt, képességeket, díjszabást és egyebeket biztosít.

További információ:

- Service Bus által felügyelt összekötő referenciája
- Service Bus beépített csatlakozó műveletek
- Beépített összekötők az Azure Logic Appsben

Előfeltételek

  • Azure-fiók és -előfizetés. Ingyenes Azure-fiók lekérése.

  • Service Bus-névtér és üzenetkezelési entitás, például üzenetsor.

    További információkért lásd:

  • A logikai alkalmazás erőforrása és munkafolyamata, amelyben hozzá szeretne férni a Service Bus-névtérhez és az üzenetkezelési entitáshoz.

    • Ha Service Bus-eseményindítóval szeretné elindítani a munkafolyamatot, hozzon létre egy üres munkafolyamatot. Ha Service Bus-műveletet szeretne használni a munkafolyamatban, indítsa el a munkafolyamatot a forgatókönyvnek leginkább megfelelő eseményindítóval.

    • Ha a logikai alkalmazás erőforrása felügyelt identitással hitelesíti a Service Bus-névtérhez és az üzenetkezelő entitáshoz való hozzáférést, a megfelelő szinteken rendelje hozzá a szükséges szerepkör-engedélyeket. Egy üzenetsor eléréséhez például a felügyelt identitáshoz olyan szerepkörre van szükség, amely rendelkezik az adott üzenetsorhoz szükséges engedélyekkel.

      • Minden logikaialkalmazás-erőforrás csak egy felügyelt identitást használhat, még akkor is, ha a logikai alkalmazás munkafolyamata különböző üzenetkezelési entitásokhoz fér hozzá.

      • Az üzenetsor- vagy témakör-előfizetéshez hozzáférő felügyelt identitások mindegyikének saját Service Bus API-kapcsolatot kell használnia.

      • Minden olyan Service Bus-műveletnek, amely különböző üzenetküldési entitásokkal cserél üzeneteket, és különböző engedélyeket igényel, saját Service Bus API-kapcsolatot kell használnia.

      A felügyelt identitásokkal kapcsolatos további információkért lásd : Azure-erőforrásokhoz való hozzáférés hitelesítése felügyelt identitásokkal az Azure Logic Appsben.

  • Alapértelmezés szerint a Service Bus beépített összekötőműveletei állapot nélküliek. Ha állapotalapú módban szeretné futtatni ezeket a műveleteket, olvassa el az Állapotalapú mód engedélyezése állapot nélküli beépített összekötőkhöz című témakört.

Az Azure Service Bus-műveletek szempontjai

Végtelen hurkok

Fontos

Győződjön meg arról, hogy a munkafolyamat nem hoz létre végtelen hurkot, ha ugyanazzal az összekötőtípussal rendelkező eseményindítót és műveletet használ ugyanahhoz az entitáshoz, például üzenetsorhoz vagy témakör-előfizetéshez. Ez a hurok olyan munkafolyamatot eredményez, amely soha nem fejeződik be.

Az összekötő gyorsítótárában mentett munkamenetek korlátozása

A Service Bus-összekötő az egyes Service Bus-üzenetkezelési entitások, például előfizetések vagy témakörök esetében akár 1500 egyedi munkamenetet is menthet egyszerre az összekötő gyorsítótárában. Ha a munkamenetek száma meghaladja ezt a korlátot, az összekötő gyorsítótára eltávolítja a régi munkameneteket. További információ: Üzenet-munkamenetek.

Korrelált üzenetek küldése sorrendben

Ha egy adott sorrendben kell elküldenie a kapcsolódó üzeneteket, hozzon létre egy munkafolyamatot a Service Bus-összekötővel és a szekvenciális konvojmintával. A korrelált üzeneteknek van egy tulajdonságuk, amely meghatározza az üzenetek közötti kapcsolatot, például az Azure Service Bus munkamenetének azonosítóját.

Fogyasztás típusú logikai alkalmazás munkafolyamata létrehozásakor kiválaszthatja a korrelált rendelési sorrendben történő kézbesítést Service Bus sessions segítségével sablont, amely megvalósítja a szekvenciális konvojmintát. További információ: Kapcsolódó üzenetek küldése sorrendben.

Nagy üzenettámogatás

A nagy üzenettámogatás csak standard munkafolyamatokhoz érhető el, ha a Service Bus beépített összekötőműveleteit használja. A nagyméretű üzeneteket például a beépített triggerek és műveletek használatával fogadhatja és kezelheti.

A Service Bus által felügyelt összekötő esetében a maximális üzenetméret legfeljebb 1 MB lehet, még akkor is, ha prémium szintű Service Bus-névteret használ.

Az üzenetek fogadásának és küldésének időtúllépésének növelése

A Service Bus beépített műveleteit használó standard munkafolyamatokban növelheti az üzenetek fogadásának és küldésének időtúllépését. Ha például növelni szeretné az üzenet fogadásának időtúllépését, módosítsa a beállítást az alábbi kód példájában az Azure Functions bővítményben:

{
   "version": "2.0",
   "extensionBundle": {
      "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows",
      "version": "[1.*, 2.0.0)"
   },
   "extensions": {
      "serviceBus": {
         "batchOptions": {
            "operationTimeout": "00:15:00"
         }
      }  
   }
}

Az üzenetküldés időtúllépésének növeléséhez adja hozzá a ServiceProviders.ServiceBus.MessageSenderOperationTimeout alkalmazásbeállítást.

Service Bus által felügyelt összekötő eseményindítói

A Service Bus által felügyelt összekötő esetében minden eseményindító a hosszú lekérdezési mintát használja. Ez az eseményindítótípus feldolgozza az összes üzenetet, majd 30 másodpercet vár, amíg további üzenetek jelennek meg az üzenetsor- vagy témakör-előfizetésben. Ha 30 másodperc alatt nem jelennek meg üzenetek, a triggerfuttatás ki lesz hagyva. Ellenkező esetben az eseményindító addig olvassa az üzeneteket, amíg az üzenetsor vagy a témakör-előfizetés üres nem lesz. A következő eseményindító-lekérdezés az eseményindító tulajdonságaiban megadott ismétlődési időközön alapul.

Egyes eseményindítók, például amikor egy vagy több üzenet érkezik az üzenetsorba (automatikus kiegészítés) egy vagy több üzenetet küldhetnek vissza. Amikor ezek az eseményindítók aktiválva vannak, egy és az eseményindító Maximális üzenetszám tulajdonsága által megadott üzenetek száma között térnek vissza.

Megjegyzés

Az automatikus kiegészítési eseményindító automatikusan kitölt egy üzenetet, de a befejezés csak a Service Bus következő hívásánál történik. Ez a viselkedés hatással lehet a munkafolyamat kialakítására. Kerülje például az automatikus kiegészítési eseményindító egyidejűségének módosítását, mert ez a módosítás ismétlődő üzeneteket eredményezhet, ha a munkafolyamat szabályozott állapotba kerül. Az egyidejűség-vezérlés módosítása a következő feltételeket hozza létre:

  • A rendszer kihagyja a korlátozott triggerek aktiválását a WorkflowRunInProgress kóddal.
  • A befejezési művelet nem fut.
  • A következő eseményindító futtatása a lekérdezési időköz után történik.

A service bus zárolási időtartamát a lekérdezési időköznél hosszabb értékre kell állítania. A beállítás ellenére azonban előfordulhat, hogy az üzenet továbbra sem fejeződik be, ha a munkafolyamat szabályozott állapotban marad a következő lekérdezési időközön.

Ha módosítania kell az egyidejűséget egy Service Bus automatikus befejezésű eseményindítón, ne végezze el ezt a módosítást a munkafolyamat mentése előtt. Az eseményindító szerkesztése előtt először hozza létre és mentse a munkafolyamatot az egyidejűség módosításához.

A Service Bus beépített összekötő eseményindítói

A Service Bus beépített összekötője esetében a nem munkamenet-eseményindítók egy folyamatos lekérdezéses triggermintát követnek, amelyet az összekötő teljes mértékben kezel. Ebben a mintában a trigger folyamatosan ellenőrzi az üzeneteket az üzenetsorban vagy a témakör-előfizetésben. Ezzel szemben a munkamenet-indítók a long-polling trigger mintáját követik. A konfigurációt az Azure Functions clientRetryOptions:tryTimeout beállítása szabályozza. A logikai alkalmazás host.json fájljában definiált Azure Functions-gazdagépbővítmény és a logikai alkalmazás munkafolyamatában definiált triggerbeállítások, amelyeket a tervező vagy a kódnézet segítségével állított be, megosztja a Service Bus beépített eseményindító konfigurációs beállításait. Ez a szakasz mindkét beállításhelyet ismerteti. Jegyezze fel a Service Bus-eseményindítókkal kapcsolatos alábbi részleteket:

  • Egyes beépített eseményindítók, például az amikor üzenetek elérhetők egy sorban eseményindító, egy vagy több üzenetet is visszaadhatnak. Amikor ezek az eseményindítók aktiválva vannak, egy és az üzenetek száma között térnek vissza.

  • Az Üzenetsorban elérhető üzenetek (V1) nevű beépített eseményindító nem támogatja a Maximális üzenetkötegméret nevű paramétert. Ha ezt a paramétert használja, inkább a V2-verziót kell használnia. Ha olyan eseményindítót szeretne használni, amelyben a paraméter nem támogatott, a kapott üzenetek számát úgy szabályozhatja, hogy hozzáadja a maxMessageBatchSize paramétert a host.json fájl eseményindító-definícióhoz. A fájl megkereséséhez tekintse meg a Standard logikai alkalmazások gazdagép- és alkalmazásbeállításainak szerkesztése című témakört.

    "extensions": {
       "serviceBus": {
          "maxMessageBatchSize": 25
       }
    }
    
  • A Service Bus-eseményindítók egyidejűségét engedélyezheti a tervezőn keresztül vagy kódban, például:

    "runtimeConfiguration": {
       "concurrency": {
            "runs": 50
        }
    }
    
    • Ha köteg használatával állítja be az egyidejűséget, tartsa meg az egyidejű futtatások számát a teljes kötegméretnél nagyobb számban. Így az olvasott üzenetek nem kerülnek várakozási állapotba, és mindig feldolgozásra kerülnek olvasáskor. Bizonyos esetekben a trigger akár kétszeres csomagméretet is tartalmazhat.

    • Ha engedélyezi az egyidejűséget a When messages are available in a queue (V1) nevű eseményindítón, és 100 vagy több üzenetet küld az üzenetsorba, az eseményindító az összes üzenetet a kézbesítetlen levelek üzenetsorába irányítja.

    • Ha engedélyezi az egyidejűséget, a debatching vagy a felosztás viselkedésére vonatkozó korlát 100 elemre csökken. Ez a viselkedés minden eseményindítóra igaz, nem csak a Service Bus-eseményindítóra. Győződjön meg arról, hogy a megadott kötegméret kisebb ennél a korlátnál minden olyan eseményindítónál, ahol engedélyezi az egyidejűséget.

    • Ha engedélyezi az egyidejűséget, alapértelmezés szerint a kötegolvasások között 30 másodperces késés áll fenn. Ez a késleltetés lelassítja az eseményindítót a következő célok eléréséhez:

      • Csökkentse az egyidejűséget alkalmazó futtatások számának ellenőrzéséhez küldött tárolási hívások számát.

      • A Service Bus által felügyelt összekötő eseményindítójának viselkedését utánozza, amely 30 másodperces lekérdezéssel rendelkezik, amikor nem található üzenet.

        Bár módosíthatja ezt a késleltetést, győződjön meg arról, hogy gondosan teszteli az alapértelmezett érték módosításait:

        "workflow": {
            "settings": {
               "Runtime.ServiceProviders.FunctionTriggers.DynamicListenerEnableDisableInterval": "00:00:30"
            }
        }
        
    • Vannak olyan forgatókönyvek, amelyekben az eseményindító túllépheti az egyidejűségi beállításokat. A futtatások meghiúsulása helyett az Azure Logic Apps várakozási állapotba állítja őket, amíg el nem indíthatók. A maximumWaitingRuns beállítás a várakozási állapotban engedélyezett futtatások számát szabályozza:

      "runtimeConfiguration": {
         "concurrency": {
            "runs": 100,
            "maximumWaitingRuns": 50
         }
      }
      

      A Service Bus-eseményindítóval győződjön meg arról, hogy gondosan teszteli ezeket a módosításokat, hogy az ütemezés ne tartson tovább az üzenetzárolási időtúllépésnél. Az alapértelmezett értékekkel kapcsolatos további információkért lásd párhuzamossági és szétbontási korlátokat itt.

1. lépés: A Service Bus-névtérhez való hozzáférés ellenőrzése

Annak ellenőrzéséhez, hogy a logikai alkalmazás erőforrása rendelkezik-e engedélyekkel a Service Bus-névtér eléréséhez, kövesse az alábbi lépéseket:

  1. Nyissa meg a Service Bus-névteret az Azure Portalon.

  2. A névtér oldalsávjának Beállítások területén válassza a Megosztott hozzáférési szabályzatok lehetőséget. A Jogcímek csoportban ellenőrizze, hogy rendelkezik-e a névtér kezelésével kapcsolatos engedélyekkel.

    Képernyőkép az Azure Portalról, a Service Bus-névtérről és a megosztott hozzáférési szabályzatok oldalának megnyitásáról, valamint a kiemelt Kezelés beállításról.

2. lépés: Kapcsolathitelesítési követelmények lekérése

Amikor első alkalommal ad hozzá Service Bus-eseményindítót vagy műveletet, a rendszer kérni fogja a kapcsolat adatait, beleértve a kapcsolat hitelesítési típusát is. A logikai alkalmazás munkafolyamat-típusa, a Service Bus-összekötő verziója és a kiválasztott hitelesítési típus alapján szüksége lesz az alábbi szakaszokban leírt elemekre.

Kezelt csatlakozó hitelesítése (Használati és szabványos munkafolyamatok)

Hitelesítés típusa Szükséges adatok
Hozzáférési kulcs Az Azure Service Bus névtérhez tartozó kapcsolati karakterlánc. További információért tekintse meg A szolgáltatásbusz névteréhez kapcsolati karakterlánc lekérése.
Microsoft Entra integrálva A Service Bus névtér szolgáltatási URL-végpontja. További információ: A Service Bus-névtér végponti URL-címének lekérése.
Felügyelt Logic Apps-identitás A Service Bus-névtér végponti URL-címe. További információ: A Service Bus-névtér végponti URL-címének lekérése.

Beépített összekötő-hitelesítés (csak standard munkafolyamatok esetén)

Hitelesítés típusa Szükséges adatok
Kapcsolati karakterlánc A Service Bus-névtér kapcsolati sztring. További információért lásd: A Service Bus névtér kapcsolat karakterláncának lekérése.
Active Directory OAuth A Service Bus-névtér teljes neve, például your-Service-Bus-namespace.servicebus.windows.net. További információ: Teljes név lekérése a Service Bus-névtérhez. A többi tulajdonságértékkel kapcsolatban lásd : OAuth with Microsoft Entra ID.
Menedzselt identitás A Service Bus-névtér teljes neve, például your-Service-Bus-namespace.servicebus.windows.net. További információ: Teljes név lekérése a Service Bus-névtérhez.

A Service Bus-névtér kapcsolati karakterlánc lekérése

Ha Service Bus-eseményindító vagy művelet hozzáadásakor szeretne kapcsolatot létrehozni, szüksége van a Service Bus-névtér kapcsolati sztringjére. A kapcsolati sztring a sb:// előtaggal kezdődik.

  1. Nyissa meg a Service Bus-névteret az Azure Portalon.

  2. A névtér oldalsávjának Beállítások területén válassza a Megosztott hozzáférési szabályzatok lehetőséget.

  3. A Megosztott hozzáférési szabályzatok panelen válassza a RootManageSharedAccessKey lehetőséget.

  4. Az elsődleges vagy másodlagos kapcsolati sztring mellett válassza a másolás gombot.

    Képernyőkép a Service Bus-névtérről, a megosztott hozzáférési szabályzatok lapjáról, a Kiválasztott RootManageSharedAccessKey szabályzatról és a SAS-szabályzat panelről. Ki van jelölve az elsődleges kapcsolati sztring másolási gombja.

    Megjegyzés

    Annak ellenőrzéséhez, hogy a sztring a névtérhez tartozik-e, nem egy adott üzenetkezelő entitáshoz, keressen rá a paraméter kapcsolati sztringjére EntityPath . Ha ezt a paramétert találja, a kapcsolati sztring egy adott entitáshoz tartozik, és nem a megfelelő sztring a munkafolyamathoz.

  5. Mentse későbbi használatra a kapcsolati karaktersort.

A Service Bus-névtér végponti URL-címének lekérése

Ha a Service Bus által felügyelt összekötőt használja, akkor erre a végponti URL-címre van szüksége, ha a Microsoft Entra integrált vagy a Logic Apps felügyelt identitásának hitelesítési típusát választja. A végpont URL-címe a sb:// előtaggal kezdődik.

  1. Nyissa meg a Service Bus-névteret az Azure Portalon.

  2. A névtér oldalsávján bontsa ki a Beállítások elemet, majd válassza a Tulajdonságok lehetőséget.

  3. Az Essentials alatt az Azonosító mellett másolja és mentse a végpont URL-címét későbbi használatra.

Teljesen minősített név lekérése a Service Bus-névtérhez

  1. Nyissa meg a Service Bus-névteret az Azure Portalon.

  2. A névtér oldalsávján válassza az Áttekintés lehetőséget.

  3. Az Áttekintés lapon bontsa ki az Essentials elemet, és keresse meg a Gazdagépnév tulajdonságot.

  4. Másolja és mentse el a teljesen minősített nevet, amely így néz ki: <az Ön Service-Bus névtere>.servicebus.windows.net, későbbi használatra.

3. lépés: 1. lehetőség – Service Bus-eseményindító hozzáadása

Az alábbi lépések az Azure Portalt használják, de a megfelelő Azure Logic Apps-bővítmény használatával a Visual Studio Code használatával hozhat létre logikaialkalmazás-munkafolyamatokat:

  1. Az Azure Portalban nyissa meg a Fogyasztási logikai alkalmazás erőforrását. Nyissa meg az üres munkafolyamatot a tervezőben.

  2. A tervezőben kövesse az általános lépéseket a forgatókönyvhöz használni kívánt Azure Service Bus-eseményindító hozzáadásához.

    Ez a példa a Amikor üzenet érkezik a várakozási sorba (automatikus kiegészítés) nevű triggert használja.

  3. Adja meg a következő kapcsolati adatokat:

    Paraméter Kötelező Leírás
    Kapcsolat neve Igen Egy név a kapcsolatodhoz.
    Hitelesítés típusa Igen A Service Bus-névtér eléréséhez használandó hitelesítési típus. További információ: Felügyelt összekötő hitelesítése.
    Kapcsolati karakterlánc Igen A korábban másolt és mentett kapcsolati karakterlánc.

    A következő kapcsolat például egy hozzáférési kulcsot használ a hitelesítéshez, és megadja a Service Bus-névtér kapcsolati sztringét:

    Képernyőkép egy új Service Bus trigger kapcsolat létrehozási paneljéről, amely hozzáférési kulcsos hitelesítést használ egy fogyasztási munkafolyamatban.

  4. Amikor végzett, válassza az Új létrehozása lehetőséget.

  5. Az eseményindító információs paneljén adja meg a szükséges információkat, például:

    Paraméter Kötelező Leírás
    Üzenetsor neve Igen A kijelölt várakozási sor elérése
    Üzenetsor típusa Nem A kijelölt üzenetsor típusa
    Milyen gyakran szeretné ellenőrizni az elemeket? Igen A lekérdezési időköz és az elemek várólistájának ellenőrzésének gyakorisága

    Képernyőkép, amely az új Service Bus által kezelt eseményindítót mutatja fogyasztási munkafolyamat példainformációival.

  6. Adja hozzá a munkafolyamathoz szükséges műveleteket.

    Hozzáadhat például egy műveletet, amely új üzenet érkezésekor e-mailt küld. Amikor az eseményindító ellenőrzi az üzenetsort, és új üzenetet talál, a munkafolyamat futtatja a kijelölt műveleteket az új üzenethez.

  7. Ha végzett, mentse a munkafolyamatot. A tervező eszköztárán válassza a Mentés lehetőséget.

3. lépés: 2. lehetőség – Service Bus-művelet hozzáadása

Az alábbi lépések az Azure Portalt használják, de a megfelelő Azure Logic Apps-bővítmény használatával a Visual Studio Code-ot használhatja logikaialkalmazás-munkafolyamatok létrehozásához:

  1. Az Azure Portalban nyissa meg a Fogyasztási logikai alkalmazás erőforrását. Nyissa meg a munkafolyamatot a tervezőben.

  2. A tervezőben kövesse az általános lépéseket a forgatókönyvhöz használni kívánt Azure Service Bus-művelet hozzáadásához.

    Ez a példa a Küldés üzenet nevű műveletet használja.

  3. A kapcsolati adatok panelen adja meg a következő információkat:

    Paraméter Kötelező Leírás
    Kapcsolat neve Igen Egy név a kapcsolatodhoz.
    Hitelesítés típusa Igen A Service Bus-névtér eléréséhez használandó hitelesítési típus. További információ: Felügyelt összekötő hitelesítése.
    Kapcsolati karakterlánc Igen A korábban másolt és mentett kapcsolati karakterlánc.

    Például ez a kapcsolat hozzáférési kulcsos hitelesítést használ, és megadja a Service Bus névtér kapcsolati karakterláncát.

    Képernyőkép a Kapcsolat létrehozása panelről egy új Service Bus művelethez, amely hozzáférési kulcs hitelesítését használja egy Consumption munkafolyamat során.

  4. Amikor végzett, válassza az Új létrehozása lehetőséget.

  5. A műveletinformációs panelen adja meg a szükséges információkat, például:

    Paraméter Kötelező Leírás
    Üzenetsor/témakör neve Igen Az üzenet küldéséhez kijelölt üzenetsor vagy témakör célja.
    Munkamenet-azonosító Nem A munkamenet azonosítója, ha az üzenetet egy munkamenet-tudatos üzenetsorba vagy témakörbe küldi.
    Rendszertulajdonságok Nem - Egyik sem
    - Futtatás részletei: Adja hozzá a metaadattulajdonságok adatait a futtatásról egyéni tulajdonságokként az üzenetben.

    Képernyőkép az Üzenet küldése Service Bus műveletről, amely példaadatokat tartalmaz egy fogyasztási munkafolyamatban.

  6. Ha bármilyen más elérhető tulajdonságot szeretne hozzáadni a művelethez, nyissa meg a Speciális paraméterek listát, és válassza ki a kívánt tulajdonságokat.

  7. Adjon hozzá minden más műveletet, amire a munkafolyamatnak szüksége van.

    Hozzáadhat például egy műveletet, amely e-mailt küld, hogy erősítse meg az üzenet elküldését.

  8. Ha végzett, mentse a munkafolyamatot. A tervező eszköztárán válassza a Mentés lehetőséget.

A Service Bus beépített összekötőalkalmazás-beállításai

Egy standard logikai alkalmazás erőforrásában a Service Bus beépített összekötője alkalmazásbeállításokat tartalmaz, amelyek különböző küszöbértékeket szabályoznak. Ezek a beállítások például az üzenetek küldéséhez szükséges időtúllépéseket és az üzenetküldők processzormagonkénti számát szabályozzák az üzenetkészletben. További információt az alkalmazásbeállításokra vonatkozó referencia – local.settings.jsoncímű témakörben talál.

Üzenetek olvasása kézbesítetlen üzenetek üzenetsoraiból a Service Bus beépített eseményindítóinak használatával

Standard munkafolyamatokban az üzenetsorokban vagy témakör-előfizetésekben lévő üzenetsorokból származó üzenetek olvasásához kövesse az alábbi lépéseket a megadott eseményindítók használatával:

  1. Az üres munkafolyamatban a forgatókönyv alapján adja hozzá a Service Bus beépített összekötő eseményindítóját, amely akkor aktiválódik, ha üzenetek érhetők el egy üzenetsorban, vagy amikor egy üzenet elérhető egy témakör előfizetésben (peek-lock).

  2. Az triggerben állítsa be a következő paraméterértékeket a várólista vagy témakör előfizetés alapértelmezett halott levél várólistájának megadásához, amelyet bármely más várólistához hasonlóan érhet el:

    • Ha üzenetek érhetők el egy üzenetsorban eseményindító: Állítsa a Üzenetsor neve paramétert a következőre queuename/$deadletterqueue.

    • Ha egy üzenet elérhető egy témakör-előfizetésben (peek-lock) eseményindítóban: Állítsa be a Témakörnév paramétert a következőre topicname/Subscriptions/subscriptionname/$deadletterqueue: .

    További információkért tekintse meg a Service Bus kézbesítetlen levelek üzenetsorainak áttekintését.

Problémák elhárítása

A munkafolyamat frissítéseinek hatásának késlekedése

Ha egy Service Bus-eseményindító lekérdezési időköze kicsi (például 10 másodperc), előfordulhat, hogy a munkafolyamat frissítései legfeljebb 10 percig nem lépnek érvénybe. A probléma megoldásához tiltsa le a logikai alkalmazás erőforrását, végezze el a módosításokat, majd engedélyezze újra a logikai alkalmazás erőforrását.

Nincs elérhető munkamenet, vagy egy másik átvevő zárolta

Időnként az olyan műveletek, mint például egy üzenet befejezése vagy egy munkamenet megújítása, a következő hibát okoznak a felügyelt összekötőben:

{
  "status": 400,
  "error": {
    "message": "No session available to complete the message with the lock token 'ce440818-f26f-4a04-aca8-555555555555'."
  }
}

Időnként előfordulhat, hogy egy munkamenet-alapú eseményindító meghiúsul a következő hibával a felügyelt összekötőben:

{
  "status": 400,
  "error": {
    "message": "Communication with the Service Bus namespace 'xxxx' and 'yyyy' entity failed. The requested session 'zzzz' cannot be accepted. It may be locked by another receiver."
  }
}

Időnként az olyan műveletek, mint egy üzenet befejezése vagy egy munkamenet megújítása, a következő hibát okoznak a beépített összekötőben:

{
  "code": "ServiceProviderActionFailed",
  "message": "The service provider action failed with error code 'ServiceOperationFailed' and error message 'The Service Bus session was not found to perform operation 'getMessagesFromQueueSession' on session id '11115555'.'."
}

A Service Bus-összekötő memóriabeli gyorsítótárral támogatja a munkamenetekhez társított összes műveletet. A Service Bus üzenet fogadója gyorsítótárazva van az üzeneteket fogadó szerepkörpéldány (virtuális gép) memóriájában. Az összes kérés feldolgozásához a kapcsolat összes hívása ugyanahhoz a szerepkörpéldányhoz lesz irányítva. Erre a viselkedésre azért van szükség, mert egy munkamenet összes Service Bus-műveletéhez ugyanaz a fogadó szükséges, amely egy adott munkamenet üzenetét fogadja.

Az olyan okok miatt, mint például az infrastruktúra frissítése, az összekötő üzembe helyezése stb., fennáll annak a lehetősége, hogy a kérések nem lesznek ugyanahhoz a szerepkörpéldányhoz irányítva. Ha ez az esemény történik, a kérések az alábbi okok valamelyike miatt meghiúsulnak:

  • A munkamenetben a műveleteket végrehajtó fogadó nem érhető el a kérést kiszolgáló szerepkörpéldányban.

  • Az új szerepkörpéldány megpróbálja megszerezni a munkamenetet, amely vagy lejárt a régi szerepkörpéldányban, vagy nem volt bezárva.

Ez a viselkedés a felügyelt és a beépített összekötőben is előfordulhat. A hiba bekövetkezésekor az üzenet továbbra is megmarad a service busban. A következő eseményindító vagy munkafolyamat-futtatás újra megpróbálja feldolgozni az üzenetet. Amíg ez a hiba csak alkalmanként fordul elő, a hiba várható.