esemény
Intelligens alkalmazások létrehozása
márc. 17. 21 - márc. 21. 10
Csatlakozzon a meetup sorozathoz, hogy valós használati esetek alapján, skálázható AI-megoldásokat hozzon létre más fejlesztőkkel és szakértőkkel.
RegisztrációEzt a böngészőt már nem támogatjuk.
Frissítsen a Microsoft Edge-re, hogy kihasználhassa a legújabb funkciókat, a biztonsági frissítéseket és a technikai támogatást.
A következőkre vonatkozik: Azure Logic Apps (Használat + Standard)
A különböző tartalomtípusok egy logikai alkalmazáson keresztül áramolhatnak, például JSON-, XML-, egybesimított fájlok és bináris adatok. Bár a Logic Apps minden tartalomtípust támogat, vannak, amelyek natív támogatással rendelkeznek, és nem igényelnek öntést vagy átalakítást a logikai alkalmazásokban. Más típusok szükség esetén szükség esetén öntést vagy átalakítást igényelhetnek. Ez a cikk azt ismerteti, hogyan kezeli a Logic Apps a tartalomtípusokat, és hogy szükség esetén hogyan lehet helyesen leadni vagy átalakítani ezeket a típusokat.
A tartalomtípusok kezelésének megfelelő módjának meghatározásához a Logic Apps a Content-Type
HTTP-hívások fejlécértékére támaszkodik, például:
A Logic Apps JavaScript Object Notation (JSON) objektumként tárolja és kezeli az alkalmazás/json tartalomtípusú kéréseket.
Alapértelmezés szerint a JSON-tartalmat öntés nélkül is elemezheti.
Az "application/json" tartalomtípusú fejlécet tartalmazó kérések elemzéséhez használhat kifejezéseket. Ez a példa a tömb értékét dog
animal-type
adja vissza öntés nélkül:
@body('myAction')['client']['animal-type'][0]
{
"client": {
"name": "Fido",
"animal-type": [ "dog", "cat", "rabbit", "snake" ]
}
}
Ha olyan JSON-adatokkal dolgozik, amelyek nem adnak meg fejlécet, manuálisan is átadhatja az adatokat a JSON() függvény használatával, például:
@json(triggerBody())['client']['animal-type']
A Logic Apps lehetővé teszi, hogy felhasználóbarát jogkivonatokat hozzon létre, amelyek a JSON-tartalom tulajdonságait képviselik, így könnyebben hivatkozhat és használhatja ezeket a tulajdonságokat a logikai alkalmazás munkafolyamatában.
Kérelem eseményindítója
Ha ezt az eseményindítót használja a Logic App Designerben, megadhat egy JSON-sémát, amely leírja a várt hasznos adatokat. A tervező ezzel a sémával elemzi a JSON-tartalmat, és felhasználóbarát jogkivonatokat hoz létre, amelyek a JSON-tartalom tulajdonságait képviselik. Ezután egyszerűen hivatkozhat és használhatja ezeket a tulajdonságokat a logikai alkalmazás munkafolyamatában.
Ha nem rendelkezik sémával, létrehozhatja a sémát.
A Kérelem eseményindítóban válassza a Minta hasznos adat használata séma létrehozásához lehetőséget.
Az Enter vagy a illessze be a JSON-minta hasznos adatait, adjon meg egy hasznos adatmintát, majd válassza a Kész lehetőséget. Példa:
A létrehozott séma most megjelenik az eseményindítóban.
A Kódnézet-szerkesztőben a Kérelem eseményindítójának mögöttes definíciója a következő:
"triggers": {
"manual": {
"type": "Request",
"kind": "Http",
"inputs": {
"schema": {
"type": "object",
"properties": {
"client": {
"type": "object",
"properties": {
"animal-type": {
"type": "array",
"items": {
"type": "string"
},
},
"name": {
"type": "string"
}
}
}
}
}
}
}
}
Az ügyfélalkalmazás által az Azure Logic Appsnek küldött HTTP-kérelemben győződjön meg arról, hogy tartalmaz egy Content-Type nevű fejlécet, és állítsa be a fejléc értékét application/json értékre.
JSON-művelet elemzése
Ha ezt a műveletet a Logic App Designerben használja, elemezheti a JSON-kimenetet, és létrehozhat felhasználóbarát jogkivonatokat, amelyek a JSON-tartalom tulajdonságait képviselik. Ezután egyszerűen hivatkozhat és használhatja ezeket a tulajdonságokat a logikai alkalmazás munkafolyamatában. A Kérelem eseményindítóhoz hasonlóan olyan JSON-sémát is megadhat vagy hozhat létre, amely leírja az elemezni kívánt JSON-tartalmat. Így egyszerűbben használhat fel adatokat az Azure Service Busból, az Azure Cosmos DB-ből stb.
Amikor a logikai alkalmazás olyan HTTP-üzeneteket fogad, amelyek fejléce be van Content-Type
állítva text/plain
, a logikai alkalmazás nyers formában tárolja ezeket az üzeneteket.
Ha ezeket az üzeneteket a későbbi műveletekbe öntés nélkül is belefoglalja, a kérések a fejlécben a Content-Type
következőre text/plain
vannak állítva: .
Ha például egy sima fájllal dolgozik, előfordulhat, hogy a Content-Type
fejléc tartalomtípusra text/plain
van állítva:
Date,Name,Address
Oct-1,Frank,123 Ave
Ha ezt a kérést egy későbbi műveletben küldi el egy másik kérés törzseként, például a @body('flatfile')
második kéréshez egy fejléc is Content-Type
be van állítva text/plain
. Ha egyszerű szöveges adatokkal dolgozik, de nem adott meg fejlécet, manuálisan is átadhatja az adatokat a szövegbe a sztring() függvénnyel , például a következő kifejezéssel:
@string(triggerBody())
A Logic Apps mindig megőrzi a Content-Type
kapott HTTP-kérést vagy -választ.
Ha tehát a logikai alkalmazás olyan tartalmat fogad, amelynek Content-Type
a beállítása be van állítva application/octet-stream
, és ezt a tartalmat egy későbbi műveletbe is belefoglalja, akkor a kimenő kérés is be van Content-Type
állítva application/octet-stream
.
Így a Logic Apps garantálhatja, hogy az adatok ne vesszenek el a munkafolyamatban való áthaladás során.
A műveletállapot, illetve a bemenetek és kimenetek azonban egy JSON-objektumban vannak tárolva, miközben az állapot végighalad a munkafolyamaton.
Egyes adattípusok megőrzése érdekében a Logic Apps bináris base64-kódolású sztringgé alakítja a tartalmat megfelelő metaadatokkal, amelyek megőrzik a $content
hasznos adatokat és az $content-type
automatikusan konvertált adatokat.
Ez a lista azt ismerteti, hogyan konvertálja a Logic Apps a tartalmakat az alábbi függvények használatakor:
json()
: Adatokat ad át a következőre: application/json
xml()
: Adatokat ad át a következőre: application/xml
binary()
: Adatokat ad át a következőre: application/octet-stream
string()
: Adatokat ad át a következőre: text/plain
base64()
: A tartalmat base64 kódolású sztringgé alakítjabase64toString()
: Alap64 kódolású sztring konvertálása text/plain
base64toBinary()
: Alap64 kódolású sztring konvertálása application/octet-stream
dataUri()
: Sztring átalakítása adat URI-vádataUriToBinary()
: Adat URI-t bináris sztringgé alakít átdataUriToString()
: Adat-URI-t sztringgé alakít átHa például egy HTTP-kérést kap, amelynek Content-Type
a beállítása a következőre van állítva application/xml
, például a következő tartalomra:
<?xml version="1.0" encoding="UTF-8" ?>
<CustomerName>Frank</CustomerName>
Ezt a tartalmat a kifejezés és triggerBody()
a @xml(triggerBody())
xml()
függvények használatával vetheti el, majd később használhatja ezt a tartalmat. Vagy használhatja a @xpath(xml(triggerBody()), '/CustomerName')
kifejezést a és xml()
a xpath()
függvényekkel.
A Logic Apps más tartalomtípusokkal is együttműködik, de előfordulhat, hogy manuálisan kell lekérni az üzenet törzsét a $content
változó dekódolásával.
Tegyük fel például, hogy a logikai alkalmazást egy tartalomtípusú application/x-www-url-formencoded
kérés aktiválja.
Az összes adat megőrzése érdekében a $content
kérelem törzsében lévő változó hasznos adatokkal rendelkezik, amelyek base64 sztringként vannak kódolva:
CustomerName=Frank&Address=123+Avenue
Mivel a kérés nem egyszerű szöveg vagy JSON, a kérés a műveletben az alábbiak szerint lesz tárolva:
"body": {
"$content-type": "application/x-www-url-formencoded",
"$content": "AAB1241BACDFA=="
}
A Logic Apps natív függvényeket biztosít az űrlapadatok kezeléséhez, például:
Vagy manuálisan is hozzáférhet az adatokhoz az alábbi példához hasonló kifejezéssel:
@string(body('formdataAction'))
Ha azt szeretné, hogy a kimenő kérés ugyanazzal application/x-www-url-formencoded
a tartalomtípus-fejléccel rendelkezzen, a kérést a művelet törzsébe öntés nélkül is hozzáadhatja egy olyan kifejezéssel, mint a @body('formdataAction')
.
Ez a módszer azonban csak akkor működik, ha a szövegtörzs az egyetlen paraméter a body
bemenetben. Ha egy kérésben application/json
megpróbálja használni a @body('formdataAction')
kifejezést, futásidejű hibaüzenet jelenik meg, mert a rendszer kódolva küldi el a törzset.
esemény
Intelligens alkalmazások létrehozása
márc. 17. 21 - márc. 21. 10
Csatlakozzon a meetup sorozathoz, hogy valós használati esetek alapján, skálázható AI-megoldásokat hozzon létre más fejlesztőkkel és szakértőkkel.
RegisztrációOktatás
Modul
Adattípusok konvertálása explicit és implicit típuskonverziós technikákkal a C#-ban - Training
Ismerkedjen meg a C#-technikákkal a leadások és átalakítások esetében.