Szabályok létrehozása a Microsoft Rules Composer (előzetes verzió) használatával
A következőkre vonatkozik: Azure Logic Apps (Standard)
Fontos
Ez a funkció előzetes verzióban érhető el, és a Microsoft Azure előzetes verziójának kiegészítő használati feltételei vonatkoznak.
Az üzleti folyamatok működésének üzleti logikáját szabályok szabályozzák. Az Azure Logic Apps Szabálymotor-projekttel való használathoz szükséges szabályok létrehozásához a Microsoft Rules Composer vizuális eszközt biztosít a szabálykészletek és a vokabulárok létrehozásához és verziószámozásához.
Ez az útmutató áttekintést nyújt a szabályok működéséről, valamint arról, hogyan hozhat létre szabályt a Microsoft Rules Composer használatával.
Töltse le és telepítse a Microsoft Rules Composert.
Ha van egy meglévő szabálykészlete, amelyen dolgozni szeretne, szüksége van a szabálykészletet tartalmazó XML-fájlra. Ellenkező esetben ez az útmutató bemutatja, hogyan hozhat létre új szabálykészletet, amelyet XML-fájlként menthet.
Fontos
Ha a meglévő XML-fájl bármely .NET-szerelvényektől függ, vagy ha a tények hozzáadásához használt szerelvények más függőségekkel rendelkeznek, ügyeljen arra, hogy ezeket a fájlokat ugyanabban a mappában és a Microsoft Rules Composer helyi könyvtárában tárolja.
A szabály egy deklaratív utasítás, amely olyan feltételt és műveleteket tartalmaz, amelyekben a feltétel kiértékelése történik. Ha az eredmény igaz, a szabálymotor egy vagy több műveletet hajt végre. Az alábbi formátum az Azure Logic Apps szabálymotor szabályainak szintaxisát határozza meg:
IF <condition> THEN <művelet>
Az alábbi példaszabály azt határozza meg, hogy tranzakciót hajt-e végre, és az üzleti logikát két pénzügyi érték és egy tranzakció összegének és kedvezményének formáját használó adatokkal vagy tényekkel való összehasonlításával alkalmazza az üzleti logikát:
HA a megvásárolt összeg nagyobb, mint a mennyiség, AKKOR adjon további kedvezményt az ügyfélnek
Feltétel: Igaz vagy hamis logikai kifejezés, amely egy vagy több tényre alkalmazott predikátumot tartalmaz. A predikátum olyan záradék, amely egy igét tartalmaz, és a tárgyról állít be valamit. A példánkban a predikátum nagyobb, mint a megvásárolt tényösszegre vonatkozik. Ez a feltétel mindig igaz vagy hamis értéket ad vissza. A predikátumokat kombinálhatja az AND, OR és a NOT logikai operátorokkal, hogy egy potenciálisan hosszú logikai kifejezést alakítsanak ki, de mindig igaz vagy hamis értéket ad vissza.
Művelet: A művelet a feltétel kiértékelésének funkcionális következménye. Ha egy szabályfeltétel teljesül, a rendszer elindít egy megfelelő műveletet vagy műveletet. A példánkban egy további kedvezményt ad egy művelet, amely csak akkor történik, ha a feltétel igaz, azaz ha a megvásárolt összeg nagyobb, mint 1000 USD. A műveletek az Azure Logic Apps szabálymotorban jelennek meg metódusok meghívásával, az objektumok tulajdonságainak beállításával vagy a beállítási műveletek XML-dokumentumokon való végrehajtásával.
Tény: A tény egy különálló információ arról a világról, amelyen a szabályok működnek. Példánkban az összeg és a mennyiség tény. A tények számos forrásból származhatnak, például eseményrendszerekből, hibrid alkalmazások objektumaiból stb., és ezeket az Alábbi elemek egyikével kell beépíteni az Azure Logic Apps szabálymotorjába:
- .NET-objektumok, például metódusok, tulajdonságok és mezők.
- XML-dokumentumok, például elemek, attribútumok és dokumentum alszakaszok.
Szókincs: A feltételekben és műveletekben használt tények rövid neve. További információ: Vocabularies létrehozása és kezelése.
Az alábbi diagram és szakaszok bemutatják, hogyan illeszkednek egymáshoz a feltételek, a műveletek és a tények:
A Microsoft Rules Composer használatával szabályokat hozhat létre, módosíthat, verziószámokat és menthet. Másik lehetőségként programozott módon is végrehajthatja ezeket a feladatokat. A Szabályok zeneszerzője a következő felhasználói felületi elemeket tartalmazza:
Ablak | Leírás |
---|---|
Szabálykészlet-kezelő | Hozzon létre egy vagy több szabályt tartalmazó szabálykészleteket. |
Feltételek szerkesztő | Hozzon létre egy feltételt egy szabályhoz. |
Műveletek szerkesztője | Olyan műveleteket hozhat létre, amelyek akkor futnak, amikor a feltétel értéke igaz. |
Tények kezelője | Keresse meg az XML- és a .NET-adatokat, majd húzza ezeket a tényeket a feltételszerkesztőbe vagy a műveletek szerkesztőbe. |
A szabálykészletek olyan szabályok, amelyeket tartomány, kötött környezet vagy bármely üzleti határ alapján csoportosíthat. A szabálykészletek és szabályok a szabálytárban való kezeléséhez használja a RuleSet Explorert. Létrehozhat, módosíthat, tesztelhet vagy törölhet szabálykészleteket és azok szabályait.
A Microsoft Rules Composerben nyissa meg a Szabálytár menüt, és válassza a Betöltés lehetőséget.
Keresse meg és válassza ki a megnyitni kívánt szabálytárolót tartalmazó XML-fájlt.
A RuleSet Explorer ablakban nyissa meg a Szabálykészletek helyi menüt, és válassza az Új szabálykészlet hozzáadása lehetőséget.
A Microsoft Rules Composer létrehoz egy új üres szabálykészletet, amelynek alapértelmezett verziója egy 1.0-s számú szabálykészlet.
Mentse a szabálykészletet. A Szabálytár menüben válassza a Mentés lehetőséget, amely létrehoz egy XML-fájlt a szabálykészlethez.
Az alábbi táblázat a szabálykészletek használatához használható egyéb RuleSet Explorer-parancsokat ismerteti:
Task | Parancs |
---|---|
Hozzon létre egy új szabálykészletet. | Új szabálykészlet hozzáadása |
Hozzon létre egy új üres verziót a kijelölt szabálykészlethez. Más verziókból is másolhat szabályokat, és beillesztheti őket az új verzióba. | Új verzió hozzáadása |
Másolja a kijelölt szabálykészlet-verziót a vágólapra. | Másolat |
Illessze be a szabálykészlet egy verzióját és tartalmát egy kijelölt szabálykészletbe. | Paste |
Törölje a kijelölt szabálykészlet-verziót. | Törlés |
Törölje a kijelölt szabálykészletet és annak összes verzióját. | Törlés a szülő szabálykészlet szintjén |
Töltse be újra a kijelölt szabálykészlet verzióját és szabályait azzal a beállítással, hogy elveti az adott verzió aktuális módosításait, és visszaállítja a szabálytár tartalmát. | Újratöltés |
Mentse a kijelölt verzió és szabályai módosításait. | Mentés |
A szabálymotor-projekt használata előtt tesztelje a kiválasztott szabálykészlet-verziót. | Tesztszabályok halmaza |
Az alábbi táblázat egy szabálykészlet-verzió tulajdonságait ismerteti:
Tulajdonság | Érték |
---|---|
Név | A szabálykészlet neve. Megjegyzés: Ezt az értéket csak a szabálykészlet Név tulajdonságának frissítésével módosíthatja, nem pedig a szabálykészlet verziójával. |
Jelenlegi verzió | A Szabálykészlet-kezelőben jelenleg kijelölt szabálykészlet verziója. |
Fact Retriever | A szabálykészlet verziójának tények megadására szolgáló ténybeolvasás. A Microsoft Rules Composer támogatja a képesség összeállítását, és tényfeltáró használatával adja meg a tényeket. További információkért tekintse meg a következő dokumentációt: - Speciális feladatok végrehajtása szabálykészleteken - Ténykészítők és -lekérdezők létrehozása |
Végrehajtási ciklus maximális mélysége | A végrehajtási ciklus kivétele előtt a továbbítási láncoló algoritmus maximális mélysége. Az alapértelmezett hurokszám 65 536. |
Fordítás időtartama | A szabályok lefordításának maximális időtartama a fordítási időtúllépési kivétel kiírása előtt. Az alapértelmezett időtartam 60 000 ezredmásodperc. |
Fordító | A szabályok fordításához használni kívánt fordító. A Microsoft Rules Composer jelenleg csak az alapértelmezett beépített fordítót támogatja, de a bővíthetőséget is támogatja további fordítók hozzáadásához. |
Verzió leírása | Az aktuális verzió leírása. |
A szabálykészletek használatával kapcsolatos további információkért lásd : Speciális feladatok végrehajtása a szabálykészleteken.
A Microsoft Rules Composerben a Szabálytár menüben válassza a Betöltés lehetőséget.
Keresse meg és válassza ki a használni kívánt szabálytárolót tartalmazó XML-fájlt.
A RuleSet Explorer ablakban keresse meg azt a szabálykészlet-verziót, amelyhez szabályt szeretne hozzáadni.
Nyissa meg a szabálykészlet verziójának helyi menüjét, és válassza az Új szabály hozzáadása lehetőséget.
Megnyílik a szabályok szerkesztője, amely lehetővé teszi a feltételek és műveletek hozzáadását.
Az alábbi lista a szabályok módosításának módjait ismerteti:
Hozza létre a szabálykészlet új verzióját.
Meglévő szabálykészlet-verzió közvetlen szerkesztése. Módosíthatja az egyes szabályokat, új szabályokat adhat hozzá, vagy törölheti a meglévő szabályokat.
Az alábbi táblázat az összes Szabálykészlet-kezelő parancsot ismerteti, amellyel szabályokkal dolgozhat:
Task | Billentyűparancs parancs |
---|---|
Hozzon létre egy új szabályt a kijelölt szabálykészlet-verzióban. | Új szabály hozzáadása |
Másolja a kijelölt szabályt a vágólapra. | Másolat |
Másolja a kijelölt szabályt a vágólapra, és törölje a szabályt. | Cut |
Illessze be a szabályt a kijelölt szabálykészlet-verzióba. | Paste |
Törölje a kijelölt szabályt. | Törlés |
Az alábbi táblázat egy szabály tulajdonságait ismerteti:
Tulajdonság | Érték |
---|---|
Név | A szabály neve. |
Aktív | Azt jelzi, hogy a szabály engedélyezve vagy letiltva van-e. |
Priority (Prioritás) | A szabálykészleten belüli szabály prioritása. Minél magasabb az index, annál magasabb a szabály prioritása. A magasabb prioritású szabály műveletei futnak először. Az alapértelmezett érték 0, és közép prioritást jelöl. Az érték pozitív vagy negatív lehet. További információ: Szabálymotor-optimalizálás. |
Beállíthat egy szabályt inaktívra, hogy a szabálykészlet végrehajtásakor ne legyen végrehajtva, vagy újraaktiváljon egy inaktivált szabályt.
A Szabálykészlet-kezelőben válassza ki a szabályt.
A Tulajdonságok ablakban állítsa az Active tulajdonságot az alábbi értékek valamelyikére:
- Hamis: Letiltva
- Igaz: Engedélyezve
Beállíthatja egy szabály prioritását, hogy a műveletek egy másik prioritású szabály műveletei előtt vagy után fussanak. A prioritások relatívak, ezért egy adott prioritású szabály összes művelete sorrendben fut, mielőtt egy alacsonyabb prioritású szabály műveleteit végrehajtanák.
A Szabálykészlet-kezelőben válassza ki a szabályt.
A Tulajdonságok ablakban állítsa a prioritást a kívánt egész számra.
Egy szabályt aktiváló feltétel létrehozásához, szerkesztéséhez vagy megtekintéséhez használja a szabályszerkesztő részét képező feltételszerkesztőt. Feltétel létrehozásához a következő feladatokat végezheti el:
Adjon hozzá beépített vagy felhasználó által definiált predikátumokat, ha vannak ilyenek.
Az argumentumok predikátumokban való definiálásához húzza az elemeket a Ténytár ablakából.
Argumentumértékek beágyazott beírása argumentumhivatkozás kiválasztásával.
Predikátumok és logikai operátorok áthelyezése egy feltételen belül.
Megjegyzés
A predikátumok és a logikai operátorok megjelenési sorrendje nem határozza meg a kiértékelés sorrendjét.
Predikátumok és logikai operátorok törlése egy feltételből.
A Szabálykészlet-kezelőben válassza ki a szabályt.
A HA ablakban, amely a feltételek szerkesztője, nyissa meg a Feltételek helyi menüt, és válasszon az alábbiak közül:
Válasszon ki egy logikai operátort. Az operátor helyi menüjében adja hozzá a kiértékelni kívánt predikátumokat vagy beágyazott logikai operátorokat.
További információ a logikai operátorok beállításáról: Aritmetikai és logikai operátorok hozzáadása a szabályokhoz
A Predikátumok helyi menüjében válasszon egy beépített predikátumot vagy felhasználó által definiált predikátumot, ha van ilyen.
Az alábbi táblázatok a Predikátumok helyi menüiből kiválasztható predikátumkifejezéseket ismertetik:
Beépített predikátum Leírás Után Az időbeli predikátum, amely választ ad a kérdésre: "Idő1 időrendben időrendben idő2 után?" Előtt Az időbeli predikátum, amely választ ad a kérdésre: "Idő1 időrendben idő előtt2?" Között Az időbeli predikátum, amely a következő kérdésre ad választ: "Idő1 időrendben idő2 és idő3 között?" Egyenlő A relációs egyenlőség operátora. Létezik A létezési predikátum, amely a következő kérdésre válaszol: "Létezik a megadott XML-elem vagy attribútum?" GreaterThan Az operátornál nagyobb relációs érték. GreaterThanEqual Az operátornál nagyobb vagy egyenlő relációs érték. LessThan A relációs kisebb, mint az operátor. LessThanEqual Az operátornál kisebb vagy egyenlő relációs érték. Gyufa Annak meghatározása, hogy létezik-e reguláris kifejezés egy megadott bemeneti sztringben. NotEqual A relációs egyenlőtlenség operátora. Tartomány Annak meghatározása, hogy létezik-e érték egy tartományon belül.
Kövesse ezeket a lépéseket, amelyek megegyeznek egy művelet egy függvényével.
A feltételek szerkesztőjében hajtsa végre az alábbi lépések egyikét:
Húzza a logikai operátort vagy a predikátumot egy másik logikai operátorra vagy a Feltételek csomópontra.
Nyissa meg a logikai operátor vagy predikátum helyi menüjét, majd a Fel vagy a Le gombra kattintva helyezze át az elemet egy pozícióba vagy szintre.
Ha olyan műveletet szeretne létrehozni, szerkeszteni vagy megtekinteni, amely egy feltétel teljesülése esetén fut, használja a szabályszerkesztő részét képező műveletszerkesztőt. Művelet létrehozásához hajtsa végre a következő feladatokat:
- Beépített vagy felhasználó által definiált függvények hozzáadása, ha vannak ilyenek.
- Argumentumok definiálása függvényekben a Ténytár ablak elemeinek húzásával.
- Argumentumértékek beágyazott beírása argumentumhivatkozás kiválasztásával.
- Függvények áthelyezése egy műveleten belül.
A Szabálykészlet-kezelőben válassza ki a szabályt.
Az THEN ablakban, amely a műveletek szerkesztője, nyissa meg a Műveletek helyi menüt, és válasszon egy beépített függvényt egy művelet és argumentum hozzáadásához.
Az alábbi táblázat a Műveletek helyi menüből kiválasztható függvényeket ismerteti:
További információ: Szabályok optimalizálása vezérlőfüggvényekkel.
Kövesse ezeket a lépéseket, amelyek megegyeznek egy feltétel predikátumával.
A szabály műveletei a megadott sorrend alapján futnak, kivéve a szabálymotor vezérlőfüggvényeket, amelyek más műveleteket követően hajtanak végre.
- A Műveletek szerkesztőben nyissa meg a művelet helyi menüjét, majd a Fel vagy a Le gombra kattintva helyezze át a műveletet egy pozícióba vagy szintre.
A feltételek szerkesztőjében vagy a műveletek szerkesztőjében ennek megfelelően hajtsa végre az alábbi lépések egyikét:
A predikátumban vagy függvényben válassza ki az alapértelmezett argumentumot, és adja meg a kívánt értéket, vagy ha van, egy listából, ha van ilyen.
A Tényekkezelő ablakban jelölje ki azt a lapot, amely argumentumként használni kívánt kifejezést tartalmazza, és húzza a kifejezést az adott szerkesztő predikátumában vagy függvényében lévő argumentumra.
A kifejezésnek olyan típussal kell rendelkeznie, amelyet a predikátum vagy függvény elvár. Ellenkező esetben a rendszer hibaüzenetet küld.
Ha egy argumentumot üres sztringértékre szeretne cserélni, nyissa meg az argumentum helyi menüjét, és válassza a Beállítás üres sztringre lehetőséget.
Ha null állandó definícióra szeretne cserélni egy argumentumot, nyissa meg az argumentum helyi menüjét, és válassza a Beállítás null értékre lehetőséget.
Megjegyzés
Előfordulhat, hogy ez a beállítás nem jelenik meg, ha az argumentumtípus nem null értékű.
Ha számtani vagy logikai operátort szeretne hozzáadni egy argumentumhoz, olvassa el az Aritmetikai és logikai operátorok hozzáadása a szabályokhoz című témakört.
A feltételek vagy műveletek szerkesztője ennek megfelelően hajtsa végre az alábbi lépések egyikét:
Ha meg szeretné keresni a szókincsdefiníciót a Tényfeltáróban, amellyel feltételes predikátumot, műveletet vagy argumentumot használt, nyissa meg a predikátum, függvény vagy argumentum helyi menüjét, és válassza az Ugrás a szókincsre lehetőséget.
Ha meg szeretne keresni egy .NET-tagot vagy XML-elemet a Tényfeltáróban, amelyet egy feltételben, egy műveletben vagy argumentumban használt predikátum létrehozásához használt, nyissa meg a predikátum, függvény vagy argumentum helyi menüjét, és válassza az Ugrás a forrás tényére lehetőséget.
A feltételek szerkesztőjében hajtsa végre az alábbi lépések egyikét:
Jelölje ki az elemet, majd nyomja le a Delete billentyűt.
Jelölje ki az elemet, például egy predikátumot, logikai operátort vagy műveletet, és válassza az Elemtípus> törlése <lehetőséget.
Ha törölni szeretne egy argumentumot és a beágyazott argumentumokat, és visszaállítja az alapértelmezett definíciót, nyissa meg az argumentum helyi menüjét, és válassza az Argumentum alaphelyzetbe állítása lehetőséget.
Megadhatja az adatforrás-hivatkozásokat, amelyeket menthet a szabálytárban, hogy később tényként használhassa a szabályokat és a vokabulárokat. Megadhatja azokat a .NET-szerelvényeket, amelyek osztályokkal és osztálytagokkal vagy XSD-sémákkal rendelkeznek, amelyek XML-dokumentumelemekkel és attribútumokkal rendelkeznek.
Ha egy .NET-szerelvényből, XSD-sémából vagy szókészlet-definícióból már hozzáadott adatokat szeretne böngészni a Tények kezelőablakában, válassza a Vokabularies lapot, az XML-sémák lapot vagy a .NET-osztályok lapot a kívánt adatok helyétől függően.
Húzza az adatokat a megfelelő lapról arra a helyre, ahová a feltételek szerkesztőjében vagy a műveletek szerkesztőjében egy műveleten belül szeretne lenni.
A Tényekkezelő ablakban válassza a .NET-osztályok lapot.
Nyissa meg a .NET-szerelvények csomópont helyi menüjét, és válassza a Tallózás lehetőséget.
Keresse meg és nyissa meg a használni kívánt .NET-szerelvényt.
A .NET-szerelvények alatt a kijelölt szerelvény megjelenik az osztályaival és tagjaival együtt, például:
Fontos
Ha frissíti a .NET-szerelvényt a helyi könyvtárban, a Microsoft Rules Composer nem frissíti automatikusan a .NET-szerelvényt. A frissített szerelvényre mutató hivatkozások frissítésének lépéseit a .NET-szerelvényhivatkozások frissítése című témakörben találja.
Ha új .NET-szerelvényt ad hozzá, vagy másik névvel vagy verzióval, frissítenie kell a szabálykészletet, hogy hivatkozzon az új szerelvényre. Ehhez a feladathoz a Microsoft Rules Composerben létre kell hoznia egy új szabálykészlet-verziót, és frissítenie kell az új szerelvényre mutató hivatkozásokat, beleértve az osztályokat, metódusokat stb. A frissített szerelvény betöltéséhez indítsa újra a Microsoft Rules Composert.
Ha a frissített .NET-szerelvény ugyanazt a nevet, verziószámot és így tovább használja, csak az új szerelvényt kell hozzáadnia az Azure Logic Apps Szabálymotor-függvényprojektjéhez.
A Tényekkezelő ablakban válassza a .NET-osztályok lapot.
A .NET-szerelvények területen nyissa meg a szerelvény helyi menüjét, és válassza az Eltávolítás lehetőséget.
A Tényekkezelő ablakban válassza az XML-sémák lapot.
Nyissa meg a sémacsomópont helyi menüjét, és válassza a Tallózás lehetőséget.
A Sémafájlok mezőben keresse meg és válassza ki az XML-sémafájlt (.xsd), majd válassza a Megnyitás lehetőséget.
A Sémák területen az XML-séma az XML-elemekkel együtt jelenik meg, például:
Az üzleti szabályok keretrendszerében a TypedXmlDocument osztály egy Microsoft. NET-kompatibilis osztálytár, amely az XML-dokumentumtípust jelöli, és az ITypedFact interfészt megvalósító osztályok egyike. Ezeket az osztályokat gépelt tényeknek nevezzük.
Ha egy XML-dokumentumból származó csomópontot használ argumentumként egy szabályban, a rendszer két XPath-kifejezést hoz létre: egy választókötést és egy mezőkötést a használni kívánt csomópont alapján:
Ha a csomópont gyermekcsomópontokkal rendelkezik, a program létrehoz egy választókötést, más néven XmlDocument-kötést a csomóponthoz, de nem jön létre mezőkötés.
Ha a csomópont nem rendelkezik gyermekcsomópontokkal, a csomópont szülőcsomópontján létrejön egy választókötés, más néven XmlDocument-kötés . A rendszer létrehoz egy mezőkötést, más néven XmlDocumentMember kötést magának a csomópontnak. Ez a mezőkötés a választókötéshez képest van.
Mielőtt egy XML-csomópontot egy szabályargumentumba húz, módosíthatja az XML-csomópontok alapértelmezett XPath-kifejezéseit, és az új kötési információk bekerülnek a szabálykészletbe.
Megjegyzés
Amikor a séma újra betöltődik a Microsoft Rules Composerben, újra meg kell adnia a Microsoft Rules Composer XPath-kifejezéseiben végzett módosításokat.
Tegyük fel például, hogy a következő XML-sémával rendelkezik:
Ha egy argumentumban a Jövedelem csomópontot használja, a rendszer csak választókötést hoz létre, mert a csomópont gyermekcsomópontokkal rendelkezik.
A Tulajdonságok ablakban a csomópont XPath-választó tulajdonsága a következő alapértelmezett XPath-kifejezést tartalmazza:
/*[local-name()='Root' and namespace-uri()='http://LoansProcessor.Case']/*[local-name()='Income' and namespace-uri()='']
Ha a névcsomópontot egy argumentumban használja, létrejön egy választókötés és egy mezőkötés is.
A Tulajdonságok ablakban a csomópont kötési információi a következőkként jelennek meg:
Tulajdonság Érték XPath mező *[local-name()='Name' and namespace-uri()='']
XPath-választó /*[local-name()='Root' and namespace-uri()='http://LoansProcessor.Case']