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


Folyamatüzenetek küldése, fogadása és kötegelt feldolgozása az Azure Logic Appsben

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

Ha csoportként egy adott módon szeretne üzeneteket küldeni és feldolgozni, létrehozhat egy kötegelési megoldást. Ez a megoldás összegyűjti az üzeneteket egy kötegbe , és megvárja, amíg a megadott feltételek teljesülnek a kötegezett üzenetek kiadása és feldolgozása előtt. A kötegelés csökkentheti, hogy a logikai alkalmazás milyen gyakran dolgozza fel az üzeneteket.

Ez az útmutató bemutatja, hogyan hozhat létre kötegelési megoldást két logikai alkalmazás létrehozásával ugyanabban az Azure-előfizetésben, az Azure-régióban, és ebben a sorrendben:

  1. A "batch receiver" logikai alkalmazás, amely fogadja és gyűjti az üzeneteket egy kötegbe, amíg a megadott feltételek meg nem teljesülnek az üzenetek kiadásához és feldolgozásához. Győződjön meg arról, hogy először ezt a köteg-fogadót hozza létre, hogy később kiválaszthassa a köteg célhelyét a köteg feladójának létrehozásakor.

  2. Egy vagy több "batch sender" logikai alkalmazás, amely elküldi az üzeneteket a korábban létrehozott köteg-fogadónak.

    A köteg feladója megadhat egy egyedi kulcsot, amely a kulcs alapján particionálja vagy osztja fel a cél köteget logikai részhalmazokra. Az ügyfélszám például egy egyedi kulcs. Így a fogadóalkalmazás összegyűjtheti az azonos kulccsal rendelkező összes elemet, és együtt feldolgozhatja őket.

A batch-fogadónak és a köteg feladójának ugyanazt az Azure-előfizetést és Azure-régiót kell megosztania. Ha nem, akkor nem választhatja ki a köteg-fogadót a köteg feladójának létrehozásakor, mert azok nem láthatók egymás számára.

Előfeltételek

Korlátozások

  • Csak a kiadás után ellenőrizheti a köteg tartalmát a kibocsátott tartalom forrással való összehasonlításával.

  • A kötegeket csak a kötegvevő kiadási feltételeinek módosításával szabadíthatja fel, amelyet az útmutató ismertet, míg az eseményindító továbbra is rendelkezik a kötegével. Az eseményindító azonban a frissített kiadási feltételeket használja a nem küldött üzenetekhez.

Batch-fogadó létrehozása

Ahhoz, hogy üzeneteket küldjön egy kötegbe, először az adott kötegnek kell léteznie célként, ahol ezeket az üzeneteket elküldi. Ezért először létre kell hoznia a "batch receiver" logikai alkalmazás munkafolyamatát, amely a Batch Triggerrel kezdődik. Így a "batch sender" logikai alkalmazás munkafolyamatának létrehozásakor kiválaszthatja a batch receiver logikai alkalmazás munkafolyamatát. A köteg fogadója addig gyűjti az üzeneteket, amíg a megadott feltételek meg nem teljesülnek az üzenetek kiadásához és feldolgozásához. Bár a batch-fogadóknak semmit sem kell tudniuk a kötegelt feladókról, a kötegelt feladóknak tudniuk kell, hogy melyik célhelyen küldik el az üzeneteket.

  1. Az Azure Portalon hozzon létre egy logikaialkalmazás-erőforrást egy üres munkafolyamattal.

    Ez a példa létrehoz egy BatchReceiver nevű batch receiver logikai alkalmazást és munkafolyamatot.

  2. A munkafolyamat-tervezőben válassza az Eseményindító hozzáadása lehetőséget, és kövesse az alábbi általános lépéseket a Batch Trigger nevű Batch Operations-eseményindító hozzáadásához.

  3. Adja meg a következő triggertulajdonságokat:

    Tulajdonság Leírás
    Üzemmód
    (Csak használati munkafolyamatok)
    - Beágyazott: Kiadási feltételek definiálása a köteg-eseményindítóban

    - Integrációs fiók: Több kiadási feltétel konfigurációjának definiálása integrációs fiókon keresztül. Integrációs fiókkal ezeket a konfigurációkat egy helyen tarthatja fenn, nem pedig külön logikaialkalmazás-erőforrásokban.
    Köteg neve A köteg neve. A Használat munkafolyamatokban ez a tulajdonság csak akkor jelenik meg, ha a Mód beágyazott értékre van állítva. Ez a példa a TestBatch-et használja.
    Kiadási feltételek Az egyes kötegek feldolgozása előtt teljesítendő feltételek. Alapértelmezés szerint a köteg-eseményindító a "beágyazott mód" használatával működik, ahol meg kell határoznia a köteg-kiadási feltételeket a köteg-eseményindítóban.

    - Üzenetszám alapján: A köteg felszabadítása a köteg által gyűjtött üzenetek száma alapján.

    - Méretalapú: Engedje fel a köteget az adott köteg által összegyűjtött összes üzenet bájtban megadott teljes mérete alapján.

    - Ütemezés alapján: A köteg felszabadítása ismétlődési ütemezés alapján, amely időközt és gyakoriságot határoz meg. Választhat egy időzónát, és megadhat egy kezdő dátumot és időpontot.

    Az összes megadott feltétel használatához válassza ki az összes lehetőséget.
    Üzenetszám A kötegben összegyűjtendő üzenetek száma, például 10 üzenet. A kötegüzenetek korlátja 8000 üzenet.
    Köteg mérete A kötegben gyűjtendő üzenetek teljes bájtmérete, például 10 MB. A köteg méretkorlátja 80 MB.
    Ismétlődés A kötegkiadások közötti intervallum és gyakoriság, például 10 perc. A minimális ismétlődés 60 másodperc vagy 1 perc. A törtpercek gyakorlatilag 1 percre vannak kerekítve. Tetszés szerint kijelölhet egy időzónát, és megadhat egy kezdő dátumot és időpontot.

    Feljegyzés

    Ha módosítja a kiadási feltételeket, miközben az eseményindító továbbra is kötegelt, de nem küldött üzeneteket tartalmaz, az eseményindító a frissített kiadási feltételeket használja a nem küldött üzenetek kezelésére.

    Ez a példa az összes feltételt mutatja be, de saját teszteléséhez próbáljon ki csak egy feltételt:

    Képernyőkép a Batch-eseményindító összes feltételét ábrázolja.

  4. Most vegyen fel egy vagy több olyan műveletet, amely az egyes kötegeket dolgozza fel.

    Ebben a példában adjon hozzá egy műveletet, amely e-mailt küld, amikor a batch trigger aktiválódik. Az eseményindító akkor fut le és küld e-mailt, ha a köteg 10 üzenetet tartalmaz, eléri a 10 MB-ot, vagy 10 perc elteltével.

    1. A kötegelt eseményindító alatt válassza a plusz (+) jel >műveletet.

    2. Az alábbi általános lépéseket követve hozzáadhat egy e-mailt küldő műveletet az e-mail-szolgáltatója alapján.

      Ha például munkahelyi vagy iskolai fiókkal rendelkezik, például @fabrikam.com@fabrikam.onmicrosoft.comvagy, válassza a Microsoft 365 Outlook-összekötőt . Ha rendelkezik személyes fiókkal, például @outlook.com vagy @hotmail.com, válassza ki a Outlook.com összekötőt. Ez a példa a Microsoft 365 Outlook-összekötőt használja.

  5. Ha a rendszer kéri, jelentkezzen be az e-mail-fiókjába.

  6. Adja meg a következő művelettulajdonságokat:

    • A Címzett mezőben adja meg a címzett e-mail-címét. Tesztelési célokra használhatja a saját e-mail-címét.

    • A Tárgy mezőben válassza ki a dinamikus tartalomlista (villám ikon) és a kifejezésszerkesztő (függvényikon) beállításait. Válassza a villám ikont a dinamikus tartalomlista megnyitásához, és válassza ki a Partíció neve nevű mezőt.

      Képernyőkép a dinamikus tartalomlistáról és a Partíciónév tulajdonság kijelölt mezőjéről.

      Később a köteg feladójában megadhat egy egyedi partíciókulcsot, amely logikai részhalmazokra osztja a célköteget, ahol üzeneteket küldhet. Minden készlet egyedi számmal rendelkezik, amelyet a batch sender logic app munkafolyamata hoz létre. Ez a funkció lehetővé teszi, hogy egyetlen köteget használjon több részhalmazsal, és minden egyes részhalmazt a megadott névvel definiáljon.

      Fontos

      Egy partíció legfeljebb 5000 üzenetből vagy 80 MB-ból áll. Ha bármelyik feltétel teljesül, az Azure Logic Apps akkor is kiadhatja a köteget, ha a megadott kiadási feltétel nem teljesül.

    • A Szövegtörzs mezőben válassza a villám ikont a dinamikus tartalomlista megnyitásához, majd válassza az Üzenetazonosító mezőt.

      A munkafolyamat-tervező automatikusan hozzáad egy Minden ciklushoz az e-mail küldése művelet köré, mivel ez a művelet az előző művelet kimenetét gyűjteményként kezeli, nem pedig kötegként.

      Az alábbi példa az információs panelt mutatja be, miután kiválasztotta a tervező minden egyes címmezőjében, ahol a Kötegelt elemek a gyűjtemény neve:

      Képernyőkép a Kötegelt elemek gyűjteményről a korábbi műveletkimenetekkel.

  7. Mentse a munkafolyamatot. Most létrehozott egy kötegvevőt.

    Fontos

    Ha Visual Studio Code-ot használ, mielőtt továbblép a következő szakaszra, győződjön meg arról, hogy először üzembe helyezi a batch receiver logikai alkalmazás erőforrását az Azure-ban. Ellenkező esetben nem választhatja ki a batch receiver logikai alkalmazás munkafolyamatát a kötegelt feladó logikai alkalmazás munkafolyamatának létrehozásakor.

Batch-feladó létrehozása

Most hozzon létre egy vagy több batch sender logic app munkafolyamatot, amely üzeneteket küld a batch receiver logikai alkalmazás munkafolyamatának. Minden egyes batch-feladóban meg kell adnia a köteg fogadójának és a köteg nevét, az üzenet tartalmát és minden egyéb beállítást. Igény szerint megadhat egy egyedi partíciókulcsot, amellyel a köteget logikai részhalmazokra oszthatja az üzenetgyűjtéshez az adott kulccsal.

  • Győződjön meg arról, hogy korábban létrehozta és üzembe helyezte a köteg-fogadót , így a köteg feladójának létrehozásakor kiválaszthatja a meglévő kötegvevőt cél kötegként. Bár a batch-fogadóknak nem kell semmit tudniuk a kötegelt feladókról, a köteg feladóinak tudniuk kell, hogy hol küldhetnek üzeneteket.

  • Győződjön meg arról, hogy a batch-fogadó és a köteg feladója ugyanazzal az Azure-régióval és Azure-előfizetéssel rendelkezik. Ha nem, akkor nem választhatja ki a köteg-fogadót a köteg feladójának létrehozásakor, mert azok nem láthatók egymás számára.

  1. Hozzon létre egy másik BatchSender nevű logikaialkalmazás-erőforrást és munkafolyamatot.

    Feljegyzés

    Ha standard logikai alkalmazáserőforrással rendelkezik, mindenképpen hozzon létre állapotalapú munkafolyamatot, ne állapot nélküli munkafolyamatot, mert az Ismétlődés eseményindító nem érhető el állapot nélküli munkafolyamatokhoz.

  2. Kövesse az alábbi általános lépéseket az Ismétlődés nevű ütemezésieseményindító hozzáadásához.

    Ez a példa beállítja az időközt és a gyakoriságot a küldő munkafolyamat percenkénti futtatásához.

  3. Adjon hozzá egy új műveletet az üzenetek kötegbe való küldéséhez.

    1. Az Ismétlődés eseményindító alatt válassza az Új művelet hozzáadása plusz (+) előjelet>.

    2. Az alábbi általános lépéseket követve adhat hozzá egy Küldés kötegelt eseményindító munkafolyamatba (Használat munkafolyamat) vagy Küldés kötegeltre (Standard munkafolyamat) nevű Batch Operations-műveletet.

    3. Attól függően, hogy használatalapú munkafolyamattal vagy Standard munkafolyamattal rendelkezik-e, kövesse a megfelelő lépéseket:

      Használati munkafolyamat

      Miután hozzáadta a Küldés kötegelt eseményindító munkafolyamat-műveletet , megjelenik egy lista, amely csak azokat a logikai alkalmazás-erőforrásokat jeleníti meg, amelyek az Azure-előfizetésben és az Azure-régióban találhatók, mint a kötegelt feladó logikai alkalmazás erőforrása.

      1. A logikai alkalmazások listájában válassza ki a korábban létrehozott logikai alkalmazást, amelyet kötegelt fogadóként szeretne használni. Amikor megjelennek az elérhető eseményindítók, válassza ki a Batch_messages nevű eseményindítót.

        Képernyőkép a Használat munkafolyamatról az Ismétlődés eseményindítóval és a batch sender művelettel, amely kiválaszt egy batch receiver logikai alkalmazás erőforrást és eseményindítót.

        Fontos

        Ha Visual Studio Code-ot használ, és nem lát kiválasztható kötegvevőket, ellenőrizze, hogy korábban létrehozta-e és üzembe helyezte-e a kötegvevőt az Azure-ban. Ha még nem tette meg, megtudhatja , hogyan helyezheti üzembe a batch receiver logikai alkalmazás erőforrását az Azure-ban.

      2. Ha végzett, válassza a Művelet hozzáadása lehetőséget.

      Standard munkafolyamat

      A Küldés kötegbe művelet hozzáadása után a műveletpanel a következő lépésben a következő tulajdonságokat jeleníti meg, amelyek segítségével megadhatja a köteg nevét, az üzenet tartalmát, a munkafolyamat nevét és az eseményindító nevét. Csak a batch receiver logikai alkalmazás munkafolyamatának adatait adhatja meg olyan kötegelt eseményindítóval, amely ugyanabban az Azure-előfizetésben és Azure-régióban található, mint a batch sender logic app.

      Képernyőkép a Standard munkafolyamatról az Ismétlődés eseményindítóval és a Küldés a kötegbe nevű művelettel.

  4. Adja meg a következő batch receiver műveleti tulajdonságokat:

    Tulajdonság Leírás
    Köteg neve A vevő logikai alkalmazás által definiált kötegnév, amely ebben a példában a TestBatch

    Fontos: A köteg neve futásidőben lesz érvényesítve, és meg kell egyeznie a batch receiver logikai alkalmazás által megadott névvel. A köteg nevének módosítása a köteg feladójának sikertelenségéhez vezet.
    Üzenet tartalma A küldeni kívánt üzenet tartalma. A használni kívánt értékhez tekintse meg az alábbi példát.
    Munkafolyamat neve
    (Csak standard munkafolyamatok)
    A kötegelt eseményindítót tartalmazó munkafolyamat neve.
    Eseményindító neve A batch trigger neve a batch receiver logikai alkalmazás munkafolyamatában. A Használat munkafolyamatokban ez az érték automatikusan ki lesz töltve a kiválasztott batch receiver logikai alkalmazásból.
    Munkafolyamat-azonosító Annak a munkafolyamatnak az azonosítója, amelyen a batch trigger neve köteg-fogadó logikai alkalmazás munkafolyamata található. A Használat munkafolyamatokban ez az érték automatikusan ki lesz töltve a kiválasztott batch receiver logikai alkalmazásból.

    Ebben a példában az Üzenettartalom tulajdonság értékeként adja hozzá a következő kifejezést, amely beszúrja az aktuális dátumot és időt a kötegbe küldött üzenettartalomba:

    1. Az Üzenet tartalma mezőben válassza ki a dinamikus tartalom (villám ikon) és a kifejezésszerkesztő (függvényikon) beállításait.

    2. A kifejezésszerkesztő megnyitásához válassza a függvényikont.

    3. A szerkesztőben adja meg a utcnow() nevű függvényt, és válassza a Hozzáadás lehetőséget.

      Használati munkafolyamat

      Képernyőkép a Használat munkafolyamatról, a Kötegelt feladó műveletpanelről, az Üzenet tartalma mezőről a kurzorral, a kifejezésszerkesztő utcNow függvénnyel és egyéb részletekkel.

      Standard munkafolyamat

      Képernyőkép a Szokásos munkafolyamatról, a Kötegelt feladó műveletpanelről, az Üzenet tartalma mezőről a kurzorral, a kifejezésszerkesztő utcNow függvényével és egyéb részletekkel.

  5. Most állítson be egy partíciót a köteghez.

    1. A batch sender action panel Speciális paraméterek listájából válassza ki a következő tulajdonságokat:

      Tulajdonság Leírás
      Partíció neve Opcionális egyedi partíciókulcs, amellyel a cél köteget logikai részhalmazokra oszthatja, és az adott kulcs alapján gyűjthet üzeneteket.

      Ebben a példában az alábbi lépéseket követve adhat hozzá egy olyan kifejezést, amely egy és öt közötti véletlenszerű számot hoz létre.
      Üzenetazonosító Nem kötelező üzenetazonosító, amely egy globálisan egyedi azonosító (GUID) üres állapotban. Ebben a példában hagyja üresen ezt az értéket.
    2. Válassza ki a Partíció neve mezőben, és válassza a kifejezésszerkesztő (függvényikon) beállítását.

    3. A kifejezésszerkesztőben adja meg a rand(1,6) függvényt, és válassza a Hozzáadás lehetőséget.

      Ez a példa egy és öt közötti számot hoz létre. Tehát ezt a köteget öt számozott partícióra osztja, amelyeket ez a kifejezés dinamikusan állít be.

      Képernyőkép a köteg partíciókra való felosztásához használt rand nevű függvényről.

      Ha elkészült, a kötegelt feladó munkafolyamata a logikai alkalmazás munkafolyamattípusa alapján az alábbi példához hasonlóan néz ki:

      Használati munkafolyamat

      Képernyőkép a kész batch sender Consumption logikai alkalmazás munkafolyamatról.

      Standard munkafolyamat

      Képernyőkép a kész batch sender Standard logikai alkalmazás munkafolyamatról.

  6. Mentse a munkafolyamatot.

Munkafolyamatok tesztelése

A kötegelési megoldás teszteléséhez hagyja futni a logikai alkalmazás munkafolyamatait néhány percig. Hamarosan ötfős csoportokba kezdi az e-maileket, mindegyik ugyanazzal a partíciókulcsmal.

A kötegelt feladó logikai alkalmazása percenként fut, és véletlenszerű számot hoz létre egy és öt között. A köteg feladója ezt a véletlenszerű számot használja a cél köteg partíciókulcsaként, ahol az üzeneteket küldi. Minden alkalommal, amikor a köteg öt elemet tartalmaz ugyanazzal a partíciókulcsmal, a batch receiver logikai alkalmazás minden egyes üzenethez küld e-mailt.

Fontos

Ha végzett a tesztelésével, tiltsa le vagy törölje a BatchSender logikai alkalmazás munkafolyamatát, hogy ne küldjön üzeneteket, és ne terhelje túl a beérkezett üzeneteket.