Share via


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

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

Ez az útmutató bemutatja, hogyan érheti el az Azure Service Bust az Azure Logic Apps munkafolyamatából a Service Bus-összekötő használatával. Ezután létrehozhat olyan automatizált munkafolyamatokat, amelyek akkor futnak, amikor egy service bus eseményei aktiválódnak, vagy futtathat műveleteket a service bus-elemek kezeléséhez, 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, halasztás, felhagyás és kézbesítetlen levelek.
  • 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 használhat, amelyek válaszokat kapnak az Azure Service Bustól, és elérhetővé teszik a kimenetet a munkafolyamatok más műveletei számára. Más műveletek is használhatják a Service Bus-műveletek kimenetét.

Csatlakozás or műszaki referencia

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ás or verzió
Fogyasztás Több-bérlős Azure Logic Apps Felügyelt összekötő (Standard osztály). További információkért tekintse át a következő dokumentációt:

- Service Bus által felügyelt összekötő referenciája
- Felügyelt összekötők az Azure Logic Appsben
Fogyasztás Integrációs szolgáltatási környezet (I Standard kiadás) Felügyelt összekötő (Standard osztály) és I Standard kiadás verzió, amely a Standard osztálytól eltérő üzenetkorlátokkal rendelkezik. További információkért tekintse át a következő dokumentációt:

- Service Bus által felügyelt összekötő referenciája
- Üzenetkorlátok Standard kiadás
- Felügyelt összekötők az Azure Logic Appsben
Standard Egybérlős Azure Logic Apps és App Service Environment v3 (csak Windows-csomagok esetén) Felügyelt összekötő (Azure által üzemeltetett) és beépített összekötő, amely szolgáltatóalapú. A beépített verzió általában jobb teljesítményt, képességeket, díjszabást és egyebeket biztosít.

Megjegyzés: A Service Bus beépített összekötő-eseményindítói a lekérdezési trigger mintáját követik, ami azt jelenti, hogy az eseményindító folyamatosan ellenőrzi az üzeneteket az üzenetsorban vagy a témakör-előfizetésben.

További információkért tekintse át a következő dokumentációt:

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

Előfeltételek

  • Azure-fiók és -előfizetés. Ha nem rendelkezik Azure-előfizetéssel, regisztráljon egy ingyenes Azure-fiókra.

  • Service Bus-névtér és üzenetkezelési entitás, például üzenetsor. További információkért tekintse át a következő dokumentációt:

  • A logikai alkalmazás munkafolyamata, amelyben a Service Bus-névtérhez és az üzenetkezelési entitáshoz csatlakozik. Ha Service Bus-eseményindítóval szeretné elindítani a munkafolyamatot, egy üres munkafolyamattal kell kezdenie. Ha Service Bus-műveletet szeretne használni a munkafolyamatban, indítsa el a munkafolyamatot bármilyen eseményindítóval.

  • Ha a logikai alkalmazás erőforrása felügyelt identitást használ a Service Bus-névtérhez és az üzenetkezelési entitáshoz való hozzáférés hitelesítéséhez, győződjön meg arról, hogy a megfelelő szinteken hozzárendelte a 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ásnak csak egy felügyelt identitást kell használnia, még akkor is, ha a logikai alkalmazás munkafolyamata különböző üzenetkezelési entitásokhoz fér hozzá.

    • Minden olyan felügyelt identitásnak, amely egy üzenetsor- vagy témakör-előfizetéshez fér hozzá, saját Service Bus API-kapcsolatot kell használnia.

    • Azok a Service Bus-műveletek, amelyek különböző üzenetküldési entitásokkal váltanak üzeneteket, és eltérő engedélyeket igényelnek, saját Service Bus API-kapcsolatokat kell használniuk.

    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

Körültekintően válassza ki az azonos összekötőtípusú eseményindítót és műveletet is, és használja őket ugyanazzal az entitással, például üzenetsor- vagy témakör-előfizetéssel való együttműködésre. Ez a kombináció végtelen hurkot hozhat létre, amely egy soha véget nem érő logikai alkalmazást eredményez.

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

Service Bus-üzenetkezelési entitásonként, például előfizetésenként vagy témakörenként a Service Bus-összekötő egyszerre legfeljebb 1500 egyedi munkamenetet menthet az összekötő gyorsítótárában. Ha a munkamenetek száma meghaladja ezt a korlátot, a régi munkamenetek törlődnek a gyorsítótárból. További információ: Üzenet-munkamenetek.

Korrelált üzenetek küldése sorrendben

Ha egy adott sorrendben kell elküldenie a kapcsolódó üzeneteket, létrehozhat 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.

A Használat logikai alkalmazás munkafolyamatának létrehozásakor kiválaszthatja a rendelési sorrendben történő kézbesítést a Service Bus-munkamenetek sablon használatával, 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 beépített triggerek és műveletek használatával például fogadhat és nagy méretű üzeneteket is.

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 következő beállítást 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 az összes eseményindító hosszú lekérdezést eredményez. 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.

    Feljegyzé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 szabályozott eseményindítókat 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 azonban bekapcsolja egy Service Bus-eseményindító egyidejűségi beállítását, a tulajdonság alapértelmezett értéke maximumWaitingRuns 10. A Service Bus-entitás zárolási időtartamának beállítása és a munkafolyamat futtatási időtartama alapján ez az alapértelmezett érték túl nagy lehet, és "elveszett zárolás" kivételt okozhat. A forgatókönyv optimális értékének megkereséséhez kezdje el a tesztelést a tulajdonság 1 vagy 2 maximumWaitingRuns értékével. A várakozási futtatások maximális értékének módosításához tekintse át a várakozási futtatások korlátjának módosítását ismertető cikket.

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

A Service Bus beépített eseményindítójának konfigurációs beállításai jelenleg meg vannak osztva 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 között, amelyeket a tervező vagy a kódnézet segítségével állíthat be. Ez a szakasz mindkét beállításhelyet ismerteti.

  • A Standard munkafolyamatokban egyes eseményindítók, például az Üzenetsor-eseményindítóban elérhető üzenetek, 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 ilyen típusú eseményindítók esetében, ahol a Maximális üzenetszám paraméter nem támogatott, továbbra is szabályozhatja a fogadott üzenetek számát a host.json fájl maxMessageBatchSize tulajdonságával. 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
      }
    }
    
  • Az egyidejűséget a Service Bus-eseményindítón is engedélyezheti a tervezőn keresztül vagy kódban:

    "runtimeConfiguration": {
        "concurrency": {
            "runs": 100
        }
    }
    

    Ha köteg használatával állít be egyidejűséget, tartsa meg az egyidejű futtatások számát a teljes kötegméretnél nagyobb számban. Így az olvasási üzenetek nem kerülnek várakozási állapotba, és mindig fel lesznek osztva olvasáskor. Bizonyos esetekben az eseményindító legfeljebb kétszer akkora kötegméretet tartalmazhat.

  • Ha engedélyezi az egyidejűséget, a SplitOn korlátja 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.

  • 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 maximálisWaitingRuns beállítás szabályozza a várakozási állapotban engedélyezett futtatások számát:

    "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 a futtatás ne várjon tovább, mint az üzenetzárolási időtúllépés. Az alapértelmezett értékekkel kapcsolatos további információkért lásd itt az egyidejűségi és kötegelési korlátokat.

  • 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.

    Ezt a késleltetést módosíthatja, de 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"
        }
    }
    
    

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 menü Gépház 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

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

Később, amikor először ad hozzá Service Bus-eseményindítót vagy műveletet, a rendszer kérni fogja a kapcsolati adatokat, beleértve a kapcsolathitelesítés típusát is. A logikai alkalmazás munkafolyamattípusa, a Service Bus-összekötő verziója és a kiválasztott hitelesítési típus alapján a következő elemekre lesz szüksége:

Felügyelt összekötő hitelesítése (használat és standard munkafolyamatok)

Hitelesítés típusa Szükséges adatok
Hozzáférési kulcs A Service Bus-névtér kapcsolati sztring. További információ: Get kapcsolati sztring for Service Bus namespace
A Microsoft Entra integrálva A Service Bus-névtér végponti URL-címe. További információkért tekintse át a Service Bus-névtér végponti URL-címének lekérését.
Felügyelt Logic Apps-identitás A Service Bus-névtér végponti URL-címe. További információkért tekintse át a Service Bus-névtér végponti URL-címének lekérését.

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

Hitelesítés típusa Szükséges adatok
Kapcsolati sztring A Service Bus-névtér kapcsolati sztring. További információ: Get kapcsolati sztring for Service Bus namespace
Active Directory OAuth - A Service Bus-névtér teljes neve, <például a Service-Bus-namespace.servicebus.windows.net.> További információkért tekintse át a Service Bus-névtér teljes névterének lekérését. A többi tulajdonságérték esetében tekintse át a Microsoft Entra ID Open Authenticationt.
Kezelt identitás A Service Bus-névtér teljes neve, <például a-Service-Bus-namespace.servicebus.windows.net.> További információkért tekintse át a Service Bus-névtér teljes névterének lekérését.

A Service Bus-névtér kapcsolati sztring lekérése

Ha Service Bus-eseményindító vagy művelet hozzáadásakor szeretne kapcsolatot létrehozni, rendelkeznie kell a Service Bus-névtér kapcsolati sztring. 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 menü Gépház 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ér kapcsolati sztring és a kijelölt másolási gombról.

    Feljegyzés

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

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

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 menü Gépház területén válassza a Tulajdonságok lehetőséget.

  3. A Tulajdonságok területen a Service Bus-végpont mellett másolja ki a végpont URL-címét, és mentse későbbi használatra, amikor meg kell adnia a service bus végpontJÁNAK URL-címét.

Teljes 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 menüjében válassza az Áttekintés lehetőséget.

  3. Az Áttekintés panelen keresse meg a Gazdagépnév tulajdonságot, és másolja ki a teljes nevet, amely úgy néz ki, mint< a Service-Bus-namespace.servicebus.windows.net>.

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énysel a következő eszközökkel is létrehozhat logikaialkalmazás-munkafolyamatokat:

  1. Az Azure Portalon nyissa meg a Consumption logikai alkalmazás erőforrását üres munkafolyamattal a tervezőben.

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

    Ez a példa a When message is received in a queue (auto-complete) (automatikus kiegészítés) nevű eseményindítóval folytatódik.

  3. Ha a rendszer kéri, adja meg a következő adatokat a kapcsolatról. Amikor elkészült, válassza a Létrehozás lehetőséget.

    Tulajdonság Kötelező Leírás
    Kapcsolat neve Igen A kapcsolat neve
    Hitelesítési típus Igen A Service Bus-névtér eléréséhez használandó hitelesítés típusa. További információkért tekintse át a felügyelt összekötő hitelesítését.
    Kapcsolati sztring Igen A korábban másolt és mentett kapcsolati sztring.

    Ez a kapcsolat például hozzáférési kulcsos hitelesítést használ, és biztosítja a Service Bus-névtér kapcsolati sztring:

    Képernyőkép a Használati munkafolyamatról, a Service Bus-eseményindítóról és a példakapcsolati adatokról.

  4. Az eseményindító információs mezőjének megjelenése után adja meg a szükséges információkat, például:

    Tulajdonság Kötelező Leírás
    Üzenetsor neve Igen A kijelölt üzenetsor elérése
    Üzenetsor típusa Nem A kijelölt üzenetsor típusa
    Milyen gyakran szeretne elemeket keresni? 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 a Használati munkafolyamatról, a Service Bus-eseményindítóról és a példa eseményindító adatairól.

  5. Ha bármilyen más elérhető tulajdonságot szeretne hozzáadni az eseményindítóhoz, nyissa meg az Új paraméter hozzáadása listát, és válassza ki a kívánt tulajdonságokat.

  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 kiválasztott műveleteket a talált ü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énysel a következő eszközökkel is létrehozhat logikaialkalmazás-munkafolyamatokat:

  1. Az Azure Portalon nyissa meg a Consumption logikai alkalmazást és a munkafolyamatot a tervezőben.

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

    Ez a példa az Üzenet küldése művelettel folytatódik.

  3. Ha a rendszer kéri, adja meg a következő adatokat a kapcsolatról. Amikor elkészült, válassza a Létrehozás lehetőséget.

    Tulajdonság Kötelező Leírás
    Kapcsolat neve Igen A kapcsolat neve
    Hitelesítési típus Igen A Service Bus-névtér eléréséhez használandó hitelesítés típusa. További információkért tekintse át a felügyelt összekötő hitelesítését.
    Kapcsolati sztring Igen A korábban másolt és mentett kapcsolati sztring.

    Ez a kapcsolat például hozzáférési kulcsos hitelesítést használ, és biztosítja a Service Bus-névtér kapcsolati sztring:

    Képernyőkép a Használati munkafolyamatról, a Service Bus-műveletről és a példakapcsolati adatokról.

  4. A műveletinformációs mező megjelenése után adja meg a szükséges információkat, például:

    Tulajdonság 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 a Használati munkafolyamatról, a Service Bus-műveletről és a példaműveleti adatokról.

  5. Ha bármilyen más elérhető tulajdonságot szeretne hozzáadni a művelethez, nyissa meg az Új paraméterlista hozzáadása elemet, és válassza ki a kívánt tulajdonságokat.

  6. 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.

  7. 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 olyan alkalmazásbeállításokat tartalmaz, amelyek különböző küszöbértékeket szabályoznak, például időtúllépést az üzenetek küldésére, valamint az üzenetkészlet processzormagonkénti üzenetküldőinek számát. További információkért tekintse át az alkalmazásbeállításokra vonatkozó referenciát – local.settings.json.

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

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 szerepel, ha üzenetek érhetők el egy üzenetsorban, vagy amikor egy üzenet elérhető egy témakör-előfizetésben (betekintő).

  2. Az eseményindítóban állítsa be a következő paraméterértékeket az üzenetsor vagy a témakör-előfizetés alapértelmezett üzenetsorának megadásához, amelyet bármely más üzenetsorhoz hasonlóan érhet el:

    • Ha üzenetek érhetők el egy üzenetsor-eseményindítóban: Állítsa a Várólistanév paramétert a queuename/$deadletterqueue értékre.

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

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

Hibaelhárítás

A munkafolyamat frissítéseinek késése érvénybe lép

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 letilthatja a logikai alkalmazás erőforrását, elvégezheti a módosításokat, majd újra engedélyezheti a logikai alkalmazás erőforrását.

Nincs elérhető munkamenet

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 eredményezik:

{
  "status": 400,
  "message": "No session available to complete the message with the lock token 'ce440818-f26f-4a04-aca8-555555555555'. clientRequestId: facae905-9ba4-44f4-a42a-888888888888",
  "error": {
    "message": "No session available to complete the message with the lock token 'ce440818-f26f-4a04-aca8-555555555555'."
  }
}

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.

Fennáll annak az esélye, hogy a kérések nem lesznek ugyanahhoz a szerepkörpéldányhoz irányítva, például infrastruktúra-frissítés, összekötő üzembe helyezése stb. miatt. Ha ez az esemény történik, a kérések meghiúsulnak, mert a munkamenetben a műveleteket végrehajtó fogadó nem érhető el a kérést kiszolgáló szerepkörpéldányban.

Amíg ez a hiba csak alkalmanként fordul elő, a hiba várható. 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.

Következő lépések