Az első tartós függvény létrehozása a JavaScriptben
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 Azure Functions bővítményt egy "hello world" tartós függvény helyi létrehozására és tesztelésére. Ez a függvény összehangolja és összekapcsolja a más függvényekhez intézett hívásokat. Ezután közzéteheti a függvénykódot az Azure-ban.
Fontos
A cikk tartalma a Node.js programozási modell választásától függően változik a lap tetején található választóban. A v4-modell általánosan elérhető, és úgy lett kialakítva, hogy rugalmasabb és intuitívabb felhasználói élményt nyújtson JavaScript- és TypeScript-fejlesztők számára. A migrálási útmutatóban további információt olvashat a v3 és a v4 közötti különbségekről.
Előfeltételek
Az oktatóanyag elvégzéséhez:
- A Visual Studio Code telepítése.
- Az Azure Functions VS Code bővítmény telepítése
- Telepítse az Azure Functions VS Code-bővítmény vagy újabb verzióját
1.10.4
.
- Győződjön meg arról, hogy az Azure Functions Core Tools legújabb verziójával rendelkezik.
- Győződjön meg arról, hogy rendelkezik az Azure Functions Core Tools vagy újabb verzióval
v4.0.5382
.
- 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 Node.js 16.x+ verziója.
- Győződjön meg arról, hogy telepítve van a Node.js 18.x+ 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.
Az utasításokat követve 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 JavaScript Hozzon létre egy helyi Node.js Functions-projektet. JavaScript-programozási modell kiválasztása V3 modell Válassza ki a V3 programozási modellt. 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 VS Code-ot a kiválasztott mappában.
Az utasításokat követve 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 JavaScript Hozzon létre egy helyi Node.js Functions-projektet. JavaScript-programozási modell kiválasztása V4-modell Válassza ki a V4 programozási modellt. 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 VS 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.
A gyökérmappában is létrejön egy package.json
fájl.
A Durable Functions npm-csomagjának telepítése
A Durable Functions Node.js függvényalkalmazásban való használatához egy .durable-functions
A V4 programozási modell használatához telepítenie kell a verzió előzetes v3.x
verzióját durable-functions
.
- A Nézet menü vagy a Ctrl + Shift + ' billentyűkombinációval nyisson meg egy új terminált a VS Code-ban.
- Telepítse az
durable-functions
npm-csomagot a függvényalkalmazás gyökérkönyvtárában való futtatássalnpm install durable-functions
.
- Telepítse az
durable-functions
npm-csomag előzetes verzióját a függvényalkalmazás gyökérkönyvtárában való futtatássalnpm install durable-functions@preview
.
A függvények létrehozása
A legalapvetőbb Durable Functions-alkalmazás három függvényt tartalmaz:
- Orchestrator függvény – olyan munkafolyamatot ír le, amely más függvényeket vezényl.
- Tevékenységfüggvény – a vezénylő függvény hívja meg, elvégzi a munkát, és opcionálisan egy értéket ad vissza.
- Ügyfélfüggvény – egy reguláris Azure-függvény, amely elindít egy vezénylő függvényt. Ez a példa EGY HTTP által aktivált függvényt használ.
Orchestrator függvény
Sablon használatával hozza 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...
.Az utasításokat követve adja meg a következő információkat:
Adatkérés Érték Leírás Sablon kiválasztása a függvényhez Durable Functions vezénylő Durable Functions-vezénylés létrehozása Válasszon tartós tárolási típust. Azure Storage (alapértelmezett) Válassza ki a Durable Functionshez használt háttérrendszert. Függvénynév megadása HelloOrchestrator A tartós függvény neve
Felvett egy vezénylőt a tevékenységfüggvények koordinálásához. Nyissa meg a HelloOrchestrator/index.js a vezénylő függvény megtekintéséhez. Minden hívás meghív context.df.callActivity
egy tevékenységfüggvényt.Hello
Ezután hozzáadja a hivatkozott tevékenységfüggvényt Hello
.
Tevékenységfüggvény
A parancskatalógusban keresse meg és válassza ki a kívánt parancsot
Azure Functions: Create Function...
.Az utasításokat követve adja meg a következő információkat:
Adatkérés Érték Leírás Sablon kiválasztása a függvényhez Durable Functions-tevékenység Tevékenységfüggvény létrehozása Függvénynév megadása Üdvözöljük A tevékenységfüggvény neve
Hozzáadta a Hello
vezénylő által meghívott tevékenységfüggvényt. Nyissa meg a Hello/index.js elemet, hogy lássa, hogy egy nevet ad meg bemenetként, és egy üdvözlést ad vissza. A tevékenységfüggvényben a munkafolyamatban a "valódi munkát" hajtja végre: például adatbázis-hívásokat kezdeményezhet, vagy nem determinisztikus számításokat hajthat végre.
Végül hozzáad egy HTTP-aktivált függvényt, amely elindítja a vezénylést.
Ügyfélfüggvény (HTTP-kezdő)
A parancskatalógusban keresse meg és válassza ki a kívánt parancsot
Azure Functions: Create Function...
.Az utasításokat követve adja meg a következő információkat:
Adatkérés Érték Leírás Sablon kiválasztása a függvényhez Durable Functions HTTP starter HTTP kezdőfüggvény létrehozása Függvénynév megadása DurableFunctionsHttpStart A tevékenységfüggvény neve Engedélyszint Névtelen Demó céljából engedélyezze a függvény hitelesítés nélküli meghívását
Hozzáadott egy HTTP-aktivált függvényt, amely elindít egy vezénylést. Nyissa meg a DurableFunctionsHttpStart/index.js elemet, és ellenőrizze, hogy az új vezénylés indításához használja-e client.startNew
. Ezután egy URL-eket tartalmazó HTTP-választ ad client.createCheckStatusResponse
vissza, amely az új vezénylés monitorozására és kezelésére használható.
Most már rendelkezik egy Durable Functions-alkalmazással, amely helyileg futtatható és üzembe helyezhető az Azure-ban.
A V4 programozási modell egyik előnye a függvények írásának rugalmassága. A V4-modellben egyetlen sablon használatával hozhatja létre a projekt mindhárom függvényét egy fájlban.
A parancskatalógusban keresse meg és válassza ki a kívánt parancsot
Azure Functions: Create Function...
.Az utasításokat követve adja meg a következő információkat:
Adatkérés Érték Leírás Sablon kiválasztása a függvényhez Durable Functions vezénylő Hozzon létre egy fájlt egy Durable Functions vezényléssel, egy Tevékenység függvénnyel és egy Durable Client starter függvénnyel. Tartós tárolási típus kiválasztása Azure Storage (alapértelmezett) Válassza ki a Durable Functionshez használt háttérrendszert. Függvénynév megadása Üdvözöljük A tartós függvényekhez használt név
Nyissa meg az src/functions/hello.js elemet a létrehozott függvények megtekintéséhez.
Létrehozott egy olyan vezénylőt, amely a tevékenységfüggvények koordinálására van meghívva helloOrchestrator
. Minden hívás meghív context.df.callActivity
egy tevékenységfüggvényt.hello
Hozzáadta a hello
vezénylő által meghívott tevékenységfüggvényt is. Ugyanebben a fájlban láthatja, hogy egy nevet ad meg bemenetként, és egy üdvözlést ad vissza. A tevékenységfüggvényben a munkafolyamatban a "valódi munkát" hajtja végre: például adatbázis-hívásokat kezdeményezhet, vagy nem determinisztikus számításokat hajthat végre.
Végül hozzáadott egy HTTP-aktivált függvényt is, amely vezénylést indít el. Ugyanebben a fájlban láthatja, hogy egy új vezénylés indításához használja client.startNew
. Ezután egy URL-eket tartalmazó HTTP-választ ad client.createCheckStatusResponse
vissza, amely az új vezénylés monitorozására és kezelésére használható.
Most már rendelkezik egy Durable Functions-alkalmazással, amely helyileg futtatható és üzembe helyezhető az Azure-ban.
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
Hello
tevékenységfüggvény kódjában (Hello/index.js). Nyomja le az F5 billentyűt, vagy válasszonDebug: Start Debugging
a parancskatalógusból a függvényalkalmazás-projekt elindításához. A Core Tools kimenete a Terminal (Terminál) panelen jelenik meg.
- A függvény teszteléséhez állítson be egy töréspontot a
hello
tevékenységfüggvény kódjában (src/functions/hello.js). Nyomja le az F5 billentyűt, vagy válasszonDebug: Start Debugging
a parancskatalógusból a függvényalkalmazás-projekt elindításához. A Core Tools kimenete a Terminal (Terminál) panelen jelenik meg.
Feljegyzés
A hibakereséssel kapcsolatos további információkért tekintse meg a Durable Functions Diagnosticst .
A Durable Functions használatához Egy Azure Storage-fiók futtatására van szükség. Amikor a VS Code kéri, hogy válasszon ki egy tárfiókot, válassza a Tárfiók kiválasztása lehetőséget.
Az utasításokat követve adja meg az alábbi 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 Terminal (Terminál) panelen másolja a vágólapra a HTTP által indított függvény URL-végpontját.
- A böngésző vagy egy olyan eszköz, mint a Postman vagy a cURL használatával HTTP POST-kérést küldhet az URL-végpontnak. Cserélje le az utolsó szegmenst a vezénylő függvény (
HelloOrchestrator
) nevére. Az URL-címnek hasonlónak kell lennie a következőhözhttp://localhost:7071/api/orchestrators/HelloOrchestrator
: .
- A böngésző vagy egy olyan eszköz, mint a Postman vagy a cURL használatával HTTP POST-kérést küldhet az URL-végpontnak. Cserélje le az utolsó szegmenst a vezénylő függvény (
helloOrchestrator
) nevére. Az URL-címnek hasonlónak kell lennie a következőhözhttp://localhost:7071/api/orchestrators/helloOrchestrator
: .
A válasz a HTTP-függvény kezdeti eredménye, amelyből megtudhatja, hogy a tartós vezénylés sikeresen elindult. Ez még nem 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 böngésző címsorában lévő URL-címet
statusQueryGetUri
, és illessze be, é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 a vezénylési példányt az állapothoz. 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": "HelloOrchestrator", "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" }
{ "name": "helloOrchestrator", "instanceId": "6ba3f77933b1461ea1a3828c013c9d56", "runtimeStatus": "Completed", "input": "", "customStatus": null, "output": [ "Hello, Tokyo", "Hello, Seattle", "Hello, Cairo" ], "createdTime": "2023-02-13T23:02:21Z", "lastUpdatedTime": "2023-02-13T23:02:25Z" }
A hibakeresés leállításához nyomja le a Shift + F5 billentyűkombinációt a VS 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
Feljegyzés
A V4-csomópont programozási modelljének használatához győződjön meg arról, hogy az alkalmazás az Azure Functions-futtatókörnyezet legalább 4.25-ös verzióján fut.
- 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/orchestrators/HelloOrchestrator
- 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/orchestrators/helloOrchestrator
- 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
JavaScript tartós függvényalkalmazás létrehozásához és közzétételéhez a Visual Studio Code-ot használta.