Az első tartós függvény létrehozása C# nyelven
A Durable Functions az Azure Functions bővítménye, amellyel állapotalapú függvényeket írhat kiszolgáló nélküli környezetben. A bővítmény automatikusan kezeli az állapotokat, az ellenőrzőpontokat és az újraindításokat.
Ebben a cikkben megtudhatja, hogyan használhatja a Visual Studio Code-ot egy "hello world" tartós függvény helyi létrehozására és tesztelésére. Ez a függvény más függvények hívásait vezénylik és láncolják. Ezután közzéteheti a függvénykódot az Azure-ban. Ezek az eszközök a Visual Studio Code Azure Functions bővítmény részeként érhetők el.
Előfeltételek
Az oktatóanyag elvégzéséhez:
A Visual Studio Code telepítése.
Telepítse a következő Visual Studio Code-bővítményeket:
Győződjön meg arról, hogy az Azure Functions Core Tools legújabb verziójával rendelkezik.
A Durable Functions használatához Azure Storage-fiók szükséges. Azure-előfizetésre van szüksége.
Győződjön meg arról, hogy telepítve van a .NET Core SDK 3.1-es vagy újabb verziója.
Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
Helyi projekt létrehozása
Ebben a szakaszban a Visual Studio Code használatával hoz létre egy helyi Azure Functions-projektet.
A Visual Studio Code-ban nyomja le az F1 (vagy Ctrl/Cmd+Shift+P) billentyűkombinációt a parancskatalógus megnyitásához. A parancskatalógusban keresse meg és válassza ki a kívánt parancsot
Azure Functions: Create New Project...
.Válasszon egy üres mappahelyet a projekthez, és válassza a Kiválasztás lehetőséget.
Kövesse az utasításokat, és adja meg a következő információkat:
Adatkérés Érték Leírás Nyelv kiválasztása a függvényalkalmazás-projekthez C# Hozzon létre egy helyi C# Functions-projektet. Verzió kiválasztása Azure Functions v4 Ez a beállítás csak akkor jelenik meg, ha a Core Tools még nincs telepítve. Ebben az esetben a Core Tools az alkalmazás első futtatásakor lesz telepítve. Sablon kiválasztása a projekt első függvényéhez Kihagyás Válassza ki, hogyan szeretné megnyitni a projektet Megnyitás az aktuális ablakban Újra megnyitja a Visual Studio Code-ot a kiválasztott mappában.
A Visual Studio Code szükség esetén telepíti az Azure Functions Core Toolst. Emellett létrehoz egy függvényalkalmazás-projektet egy mappában. Ez a projekt tartalmazza a host.json és local.settings.json konfigurációs fájlokat.
Függvények hozzáadása az alkalmazáshoz
Az alábbi lépések egy sablon használatával hozzák létre a tartós függvénykódot a projektben.
A parancskatalógusban keresse meg és válassza ki a kívánt parancsot
Azure Functions: Create Function...
.Kövesse az utasításokat, és adja meg a következő információkat:
Adatkérés Érték Leírás Sablon kiválasztása a függvényhez DurableFunctionsOrchestration Durable Functions-vezénylés létrehozása Függvénynév megadása HelloOrchestration Annak az osztálynak a neve, amelyben a függvények létrejönnek Névtér megadása Company.Function A létrehozott osztály névtere Amikor a Visual Studio Code kéri, hogy válasszon ki egy tárfiókot, válassza a Tárfiók kiválasztása lehetőséget. Kövesse az utasításokat, és adja meg a következő információkat egy új tárfiók azure-beli létrehozásához:
Adatkérés Érték Leírás Előfizetés kiválasztása az előfizetés neve Válassza ki az Azure-előfizetését Tárfiók kiválasztása Új tárfiók létrehozása Adja meg az új tárfiók nevét egyedi név A létrehozandó tárfiók neve Erőforráscsoport kiválasztása egyedi név A létrehozandó erőforráscsoport neve Hely kiválasztása Régió Válasszon egy Önhöz közeli régiót
A program hozzáad egy új függvényeket tartalmazó osztályt a projekthez. A Visual Studio Code emellett hozzáadja a tárfiók kapcsolati sztring local.settings.json és a Microsoft.Azure.WebJobs.Extensions.DurableTask
NuGet-csomagra mutató hivatkozást a .csproj projektfájlhoz.
Nyissa meg az új HelloOrchestration.cs fájlt a tartalom megtekintéséhez. Ez a tartós függvény egy egyszerű függvényláncoló példa az alábbi módszerekkel:
Metódus | FunctionName | Leírás |
---|---|---|
RunOrchestrator |
HelloOrchestration |
Kezeli a tartós vezénylést. Ebben az esetben a vezénylés elindul, létrehoz egy listát, és hozzáadja a listához három függvényhívás eredményét. Ha a három függvényhívás befejeződött, visszaadja a listát. |
SayHello |
HelloOrchestration_Hello |
A függvény egy hello-t ad vissza. Ez a függvény tartalmazza a vezénylés alatt álló üzleti logikát. |
HttpStart |
HelloOrchestration_HttpStart |
EGY HTTP-aktivált függvény , amely elindítja a vezénylés egy példányát, és egy ellenőrző állapotválaszt ad vissza. |
Most, hogy létrehozta a függvényprojektet és egy tartós függvényt, tesztelheti a helyi számítógépen.
A függvény helyi tesztelése
Az Azure Functions Core Tools lehetővé teszi Azure Functions-projektek helyi fejlesztői számítógépen való futtatását. Amikor a Visual Studio Code-ból először indít el egy függvényt, a rendszer arra kéri, hogy telepítse ezeket az eszközöket.
A függvény teszteléséhez állítson be egy töréspontot a
SayHello
tevékenységfüggvény kódjában, és nyomja le az F5 billentyűt a függvényalkalmazás-projekt elindításához. A Core Tools kimenete a Terminal (Terminál) panelen jelenik meg.Feljegyzés
További információ a hibakeresésről: Durable Functions Diagnostics.
A Terminal (Terminál) panelen másolja a vágólapra a HTTP által indított függvény URL-végpontját.
Használjon olyan eszközt, mint a Postman vagy a cURL, majd küldjön egy HTTP POST-kérést az URL-végpontnak.
A válasz a HTTP-függvény kezdeti eredménye, amely tudatja velünk, hogy a tartós vezénylés sikeresen elindult. Még nem ez a vezénylés végeredménye. A válasz tartalmaz néhány hasznos URL-címet. Egyelőre kérdezzük le a vezénylés állapotát.
Másolja ki a cél URL-címét
statusQueryGetUri
, illessze be a böngésző címsorába, és hajtsa végre a kérést. Másik lehetőségként továbbra is használhatja a Postmant a GET kérés kiadásához.A kérés lekérdezi az állapot vezénylési példányát. Egy végleges választ kell kapnia, amely megmutatja, hogy a példány befejeződött, és tartalmazza a tartós függvény kimeneteit vagy eredményeit. A következőképpen néz ki:
{ "name": "HelloOrchestration", "instanceId": "9a528a9e926f4b46b7d3deaa134b7e8a", "runtimeStatus": "Completed", "input": null, "customStatus": null, "output": [ "Hello Tokyo!", "Hello Seattle!", "Hello London!" ], "createdTime": "2020-03-18T21:54:49Z", "lastUpdatedTime": "2020-03-18T21:54:54Z" }
A hibakeresés leállításához nyomja le a Shift + F5 billentyűkombinációt a Visual Studio Code-ban.
Miután ellenőrizte, hogy a függvény megfelelően fut a helyi számítógépen, tegye közzé a projektet az Azure-ban.
Bejelentkezés az Azure-ba
Az Azure-erőforrások létrehozása vagy az alkalmazás közzététele előtt be kell jelentkeznie az Azure-ba.
Ha még nincs bejelentkezve, válassza az Azure ikont a Tevékenységsávon. Ezután az Erőforrások területen válassza a Bejelentkezés az Azure-ba... lehetőséget.
Ha már bejelentkezett, és láthatja a meglévő előfizetéseit, lépjen a következő szakaszra. Ha még nem rendelkezik Azure-fiókkal, válassza az Azure-fiók létrehozása...lehetőséget. A diákok választhatják az Azure for Students-fiók létrehozását....
Amikor a rendszer kéri a böngészőben, válassza ki az Azure-fiókját, és jelentkezzen be az Azure-fiók hitelesítő adataival. Ha új fiókot hoz létre, a fiók létrehozása után bejelentkezhet.
Miután sikeresen bejelentkezett, bezárhatja az új böngészőablakot. Az Azure-fiókhoz tartozó előfizetések az oldalsávon jelennek meg.
A függvényalkalmazás létrehozása az Azure-ban
Ebben a szakaszban egy függvényalkalmazást és kapcsolódó erőforrásokat hoz létre az Azure-előfizetésében.
Válassza az Azure ikont a Tevékenységsávon. Ezután az Erőforrások területen válassza az ikont + , és válassza a Függvényalkalmazás létrehozása az Azure-ban lehetőséget.
Amikor a rendszer kéri, adja meg az alábbi információkat:
A bővítmény az egyes erőforrások állapotát jeleníti meg az Azure-ban az Azure: Tevékenységnapló panelen való létrehozásuk során.
Amikor a létrehozás befejeződött, a következő Azure-erőforrások jönnek létre az előfizetésben. Az erőforrások neve a függvényalkalmazás neve alapján van elnevezve:
- Egy erőforráscsoport, amely a kapcsolódó erőforrások logikai tárolója.
- Egy standard Azure Storage-fiók, amely fenntartja a projektek állapotát és egyéb adatait.
- Egy függvényalkalmazás, amely a függvénykód végrehajtásához biztosítja a környezetet. A függvényalkalmazásokkal logikai egységként csoportosíthatja a függvényeket az erőforrások egyszerűbb kezelése, üzembe helyezése és megosztása érdekében ugyanabban az üzemeltetési csomagban.
- App Service-csomag, amely meghatározza a függvényalkalmazás mögöttes gazdagépét.
- Egy alkalmazás Elemzések függvényalkalmazáshoz csatlakoztatott példányt, amely nyomon követi a függvények használatát az alkalmazásban.
A függvényalkalmazás létrehozása és a telepítőcsomag alkalmazása után megjelenik egy értesítés.
Tipp.
Alapértelmezés szerint a függvényalkalmazás által igényelt Azure-erőforrások a megadott függvényalkalmazás-név alapján jönnek létre. Alapértelmezés szerint ugyanabban az új erőforráscsoportban is létrejönnek a függvényalkalmazással. Ha testre szeretné szabni ezeknek az erőforrásoknak a nevét, vagy újra szeretné használni a meglévő erőforrásokat, akkor inkább speciális létrehozási lehetőségekkel kell közzétennie a projektet.
A projekt központi telepítése az Azure-ban
Fontos
A meglévő függvényalkalmazásban való üzembe helyezés mindig felülírja az alkalmazás tartalmát az Azure-ban.
Az Azure-tevékenység Erőforrások területén keresse meg az imént létrehozott függvényalkalmazás-erőforrást, kattintson a jobb gombbal az erőforrásra, és válassza az Üzembe helyezés függvényalkalmazáshoz... lehetőséget.
Amikor a rendszer kéri a korábbi üzemelő példányok felülírását, válassza az Üzembe helyezés lehetőséget a függvénykód új függvényalkalmazás-erőforrásban való üzembe helyezéséhez.
Az üzembe helyezés befejezése után válassza a Kimenet megtekintése lehetőséget a létrehozási és üzembe helyezési eredmények megtekintéséhez, beleértve a létrehozott Azure-erőforrásokat is. Ha nem jelenik meg az értesítés, a jobb alsó sarokban lévő harang ikont választva ismét láthatja.
A függvény tesztelése az Azure-ban
Másolja a vágólapra a HTTP-eseményindító URL-címét az Output (Kimenet) panelről. A HTTP-aktivált függvényt meghívó URL-címnek a következő formátumban kell lennie:
https://<functionappname>.azurewebsites.net/api/HelloOrchestration_HttpStart
Illessze be a HTTP-kérelem új URL-címét a böngésző címsorába. A közzétett alkalmazás használatakor ugyanazt az állapotválaszt kell kapnia, mint korábban.
Következő lépések
A Visual Studio Code használatával létrehozott és közzétett egy C# tartós függvényalkalmazást.
Ebből a cikkből megtudhatja, hogyan hozhat létre és tesztelhet helyileg egy "hello world" tartós függvényt a Visual Studio 2022 használatával. Ez a függvény más függvények vezénylésére és összefűzésére irányuló hívásokat szervez. Ezután közzéteheti a függvénykódot az Azure-ban. Ezek az eszközök a Visual Studio 2022 Azure-fejlesztési számítási feladatainak részeként érhetők el.
Előfeltételek
Az oktatóanyag elvégzéséhez:
Telepítse a Visual Studio 2022-t. Győződjön meg arról, hogy az Azure fejlesztési számítási feladatai is telepítve vannak. A Visual Studio 2019 támogatja a Durable Functions fejlesztését is, de a felhasználói felület és a lépések eltérnek egymástól.
Ellenőrizze, hogy telepítette és futtatta-e az Azurite Emulatort .
Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
Függvényalkalmazás-projekt létrehozása
Az Azure Functions-sablon létrehoz egy projektet, amely közzétehető egy azure-beli függvényalkalmazásban. A függvényalkalmazásokkal logikai egységként csoportosíthatja a függvényeket az erőforrások egyszerűbb kezelése, üzembe helyezése, skálázása és megosztása érdekében.
A Visual Studio Fájl menüjében válassza az Új>Projekt lehetőséget.
Az Új projekt létrehozása párbeszédpanelen keressen rá
functions
, válassza ki az Azure Functions-sablont, majd válassza a Tovább gombot.Adja meg a projekt projektnevét , és válassza az OK gombot. A projektnévnek C# névtérként kell érvényesnek lennie, ezért ne használjon aláhúzásjeleket, kötőjeleket vagy nonalphanumerikus karaktereket.
A További információk területen használja a rendszerképet követő táblázatban megadott beállításokat.
Beállítás Ajánlott érték Leírás Függvények feldolgozója .NET 6 Létrehoz egy függvényprojektet, amely támogatja a .NET 6-ot és az Azure Functions Runtime 4.0-t. További információ: Azure Functions futtatókörnyezet-verzió megcélzása. Függvény Üres Üres függvényalkalmazást hoz létre. Storage-fiók Storage Emulator A tartós függvényállapot-kezeléshez tárfiókra van szükség. Üres függvényprojekt létrehozásához válassza a Létrehozás lehetőséget. Ez a projekt tartalmazza a függvények futtatásához szükséges alapvető konfigurációs fájlokat.
Függvények hozzáadása az alkalmazáshoz
Az alábbi lépések egy sablon használatával hozzák létre a tartós függvénykódot a projektben.
Kattintson a jobb gombbal a projektre a Visual Studióban, és válassza az Új Azure-függvény hozzáadása>lehetőséget.
Ellenőrizze, hogy az Azure-függvény ki van-e választva a Hozzáadás menüből, adja meg a C# fájl nevét, majd válassza a Hozzáadás lehetőséget.
Válassza ki a Durable Functions Vezénylési sablont , majd válassza a Hozzáadás lehetőséget.
A rendszer új tartós függvényt ad hozzá az alkalmazáshoz. Nyissa meg az új .cs fájlt a tartalom megtekintéséhez. Ez a tartós függvény egy egyszerű függvényláncoló példa az alábbi módszerekkel:
Metódus | FunctionName | Leírás |
---|---|---|
RunOrchestrator |
<file-name> |
Kezeli a tartós vezénylést. Ebben az esetben a vezénylés elindul, létrehoz egy listát, és hozzáadja a listához három függvényhívás eredményét. Ha a három függvényhívás befejeződött, visszaadja a listát. |
SayHello |
<file-name>_Hello |
A függvény egy hello-t ad vissza. Ez a függvény tartalmazza a vezénylés alatt álló üzleti logikát. |
HttpStart |
<file-name>_HttpStart |
EGY HTTP-aktivált függvény , amely elindítja a vezénylés egy példányát, és egy ellenőrző állapotválaszt ad vissza. |
Most, hogy létrehozta a függvényprojektet és egy tartós függvényt, tesztelheti a helyi számítógépen.
A függvény helyi tesztelése
Az Azure Functions Core Tools lehetővé teszi Azure Functions-projektek helyi fejlesztői számítógépen való futtatását. A rendszer arra kéri, hogy telepítse ezeket az eszközöket, amikor először indít el egy függvényt a Visual Studióból.
A függvény teszteléséhez nyomja le az F5 billentyűt. Ha a rendszer kéri, fogadja el a Visual Studio kérését az Azure Functions Core (CLI) eszközök telepítéséhez. Lehet, hogy egy tűzfalkivételt is engedélyeznie kell, hogy az eszközök kezelhessék a HTTP-kéréseket.
Másolja a függvény URL-címét az Azure-függvény futtatókörnyezetéből.
Illessze be a HTTP-kérés URL-címét a böngésző címsorába, és hajtsa végre a kérést. Az alábbiakban látható a böngészőben a helyi GET kérelemre a függvény által visszaadott válasz:
A válasz a HTTP-függvény kezdeti eredménye, amely tudatja velünk, hogy a tartós vezénylés sikeresen elindult. Még nem ez a vezénylés végeredménye. A válasz tartalmaz néhány hasznos URL-címet. Egyelőre kérdezzük le a vezénylés állapotát.
Másolja ki a cél URL-címét
statusQueryGetUri
, illessze be a böngésző címsorába, és hajtsa végre a kérést.A kérés lekérdezi az állapot vezénylési példányát. A következőhöz hasonló végső választ kell kapnia. Ez a kimenet azt mutatja, hogy a példány befejeződött, és tartalmazza a tartós függvény kimeneteit vagy eredményeit.
{ "name": "Durable", "instanceId": "d495cb0ac10d4e13b22729c37e335190", "runtimeStatus": "Completed", "input": null, "customStatus": null, "output": [ "Hello Tokyo!", "Hello Seattle!", "Hello London!" ], "createdTime": "2019-11-02T07:07:40Z", "lastUpdatedTime": "2019-11-02T07:07:52Z" }
A hibakeresés leállításához nyomja le a Shift + F5 billentyűkombinációt.
Miután ellenőrizte, hogy a függvény megfelelően fut a helyi számítógépen, tegye közzé a projektet az Azure-ban.
A projekt közzététele az Azure-ban
A projekt közzététele előtt rendelkeznie kell egy függvényalkalmazással az Azure-előfizetésben. Közvetlenül a Visual Studióból is létrehozhat függvényalkalmazást.
A Megoldáskezelőben kattintson a jobb gombbal a projektre, és válassza a Publish (Közzététel) lehetőséget. A Cél területen válassza az Azure , majd a Tovább lehetőséget.
Válassza az Adott célhoz tartozó Azure-függvényalkalmazást (Windows), amely létrehoz egy Windowson futó függvényalkalmazást, majd válassza a Tovább lehetőséget.
A függvénypéldányban válassza az Új Azure-függvény létrehozása...
Hozzon létre egy új példányt az alábbi táblázatban megadott értékekkel:
Beállítás Érték Leírás Név Globálisan egyedi név Az új függvényalkalmazást azonosító egyedi név. Fogadja el ezt a nevet, vagy adjon meg egy új nevet. Az érvényes karakterek a következők: a-z
,0-9
és-
.Előfizetés Az Ön előfizetése A használandó előfizetés. Fogadja el ezt az előfizetést, vagy válasszon egy újat a legördülő listából. Erőforráscsoport Az erőforráscsoport neve Az az erőforráscsoport, amelyben létre szeretné hozni a függvényalkalmazást. Új erőforráscsoport létrehozásához válassza az Új lehetőséget. A legördülő listából választhat egy meglévő erőforráscsoportot is. Csomag típusa Felhasználás Ha a projektet egy használatalapú tervben futó függvényalkalmazásban teszi közzé, csak a függvényalkalmazás végrehajtásáért kell fizetnie. Más üzemeltetési tervek magasabb költségekkel járnak. Helyen Az app service helye Válasszon egy helyet egy Önhöz közeli régióban vagy más szolgáltatásokban, amelyekhez a függvények hozzáférnek. Azure Storage Általános célú tárfiók A Functions futtatókörnyezetének szüksége van egy Azure Storage-fiókra. Általános célú tárfiók konfigurálásához válassza az Új lehetőséget. Választhat olyan meglévő fiókot is, amely megfelel a tárfiók követelményeinek. Application Insights Alkalmazás Elemzések példány Engedélyeznie kell az alkalmazás Elemzések integrációját a függvényalkalmazáshoz. Az Új lehetőséget választva új példányt hozhat létre egy új vagy egy meglévő Log Analytics-munkaterületen. Választhat egy meglévő példányt is. A Létrehozás gombra kattintva létrehozhat egy függvényalkalmazást és annak kapcsolódó erőforrásait az Azure-ban. Az erőforrás-létrehozás állapota az ablak bal alsó sarkában látható.
A Functions-példányban győződjön meg arról, hogy a Csomagból futtatás fájl be van jelölve. A függvényalkalmazás üzembe helyezése a Zip Deploy használatával történik, és engedélyezve van a csomagalapú futtatás mód. A Zip Deploy az ajánlott üzembe helyezési módszer a függvényprojekthez, amely jobb teljesítményt eredményez.
Válassza a Befejezés lehetőséget, majd a Közzététel lapon válassza a Közzététel lehetőséget a projektfájlokat tartalmazó csomag üzembe helyezéséhez az új függvényalkalmazásban az Azure-ban.
Az üzembe helyezés befejezése után az Azure-ban a függvényalkalmazás gyökér URL-címe megjelenik a Közzététel lapon.
A Közzététel lap Üzemeltetés szakaszában válassza a Megnyitás az Azure Portalon lehetőséget. Ezzel megnyitja az új Azure-függvényalkalmazás-erőforrást az Azure Portalon.
A függvény tesztelése az Azure-ban
Másolja a függvényalkalmazás alap URL-címét a Publish (Közzététel) profiloldalról. Cserélje ki a függvény helyi tesztelésekor használt
localhost:port
URL-címrészt az új alap URL-címmel.A tartós függvény HTTP-eseményindítóját meghívó URL-címnek a következő formátumban kell lennie:
https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>_HttpStart
Illessze be a HTTP-kérelem új URL-címét a böngésző címsorába. A közzétett alkalmazás használatakor ugyanazt az állapotválaszt kell kapnia, mint korábban.
Következő lépések
A Visual Studio használatával létrehozott és közzétett egy C#-alapú tartós függvényalkalmazást.