Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: Azure Logic Apps (Használat)
Amikor az Azure Logic Appsben automatizált munkafolyamatokkal hoz létre vállalati integrációs megoldásokat, a mögöttes munkafolyamat-definíciók egyszerű és deklaratív JavaScript Object Notation (JSON) jelölést és a munkafolyamat-definíciós nyelv (WDL) sémát használnak a leírásukhoz és érvényesítésükhöz. Ezek a formátumok megkönnyítik a munkafolyamat-definíciók olvasását és megértését anélkül, hogy sokat tudnának a kódról. Ha automatizálni szeretné a logikai alkalmazás erőforrásainak létrehozását és üzembe helyezését, a munkafolyamat-definíciókat Azure-erőforrásokként is belefoglalhatja az Azure Resource Manager-sablonokba. A logikai alkalmazások létrehozásához, kezeléséhez és üzembe helyezéséhez ezután használhatja az Azure PowerShellt, az Azure CLI-t vagy az Azure Logic Apps REST API-kat.
A munkafolyamat-definíciók JSON-ban való használatához nyissa meg a kódnézet-szerkesztőt, amikor az Azure Portalon vagy a Visual Studio Code-ban dolgozik. A definíciót tetszőleges szerkesztőbe másolhatja és beillesztheti.
Feljegyzés
Egyes Azure Logic Apps-képességek, például paraméterek és több eseményindító definiálása a munkafolyamat-definíciókban, csak a JSON-ban érhetők el, a munkafolyamat-tervezőben nem. Ezekhez a feladatokhoz tehát kódnézetben vagy egy másik szerkesztőben kell dolgoznia.
JSON szerkesztése – Azure Portal
Az Azure Portal keresőmezőjében adja meg és válassza ki a logikai alkalmazásokat. A Logic Apps lapon válassza ki a használni kívánt logikai alkalmazás erőforrását.
A logikai alkalmazás menü Fejlesztési eszközök csoportjában válassza a Logikai alkalmazás kódnézetét.
Megnyílik a kódnézet-szerkesztő, és JSON formátumban jeleníti meg a logikai alkalmazás munkafolyamat-definícióját.
JSON szerkesztése – Visual Studio Code
Lásd: Üzembe helyezett logikai alkalmazás szerkesztése a Visual Studio Code-ban
JSON szerkesztése – Visual Studio
Fontos
Az Azure Logic Apps Tools for Visual Studio bővítmény elavult, és már nem kap frissítéseket. A logikaialkalmazás-munkafolyamatok helyi fejlesztési környezettel történő létrehozásához és kezeléséhez tekintse meg a következő dokumentációt:
Mielőtt használatalapú munkafolyamat-definíción dolgozhat a Visual Studióban, győződjön meg arról, hogy telepítette a szükséges eszközöket. A Visual Studióban megnyithatja a létrehozott és üzembe helyezett logikai alkalmazásokat közvetlenül az Azure Portalról, vagy Azure Resource Manager-projektként a Visual Studióból.
Nyissa meg a logikai alkalmazást tartalmazó Visual Studio-megoldást vagy Azure Resource Group-projektet .
Keresse meg és nyissa meg a munkafolyamat-definíciót, amely alapértelmezés szerint egy LogicApp.json nevű Resource Manager-sablonban jelenik meg.
Ezt a sablont különböző környezetekben való üzembe helyezéshez használhatja és testre szabhatja.
Nyissa meg a munkafolyamat-definíció és -sablon helyi menüjét. Válassza a lehetőséget az elem megnyitására a Logikaialkalmazás-tervezővel.
Tipp.
Ha nem rendelkezik ezzel a paranccsal a Visual Studio 2019-ben, győződjön meg arról, hogy rendelkezik a Visual Studio legújabb frissítésével.
A munkafolyamat-tervező alján válassza a Kódnézet lehetőséget.
Megnyílik a kódnézet-szerkesztő, és JSON formátumban jeleníti meg a munkafolyamat definícióját.
A tervező nézetre való visszatéréshez a kódnézet-szerkesztő alján válassza a Tervezés lehetőséget.
Paraméterek
Az üzembehelyezési életciklus általában különböző fejlesztési, tesztelési, előkészítési és éles környezetekkel rendelkezik. Ha olyan értékekkel rendelkezik, amelyeket újra fel szeretne használni a logikai alkalmazásban anélkül, hogy az üzembe helyezési igényektől függően változna, létrehozhat egy Azure Resource Manager-sablont a munkafolyamat-definícióhoz, hogy a logikai alkalmazások üzembe helyezését is automatizálhassa.
Ezeket az általános lépéseket követve paraméterezheti vagy definiálhatja és használhatja a paramétereket ezekhez az értékekhez. Ezután megadhatja az értékeket egy külön paraméterfájlban, amely átadja ezeket az értékeket a sablonnak. Így egyszerűbben módosíthatja ezeket az értékeket anélkül, hogy frissítenie kellene és újra kellene üzembe helyeznie a logikai alkalmazást. További részletekért lásd : Áttekintés: Logikai alkalmazások üzembe helyezésének automatizálása Azure Resource Manager-sablonokkal.
A sablonban definiáljon sablonparamétereket és munkafolyamat-definíciós paramétereket az üzembe helyezéskor és a futtatókörnyezetben használandó értékek elfogadásához.
A sablonparaméterek a munkafolyamat-definíción kívül eső paraméterek szakaszában vannak definiálva, míg a munkafolyamat-definícióban található paraméterek szakaszban vannak definiálva.
Cserélje le a rögzített értékeket azokra a kifejezésekre, amelyek ezekre a paraméterekre hivatkoznak. A sablonkifejezések a munkafolyamat-definíciós kifejezésektől eltérő szintaxist használnak.
Ne bonyolítsa a kódot úgy, hogy nem használ sablonkifejezéseket, amelyeket az üzembe helyezéskor kiértékel a rendszer a futtatókörnyezetben kiértékelt munkafolyamat-definíciós kifejezéseken belül. Csak a munkafolyamat-definíción kívüli sablonkifejezéseket használja. Csak munkafolyamat-definíciós kifejezéseket használjon a munkafolyamat-definícióban.
A munkafolyamat-definíciós paraméterek értékeinek megadásakor sablonparaméterekre hivatkozhat a munkafolyamat-definíción kívül eső, de a logikai alkalmazás erőforrásdefiníciójában lévő paraméterek szakaszával. Így sablonparaméter-értékeket adhat át a munkafolyamat-definíció paramétereinek.
A paraméterek értékeit egy külön paraméterfájlban tárolja, és az üzembe helyezéssel együtt foglalja bele a fájlt.
Függvényekkel rendelkező sztringek feldolgozása
Az Azure Logic Apps különböző függvényekkel rendelkezik a sztringek kezeléséhez. Tegyük fel például, hogy egy cégnevet szeretne átadni egy rendelésből egy másik rendszernek. Azonban nem biztos abban, hogy megfelelően kezeli a karakterkódolást. Ezen a sztringen elvégezheti a base64 kódolást, de az URL-címben való feloldás elkerülése érdekében több karaktert is lecserélhet. Emellett csak a cégnévhez kell alászúrni, mert az első öt karaktert nem használja a rendszer.
{
"$schema": "https://schema.management.azure.com/schemas/2016-06-01/Microsoft.Logic.json",
"contentVersion": "1.0.0.0",
"parameters": {
"order": {
"defaultValue": {
"quantity": 10,
"id": "myorder1",
"companyName": "NAME=Contoso"
},
"type": "Object"
}
},
"triggers": {
"request": {
"type": "Request",
"kind": "Http"
}
},
"actions": {
"order": {
"type": "Http",
"inputs": {
"method": "GET",
"uri": "https://www.example.com/?id=@{replace(replace(base64(substring(parameters('order').companyName,5,sub(length(parameters('order').companyName), 5) )),'+','-') ,'/' ,'_' )}"
}
}
},
"outputs": {}
}
Ezek a lépések bemutatják, hogyan dolgozza fel ez a példa ezt a sztringet belülről kívülre:
"uri": "https://www.example.com/?id=@{replace(replace(base64(substring(parameters('order').companyName,5,sub(length(parameters('order').companyName), 5) )),'+','-') ,'/' ,'_' )}"
Kérje le a
length()cég nevét, hogy megkapja a karakterek teljes számát.Rövidebb sztring lekéréséhez vonjon ki 5-öt.
Most szerezze be a
substring(). Kezdje az indexet5, és lépjen a sztring többi részéhez.Konvertálja ezt az alsztringet sztringgé
base64().Most
replace()az+összes karakter karakterrel-.replace()Végül az/összes karakter karakterrel_.
Listaelemek leképezése tulajdonságértékekre, majd térképek használata paraméterekként
Ha különböző eredményeket szeretne lekérni egy tulajdonság értéke alapján, létrehozhat egy olyan térképet, amely megfelelteti az egyes tulajdonságértékeket egy eredménynek, majd ezt a leképezést használja paraméterként.
Ez a munkafolyamat például paraméterekként definiál bizonyos kategóriákat, és egy térképet, amely megfelel ezeknek a kategóriáknak egy adott URL-címmel. Először a munkafolyamat lekéri a cikkek listáját. Ezután a munkafolyamat a térkép használatával megkeresi az egyes cikkek kategóriáinak megfelelő URL-címet.
A
intersection()függvény ellenőrzi, hogy a kategória megfelel-e egy ismert definiált kategóriának.Miután a példa egyező kategóriát kap, a példa szögletes zárójelek használatával lekéri az elemet a térképről:
parameters[...]
{
"$schema": "https://schema.management.azure.com/schemas/2016-06-01/Microsoft.Logic.json",
"contentVersion": "1.0.0.0",
"parameters": {
"specialCategories": {
"defaultValue": [
"science",
"google",
"microsoft",
"robots",
"NSA"
],
"type": "Array"
},
"destinationMap": {
"defaultValue": {
"science": "https://www.nasa.gov",
"microsoft": "https://www.microsoft.com/en-us/default.aspx",
"google": "https://www.google.com",
"robots": "https://en.wikipedia.org/wiki/Robot",
"NSA": "https://www.nsa.gov/"
},
"type": "Object"
}
},
"triggers": {
"Request": {
"type": "Request",
"kind": "http"
}
},
"actions": {
"getArticles": {
"type": "Http",
"inputs": {
"method": "GET",
"uri": "https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=https://feeds.wired.com/wired/index"
}
},
"forEachArticle": {
"type": "foreach",
"foreach": "@body('getArticles').responseData.feed.entries",
"actions": {
"ifGreater": {
"type": "if",
"expression": "@greater(length(intersection(item().categories, parameters('specialCategories'))), 0)",
"actions": {
"getSpecialPage": {
"type": "Http",
"inputs": {
"method": "GET",
"uri": "@parameters('destinationMap')[first(intersection(item().categories, parameters('specialCategories')))]"
}
}
}
}
},
"runAfter": {
"getArticles": [
"Succeeded"
]
}
}
}
}
Adatok lekérése a Date függvényekkel
Ha olyan adatforrásból szeretne adatokat lekérni, amely nem támogatja natívan az eseményindítókat, a Date függvényekkel dolgozhat az időkkel és a dátumokkal. Ez a kifejezés például azt határozza meg, hogy a munkafolyamat lépései mennyi ideig tartanak, belülről kívülre haladva:
"expression": "@less(actions('order').startTime,addseconds(utcNow(),-1))",
A műveletből
orderbontsa ki astartTime.A függvény aktuális idejének lekérése
utcNow().Kivonás egy másodperccel:
addSeconds(..., -1)Más időegységeket is használhat, például
minutesa .hoursMost összehasonlíthatja ezt a két értéket.
Ha az első érték kisebb, mint a második érték, akkor a rendelés első elhelyezése óta több mint egy másodperc telt el.
A dátumok formázásához használhat sztringformaírókat. Például a RFC1123 lekéréséhez használja a következőt utcnow('r'): . További információ a dátumformázásról.
{
"$schema": "https://schema.management.azure.com/schemas/2016-06-01/Microsoft.Logic.json",
"contentVersion": "1.0.0.0",
"parameters": {
"order": {
"defaultValue": {
"quantity": 10,
"id": "myorder-id"
},
"type": "Object"
}
},
"triggers": {
"Request": {
"type": "request",
"kind": "http"
}
},
"actions": {
"order": {
"type": "Http",
"inputs": {
"method": "GET",
"uri": "https://www.example.com/?id=@{parameters('order').id}"
}
},
"ifTimingWarning": {
"type": "If",
"expression": "@less(actions('order').startTime,addseconds(utcNow(),-1))",
"actions": {
"timingWarning": {
"type": "Http",
"inputs": {
"method": "GET",
"uri": "https://www.example.com/?recordLongOrderTime=@{parameters('order').id}¤tTime=@{utcNow('r')}"
}
}
},
"runAfter": {
"order": [
"Succeeded"
]
}
}
},
"outputs": {}
}
Kapcsolódó tartalom
- Lépések futtatása feltétel alapján (feltételes utasítások)
- Lépések futtatása különböző értékek alapján (kapcsoló utasítások)
- Lépések futtatása és ismétlése (hurkok)
- Párhuzamos lépések (ágak) futtatása vagy egyesítése
- Lépések futtatása csoportosított műveletállapot (hatókörök) alapján
- Munkafolyamat-definíciós nyelvi séma az Azure Logic Appshez
- Munkafolyamat-műveletek és eseményindítók az Azure Logic Appshez