Durable Functions létrehozása az Azure Portal használatával
Az Azure Functions Durable Functions bővítménye a Microsoft.Azure.WebJobs.Extensions.DurableTask NuGet-csomagban érhető el. Ezt a bővítményt telepíteni kell a függvényalkalmazásban. Ez a cikk bemutatja, hogyan telepítheti ezt a csomagot, hogy tartós függvényeket fejleszthesse az Azure Portalon.
Feljegyzés
- Ha tartós függvényeket fejleszt a C#-ban, érdemes megfontolnia a Visual Studio 2019 fejlesztését.
- Ha tartós függvényeket fejleszt JavaScriptben, érdemes megfontolnia a Visual Studio Code fejlesztését.
Függvényalkalmazás létrehozása
Minden függvény végrehajtásának üzemeltetéséhez rendelkeznie kell egy függvényalkalmazással. 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. .NET- vagy JavaScript-alkalmazást is létrehozhat.
Az Azure Portal menüjében vagy a Kezdőlapon válassza az Erőforrás létrehozása elemet.
Az Új lapon válassza a Számítási>függvényalkalmazás lehetőséget.
A Tárhely kiválasztása lehetőségnél válassza a Consumption Select (Felhasználás>kiválasztása) lehetőséget az alkalmazás alapértelmezett használatalapú csomagban való létrehozásához. Ebben a kiszolgáló nélküli üzemeltetési beállításban csak a függvények futtatásának idejéért kell fizetnie. A Prémium csomag dinamikus skálázást is kínál. Ha App Service-csomagot használ, foglalkoznia kell a függvényalkalmazás méretezésével.
Az Alapok lapon használja a függvényalkalmazás beállításait az alábbi táblázatban megadott módon:
Beállítás Ajánlott érték Leírás Előfizetés Az Ön előfizetése Az előfizetés, amely alatt létrehozza az új függvényalkalmazást. Erőforráscsoport myResourceGroup Annak az új erőforráscsoportnak a neve, amelyben a függvényalkalmazást létrehozza. Létre kell hoznia egy új erőforráscsoportot, mert ismert korlátozások vonatkoznak az új függvényalkalmazások meglévő erőforráscsoportban való létrehozásakor. Függvényalkalmazás neve Globálisan egyedi név Az új függvényalkalmazást azonosító név. Az érvényes karakterek az a-z
(kis- és nagybetűk megkülönböztetése nélkül)0-9
és az-
.Futtatókörnyezeti verem Elsődleges nyelv Válasszon egy olyan futtatókörnyezetet, amely támogatja a kedvenc függvényprogramozási nyelvét. A portálon belüli szerkesztés csak JavaScript, PowerShell, Python, TypeScript és C# szkriptekhez érhető el. A C#-osztálytárat és a Java-függvényeket helyileg kell fejleszteni. Verzió Verziószám Válassza ki a telepített futtatókörnyezet verzióját. Régió Előnyben részesített régió Válasszon ki egy önhöz közeli régiót vagy a függvényei által elérhető egyéb szolgáltatásokat. Operációs rendszer Windows Az operációs rendszer előre ki van jelölve a futtatókörnyezeti verem kiválasztása alapján, de szükség esetén módosíthatja a beállítást. A portálon belüli szerkesztés csak Windows rendszeren támogatott. Fogadja el az alapértelmezett beállításokat a többi lapon, beleértve az új tárfiók létrehozásának alapértelmezett viselkedését a Storage lapon, valamint egy új Application Insights-példányt a Figyelés lapon. Meglévő tárfiókot vagy alkalmazáspéldányt is használhat Elemzések.
Válassza a Véleményezés + létrehozás lehetőséget a választott alkalmazáskonfiguráció áttekintéséhez, majd válassza a Létrehozás lehetőséget a függvényalkalmazás kiépítéséhez és üzembe helyezéséhez.
Válassza az Értesítések ikont a portál jobb felső sarkában, és figyelje meg az üzembe helyezés sikeres üzenetét.
Az új függvényalkalmazás megtekintéséhez válassza az Erőforrás megnyitása lehetőséget. A Rögzítés az irányítópulton lehetőséget is választhatja. A rögzítés megkönnyíti a függvényalkalmazás-erőforráshoz való visszatérést az irányítópultról.
Alapértelmezés szerint a létrehozott függvényalkalmazás az Azure Functions-futtatókörnyezet 2.x-es verzióját használja. A Durable Functions bővítmény az Azure Functions-futtatókörnyezet 1.x és 2.x verzióján is működik A C#-ban és a 2.x-es verzióban a JavaScriptben. A sablonok azonban csak akkor érhetők el, ha a futtatókörnyezet 2.x verzióját célozza meg a választott nyelvtől függetlenül.
A durable-functions npm csomag telepítése (csak JavaScript esetén)
Ha JavaScript Durable Functions-függvényeket hoz létre, telepítenie kell az durable-functions
npm-csomagot:
A függvényalkalmazás lapján válassza a Speciális eszközök lehetőséget a bal oldali panel Fejlesztőeszközök csoportjában.
A Speciális eszközök lapon válassza az Ugrás lehetőséget.
A Kudu-konzolon válassza a Hibakeresési konzol, majd a CMD lehetőséget.
A függvényalkalmazás fájlkönyvtár-struktúrájának meg kell jelennie. Lépjen a
site/wwwroot
mappába. Innen a fájlokat a fájlkönyvtár ablakába húzva és húzva töltheti felpackage.json
. A mintapackage.json
alább látható:{ "dependencies": { "durable-functions": "^1.3.1" } }
package.json
A feltöltés után futtassa a parancsot anpm install
Kudu távoli végrehajtási konzoljáról.
Vezénylőfüggvény létrehozása
A függvényalkalmazásban válassza a Függvények lehetőséget a bal oldali panelen, majd a felső menüBen válassza a Hozzáadás lehetőséget.
Az Új függvény lap keresőmezőjében adja meg
durable
, majd válassza ki a Durable Functions HTTP starter sablont.Az Új függvény neve mezőbe írja be
HttpStart
, majd válassza a Függvény létrehozása lehetőséget.A létrehozott függvény a vezénylés elindítására szolgál.
Hozzon létre egy másik függvényt a függvényalkalmazásban ezúttal a Durable Functions vezénylősablon használatával. Nevezze el az új vezénylési függvényt
HelloSequence
.Hozzon létre egy harmadik függvényt a
Hello
Durable Functions tevékenységsablon használatával.
A tartós függvény vezénylése tesztelése
Térjen vissza a HttpStart függvényhez, válassza a Függvény URL-címének lekérése lehetőséget, majd a Vágólapra másolás ikonra kattintva másolja az URL-címet. Ezzel az URL-címvel indíthatja el a HelloSequence függvényt.
EGY HTTP-eszköz, például a Postman vagy a cURL használatával post-kérést küldhet a másolt URL-címre. Az alábbi példa egy cURL-parancs, amely POST-kérést küld a tartós függvénynek:
curl -X POST https://{your-function-app-name}.azurewebsites.net/api/orchestrators/{functionName} --header "Content-Length: 0"
Ebben a példában
{your-function-app-name}
az a tartomány, amely a függvényalkalmazás neve, és{functionName}
a HelloSequence vezénylő függvény. A válaszüzenet URI-végpontok készletét fogja tartalmazni, amelyek a végrehajtás monitorozásához és szabályozásához használhatók fel hasonlóan a következő példához:{ "id":"10585834a930427195479de25e0b952d", "statusQueryGetUri":"https://...", "sendEventPostUri":"https://...", "terminatePostUri":"https://...", "rewindPostUri":"https://..." }
Hívja meg a
statusQueryGetUri
végpont URI-ját, és megjelenik a tartós függvény aktuális állapota, amely a következő példához hasonlóan nézhet ki:{ "runtimeStatus": "Running", "input": null, "output": null, "createdTime": "2017-12-01T05:37:33Z", "lastUpdatedTime": "2017-12-01T05:37:36Z" }
Folytassa a végpont hívását,
statusQueryGetUri
amíg az állapot befejeződött, és megjelenik egy válasz, például az alábbi példában:{ "runtimeStatus": "Completed", "input": null, "output": [ "Hello Tokyo!", "Hello Seattle!", "Hello London!" ], "createdTime": "2017-12-01T05:38:22Z", "lastUpdatedTime": "2017-12-01T05:38:28Z" }
Az első tartós függvény most már működik az Azure-ban.