Rövid útmutató: Go vagy Rust függvény létrehozása az Azure-ban a Visual Studio Code használatával
Ebben a cikkben a Visual Studio Code használatával hoz létre egy egyéni kezelőfüggvényt , amely a HTTP-kérelmekre válaszol. A kódot a helyi tesztelését követően az Azure Functions kiszolgáló nélküli környezetében helyezheti üzembe.
Az egyéni kezelők http-kiszolgálói folyamat futtatásával bármilyen nyelven vagy futtatókörnyezetben létrehozhatnak függvényeket. Ez a cikk a Go és a Rust használatát is támogatja.
A rövid útmutató elvégzése néhány cent (USD) vagy még kevesebb költséggel jár az Azure-fiókját illetően.
A környezet konfigurálása
Mielőtt hozzálátna, győződjön meg róla, hogy megfelel az alábbi követelményeknek:
Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
Visual Studio Code az egyik támogatott platformon.
A Visual Code Azure Functions-bővítménye.
Ugrás, a legújabb verzió ajánlott.
go version
A parancs használatával ellenőrizze a verziót.
Core Tools telepítése vagy frissítése
A Visual Studio Code Azure Functions-bővítménye integrálva van az Azure Functions Core Toolsszal, így a függvényeket helyileg futtathatja és hibakereséssel végezheti el a Visual Studio Code-ban az Azure Functions-futtatókörnyezet használatával. Az első lépések előtt érdemes helyileg telepíteni a Core Toolst, vagy frissíteni egy meglévő telepítést a legújabb verzió használatára.
A Visual Studio Code-ban válassza az F1 lehetőséget a parancskatalógus megnyitásához, majd keresse meg és futtassa az Azure Functions: Install or Update Core Tools parancsot.
Ez a parancs megpróbálja elindítani a Core Tools legújabb verziójának csomagalapú telepítését, vagy frissíteni egy meglévő csomagalapú telepítést. Ha nincs telepítve az npm vagy a Homebrew a helyi számítógépen, manuálisan kell telepítenie vagy frissítenie a Core Toolst.
Helyi projekt létrehozása
Ebben a szakaszban a Visual Studio Code használatával hoz létre egy helyi Azure Functions egyéni kezelőprojektet. A cikk későbbi részében közzéteszi a függvény kódját az Azure-ban.
A Visual Studio Code-ban nyomja le az F1 billentyűt a parancskatalógus megnyitásához, majd a parancs kereséséhez és futtatásához
Azure Functions: Create New Project...
.Válassza ki a projekt-munkaterület könyvtárhelyét, és válassza a Kiválasztás lehetőséget. Hozzon létre egy új mappát, vagy válasszon egy üres mappát a projekt-munkaterülethez. Ne válasszon olyan projektmappát, amely már része egy munkaterületnek.
Amikor a rendszer kéri, adja meg az alábbi információkat:
Felszólítás Kiválasztás A függvényprojekt nyelvének kiválasztása Válassza a Custom Handler
elemet.Sablon kiválasztása a projekt első függvényéhez Válassza a HTTP trigger
elemet.Függvénynév megadása Gépelje be: HttpExample
.Engedélyszint Válassza a Anonymous
lehetőséget, amely lehetővé teszi, hogy bárki meghívja a függvényvégpontot. További információ: Engedélyezési szint.Válassza ki, hogyan szeretné megnyitni a projektet Válassza a Open in current window
elemet.Ezen információk felhasználásával a Visual Studio Code létrehoz egy Azure Functions-projektet EGY HTTP-eseményindítóval. A helyi projektfájlokat az Explorerben tekintheti meg.
A függvény létrehozása és létrehozása
A HttpExample mappa function.json fájlja HTTP-eseményindító függvényt deklarál. A függvényt egy kezelő hozzáadásával és végrehajthatóvá alakításával hajthatja végre.
Új fájl létrehozásához nyomja le a Ctrl + N (cmd + N macOS) billentyűkombinációt. Mentse a kezelő.go fájlként a függvényalkalmazás gyökerében (ugyanabban a mappában, mint host.json).
A handler.go fájlban adja hozzá a következő kódot, és mentse a fájlt. Ez a Go egyéni kezelője.
package main import ( "fmt" "log" "net/http" "os" ) func helloHandler(w http.ResponseWriter, r *http.Request) { message := "This HTTP triggered function executed successfully. Pass a name in the query string for a personalized response.\n" name := r.URL.Query().Get("name") if name != "" { message = fmt.Sprintf("Hello, %s. This HTTP triggered function executed successfully.\n", name) } fmt.Fprint(w, message) } func main() { listenAddr := ":8080" if val, ok := os.LookupEnv("FUNCTIONS_CUSTOMHANDLER_PORT"); ok { listenAddr = ":" + val } http.HandleFunc("/api/HttpExample", helloHandler) log.Printf("About to listen on %s. Go to https://127.0.0.1%s/", listenAddr, listenAddr) log.Fatal(http.ListenAndServe(listenAddr, nil)) }
Nyomja le a Ctrl + Shift+ billentyűkombinációt, vagy a Terminál menü Új terminál elemét választva nyisson meg egy új integrált terminált a VS Code-ban.
Állítsa össze az egyéni kezelőt az alábbi paranccsal. A függvényalkalmazás gyökérmappájában egy végrehajtható fájl neve
handler
(handler.exe
Windows rendszeren) található.go build handler.go
A függvényalkalmazás konfigurálása
A függvény gazdagépét úgy kell konfigurálni, hogy az indításkor futtassa az egyéni kezelő bináris fájlját.
Nyissa meg a host.json.
A szakaszban állítsa a
customHandler.description
következő értékredefaultExecutablePath
handler
(Windows rendszeren:handler.exe
).customHandler
A szakaszban adjon hozzá egy elnevezettenableForwardingHttpRequest
tulajdonságot, és állítsa az értékét a következőretrue
: . A csak HTTP-eseményindítóból álló függvények esetében ez a beállítás leegyszerűsíti a programozást, mivel lehetővé teszi, hogy az egyéni kezelőkérés hasznos adatai helyett egy tipikus HTTP-kéréssel dolgozzon.Győződjön meg arról, hogy a
customHandler
szakasz az alábbi példához hasonlóan néz ki. Mentse a fájlt."customHandler": { "description": { "defaultExecutablePath": "handler", "workingDirectory": "", "arguments": [] }, "enableForwardingHttpRequest": true }
A függvényalkalmazás úgy van konfigurálva, hogy elindítsa a végrehajtható egyéni kezelőt.
Függvény helyi futtatása
Ezt a projektet a helyi fejlesztői számítógépen futtathatja, mielőtt közzétennénk az Azure-ban.
Az integrált terminálban indítsa el a függvényalkalmazást az Azure Functions Core Tools használatával.
func start
A Core Tools futtatásával lépjen a következő URL-címre egy GET-kérés végrehajtásához, amely lekérdezési sztringet is tartalmaz
?name=Functions
.http://localhost:7071/api/HttpExample?name=Functions
A rendszer a következőhöz hasonló választ ad vissza egy böngészőben:
A kéréssel kapcsolatos információk a Terminál panelen jelennek meg.
A Core Tools leállításához nyomja le a Ctrl + C billentyűkombinációt.
Miután ellenőrizte, hogy a függvény megfelelően fut-e a helyi számítógépen, ideje a Visual Studio Code használatával közvetlenül az Azure-ban közzétenni a projektet.
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 nem jelentkezett be, a Tevékenységsávon válassza az Azure ikont. 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 kivá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.
Az Azure egyéni kezelőjének fordítása
Ebben a szakaszban közzéteheti a projektet az Azure-ban egy Linuxot futtató függvényalkalmazásban. A legtöbb esetben újra kell lefordítania a bináris fájlt, és a konfigurációt úgy kell módosítania, hogy megfeleljen a célplatformnak, mielőtt közzétennénk az Azure-ban.
Az integrált terminálban fordítsa le a kezelőt Linux/x64 rendszerre. A függvényalkalmazás gyökérkönyvtárában létrejön egy bináris név
handler
.
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, miközben az Azure-ban jönnek létre az Azure: Tevékenységnapló panelen.
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.
- Egy Azure-alkalmazás szolgáltatáscsomag, amely meghatározza a függvényalkalmazás mögöttes gazdagépét.
- A függvényalkalmazáshoz csatlakoztatott Application Insights-példány, 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 függvényalkalmazáshoz megadott név alapján jönnek létre. Alapértelmezés szerint az erőforrások ugyanabban az új erőforráscsoportban vannak létrehozva a függvényalkalmazással. Ha testre szeretné szabni a társított erőforrások nevét, vagy újra szeretné használni a meglévő erőforrásokat, tegye közzé a projektet speciális létrehozási lehetőségekkel.
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.
A parancskatalógusban adja meg, majd válassza az Azure Functions: Üzembe helyezés függvényalkalmazásban lehetőséget.
Válassza ki az imént létrehozott függvényalkalmazást. 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ésekor 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 futtatása az Azure-ban
Nyomja le az F1 billentyűt a parancskatalógus megjelenítéséhez, majd keresse meg és futtassa a parancsot
Azure Functions:Execute Function Now...
. Ha a rendszer kéri, válassza ki az előfizetését.Válassza ki az új függvényalkalmazás-erőforrást és
HttpExample
a függvényt.Az Enter kérelem törzstípusában
{ "name": "Azure" }
nyomja le az Enter billentyűt, és küldje el ezt a kérésüzenetet a függvénynek.Amikor a függvény az Azure-ban fut, a válasz megjelenik az értesítési területen. Bontsa ki az értesítést a teljes válasz áttekintéséhez.
Az erőforrások eltávolítása
Ha folytatja a következő lépést , és hozzáad egy Azure Storage-üzenetsor-kötést a függvényhez, az összes erőforrást helyben kell tartania ahhoz, hogy a már elvégzett adatokra építkezhessenek.
Ellenkező esetben az alábbi lépésekkel törölheti a függvényalkalmazást és annak kapcsolódó erőforrásait, hogy elkerülje a további költségek felmerülését.
A Visual Studio Code-ban nyomja le az F1 billentyűt a parancskatalógus megnyitásához. A parancskatalógusban keresse meg és válassza ki a kívánt parancsot
Azure: Open in portal
.Válassza ki a függvényalkalmazást, és nyomja le az Enter billentyűt. Megnyílik a függvényalkalmazás lapja az Azure Portalon.
Az Áttekintés lapon válassza az Erőforráscsoport melletti elnevezett hivatkozást.
Az Erőforráscsoport lapon tekintse át a belefoglalt erőforrások listáját, és ellenőrizze, hogy ezek-e törölni kívánt erőforrások.
Válassza az Erőforráscsoport törlése elemet, majd kövesse az utasításokat.
A törlés eltarthat néhány percig. Amint a művelet befejeződött, néhány másodpercre egy értesítés jelenik meg. Az értesítést úgy is megtekintheti, ha kiválasztja a harang ikont az oldal tetején.
A Functions-költségekkel kapcsolatos további információkért tekintse meg a használati terv költségeinek becslését.