Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben a cikkben helyi parancssori eszközökkel hoz létre egy HTTP-kérelmekre reagáló függvényt. A kód helyi ellenőrzése után üzembe helyezi azt egy kiszolgáló nélküli Flex Consumption üzemeltetési csomagban az Azure Functionsben.
A gyorsindítás elvégzése néhány USD cent vagy még kevesebb költséggel járhat az Azure-fiókjában.
Ügyeljen arra, hogy a cikk tetején válassza ki az előnyben részesített fejlesztési nyelvet.
Prerequisites
- Egy Azure-fiók, aktív előfizetéssel. Hozzon létre egy fiókot ingyenesen.
-
Java 17 Fejlesztői készlet
- Ha a Java egy másik támogatott verzióját használja, frissítenie kell a projekt pom.xml fájlját.
- A
JAVA_HOMEkörnyezeti változót a Java Development Kit (JDK) megfelelő verziójának telepítési helyére kell állítani.
- Apache Maven 3.8.x
A
jqJSON-kimenet elemzésére használt JSON-parancssori processzor, amely az Azure Cloud Shellben is elérhető.
Az Azure Functions Core Tools telepítése
A Core Tools telepítésének ajánlott módja a helyi fejlesztőszámítógép operációs rendszerétől függ.
Az alábbi lépések windowsos telepítővel (MSI) telepítik a Core Tools v4.x-et. További információ más csomagalapú telepítőkről a Core Tools readme-ben található.
Töltse le és futtassa a Core Tools telepítőt a Windows-verzió alapján:
- v4.x – Windows 64 bites (ajánlott. A Visual Studio Code hibakereséséhez 64 bitesre van szükség.)
- v4.x – Windows 32 bites
Ha korábban windowsos telepítőt (MSI) használt a Core Tools windowsos telepítéséhez, a legújabb verzió telepítése előtt el kell távolítania a régi verziót a Programok eltávolítása bővítményből.
Virtuális környezet létrehozása és aktiválása
Egy megfelelő mappában futtassa az alábbi parancsokat egy virtuális környezet .venvlétrehozásához és aktiválásához. Mindenképpen használja az Azure Functions által támogatott Python-verziókat .
python -m venv .venv
source .venv/bin/activate
Ha a Python nem telepítette a venv-csomagot a Linux-disztribúcióra, futtassa a következő parancsot:
sudo apt-get install python3-venv
Ebben az aktivált virtuális környezetben minden utána következő parancsot futtat.
Helyi kódprojekt és függvény létrehozása
Az Azure Functionsben a kódprojekt egy olyan alkalmazás, amely egy vagy több egyedi függvényt tartalmaz, amelyek mindegyike egy adott eseményindítóra válaszol. A projekt összes függvénye ugyanazokkal a konfigurációkkal rendelkezik, és egységként van üzembe helyezve az Azure-ban. Ebben a szakaszban egy kódprojektet hoz létre, amely egyetlen függvényt tartalmaz.
Egy terminálban vagy parancssorban futtassa ezt a
func initparancsot egy függvényalkalmazás-projekt létrehozásához az aktuális mappában:func init --worker-runtime dotnet-isolated
Egy terminálban vagy parancssorban futtassa ezt a
func initparancsot egy függvényalkalmazás-projekt létrehozásához az aktuális mappában:func init --worker-runtime node --language javascript
Egy terminálban vagy parancssorban futtassa ezt a
func initparancsot egy függvényalkalmazás-projekt létrehozásához az aktuális mappában:func init --worker-runtime powershell
Egy terminálban vagy parancssorban futtassa ezt a
func initparancsot egy függvényalkalmazás-projekt létrehozásához az aktuális mappában:func init --worker-runtime python
Egy terminálban vagy parancssorban futtassa ezt a
func initparancsot egy függvényalkalmazás-projekt létrehozásához az aktuális mappában:func init --worker-runtime node --language typescript
Egy terminálban vagy parancssorban futtassa ezt a
func initparancsot egy függvényalkalmazás-projekt létrehozásához az aktuális mappában:func init --worker-runtime custom
Egy üres mappában futtassa ezt a
mvnparancsot a kódprojekt létrehozásához egy Azure Functions Maven-archetípusból:mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=17A Maven kéri azokat az értékeket, amelyek szükségesek a projekt generálásának befejezéséhez az üzembe helyezés során.
Amikor a rendszer kéri, adja meg a következő értékeket:Prompt Value Description groupId com.fabrikamOlyan érték, amely egyedileg azonosítja a projektet az összes projektben, a Java csomagelnevezési szabályait követve. artifactId fabrikam-functionsOlyan érték, amely a jar neve, verziószám nélkül. version 1.0-SNAPSHOTVálassza ki az alapértelmezett értéket. package com.fabrikamEgy érték, amely a létrehozott függvénykód Java-csomagja. Használja az alapértelmezettet. Írja be
Yvagy nyomja le az Enter billentyűt a megerősítéshez.A Maven egy új mappában hozza létre a projektfájlokat az artifactId nevű mappában, amely ebben a példában az
fabrikam-functions.Navigáljon a projektmappába:
cd fabrikam-functionsAz új HTTP trigger függvény sablon által létrehozott kódját a Function.java fájlban találja a \src\main\java\com\fabrikam projektkönyvtárban.
Ezzel a
func newparanccsal adhat hozzá egy függvényt a projekthez:func new --name HttpExample --template "HTTP trigger" --authlevel "function"A program hozzáad egy új kódfájlt a projekthez. Ebben az esetben az
--nameargumentum a függvény egyedi neve (HttpExample) és az--templateargumentum egy HTTP-eseményindítót határoz meg.
A projekt gyökérmappája különböző fájlokat tartalmaz a projekthez, beleértve a local.settings.json és host.jsonnevű konfigurációs fájlokat. Mivel a local.settings.json fájl titkokat tartalmazhat, amelyeket az Azure-ból töltöttek le, a fájl alapértelmezés szerint a .gitignore fájlban ki van zárva a forrásvezérlésből.
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étvá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.exeWindows 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.descriptionkövetkező értékredefaultExecutablePathhandler(Windows rendszeren:handler.exe).customHandlerA szakaszban adjon hozzá egy elnevezettenableForwardingHttpRequesttulajdonsá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
customHandlerszakasz 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.
A függvény helyi futtatása
Ellenőrizze az új függvényt a projekt helyi futtatásával és a függvényvégpont meghívásával.
Ezzel a paranccsal indítsa el a helyi Azure Functions-futtatókörnyezet-gazdagépet a projektmappa gyökerében:
func startnpm install npm startmvn clean package mvn azure-functions:runA kimenet vége felé a következő sorok jelennek meg:
... Now listening on: http://0.0.0.0:7071 Application started. Press Ctrl+C to shut down. Http Functions: HttpExample: [GET,POST] http://localhost:7071/api/HttpExample ...Másolja a függvény URL-címét
HttpExampleebből a kimenetből egy böngészőbe, és keresse meg a függvény URL-címét. A "hello world" üzenettel sikeres választ kell kapnia.Note
Mivel a hozzáférési kulcs engedélyezése helyi futtatáskor nincs kényszerítve, a visszaadott függvény URL-címe nem tartalmazza a hozzáférési kulcs értékét, és nincs rá szüksége a függvény meghívásához.
Ha elkészült, használja Ctrl+C, és állítsa le a függvénygazdát.
Támogató Azure-erőforrások létrehozása a függvényhez
Mielőtt üzembe helyezheti a függvénykódot az Azure-ban, létre kell hoznia az alábbi erőforrásokat:
- Egy erőforráscsoport, amely a kapcsolódó erőforrások logikai tárolója.
- Egy alapértelmezett Storage-fiók, amelyet a Functions-gazdagép használ az állapot és a függvényekkel kapcsolatos egyéb információk fenntartásához.
- A felhasználó által kijelölt felügyelt identitás, amelyet a Functions-gazdagép az alapértelmezett tárfiókkal való csatlakozáshoz használ.
- Egy függvényalkalmazás, amely a függvénykód végrehajtásához biztosítja a környezetet. A függvényalkalmazások leképezik a helyi függvényprojektet, és lehetővé teszi a függvények logikai egységként való csoportosítását az erőforrások egyszerűbb kezelése, üzembe helyezése és megosztása érdekében.
Az alábbi lépésekben az Azure CLI-parancsokkal hozhatja létre a szükséges erőforrásokat.
Ha még nem tette meg, jelentkezzen be az Azure-ba:
az loginA
az loginparancs bejelentkezteti Önt az Azure-fiókjába. Hagyja ki ezt a lépést az Azure Cloud Shellben való futtatáskor.Ha még nem tette meg, a
az extension addkövetkező paranccsal telepítse az Application Insights bővítményt:az extension add --name application-insightsEzzel az az group create paranccsal hozzon létre egy, a kiválasztott régióban elnevezett
AzureFunctionsQuickstart-rgerőforráscsoportot:az group create --name "AzureFunctionsQuickstart-rg" --location "<REGION>"Ebben a példában cserélje le
<REGION>egy Önhöz közeli régióra, amely támogatja a Flex Consumption csomagot. Az az functionapp list-flexconsumption-locations paranccsal megtekintheti a jelenleg támogatott régiók listáját.Ezzel az az storage account create paranccsal hozzon létre egy általános célú tárfiókot az erőforráscsoportban és a régióban:
az storage account create --name <STORAGE_NAME> --location "<REGION>" --resource-group "AzureFunctionsQuickstart-rg" \ --sku "Standard_LRS" --allow-blob-public-access false --allow-shared-key-access false** Ebben a példában cserélje le a
<STORAGE_NAME>-t egy olyan névre, amely megfelelő Önnek és egyedi az Azure Storage-ban. A neveknek csak három-24 karakterből álló számokat és kisbetűket kell tartalmazniuk.Standard_LRSegy általános célú fiókot határoz meg, amelyet a Functions támogat. Ez az új fiók csak olyan Microsoft Entra által hitelesített identitások használatával érhető el, amelyek adott erőforrásokhoz kaptak engedélyeket.Ezzel a szkripttel hozzon létre egy felhasználó által hozzárendelt felügyelt identitást, elemezje az objektum visszaadott JSON-tulajdonságait a használatával
jq, és adjonStorage Blob Data Ownerengedélyeket az alapértelmezett tárfiókban:output=$(az identity create --name "func-host-storage-user" --resource-group "AzureFunctionsQuickstart-rg" --location <REGION> \ --query "{userId:id, principalId: principalId, clientId: clientId}" -o json) userId=$(echo $output | jq -r '.userId') principalId=$(echo $output | jq -r '.principalId') clientId=$(echo $output | jq -r '.clientId') storageId=$(az storage account show --resource-group "AzureFunctionsQuickstart-rg" --name <STORAGE_NAME> --query 'id' -o tsv) az role assignment create --assignee-object-id $principalId --assignee-principal-type ServicePrincipal \ --role "Storage Blob Data Owner" --scope $storageIdHa nincs meg a
jqsegédprogram a helyi Bash rendszerhéjában, az elérhető az Azure Cloud Shellben. Ebben a példában cserélje ki a<STORAGE_NAME>helyére az alapértelmezett tárfiók nevét, és a<REGION>helyére a régiót.Az az identity create parancs létrehoz egy identitást.
func-host-storage-userA visszaadottprincipalIdparancs használatával engedélyeket rendelhet ehhez az új identitáshoz az alapértelmezett tárfiókbanaz role assignment create. Aaz storage account showparancs a tárfiók azonosítójának lekérésére szolgál.Ezzel az az functionapp create paranccsal hozza létre a függvényalkalmazást az Azure-ban:
az functionapp create --resource-group "AzureFunctionsQuickstart-rg" --name <APP_NAME> --flexconsumption-location <REGION> \ --runtime dotnet-isolated --runtime-version <LANGUAGE_VERSION> --storage-account <STORAGE_NAME> \ --deployment-storage-auth-type UserAssignedIdentity --deployment-storage-auth-value "func-host-storage-user"az functionapp create --resource-group "AzureFunctionsQuickstart-rg" --name <APP_NAME> --flexconsumption-location <REGION> \ --runtime java --runtime-version <LANGUAGE_VERSION> --storage-account <STORAGE_NAME> \ --deployment-storage-auth-type UserAssignedIdentity --deployment-storage-auth-value "func-host-storage-user"az functionapp create --resource-group "AzureFunctionsQuickstart-rg" --name <APP_NAME> --flexconsumption-location <REGION> \ --runtime node --runtime-version <LANGUAGE_VERSION> --storage-account <STORAGE_NAME> \ --deployment-storage-auth-type UserAssignedIdentity --deployment-storage-auth-value "func-host-storage-user"az functionapp create --resource-group "AzureFunctionsQuickstart-rg" --name <APP_NAME> --flexconsumption-location <REGION> \ --runtime python --runtime-version <LANGUAGE_VERSION> --storage-account <STORAGE_NAME> \ --deployment-storage-auth-type UserAssignedIdentity --deployment-storage-auth-value "func-host-storage-user"az functionapp create --resource-group "AzureFunctionsQuickstart-rg" --name <APP_NAME> --flexconsumption-location <REGION> \ --runtime python --runtime-version <LANGUAGE_VERSION> --storage-account <STORAGE_NAME> \ --deployment-storage-auth-type UserAssignedIdentity --deployment-storage-auth-value "func-host-storage-user"az functionapp create --resource-group "AzureFunctionsQuickstart-rg" --name <APP_NAME> --flexconsumption-location <REGION> \ --runtime other --storage-account <STORAGE_NAME> \ --deployment-storage-auth-type UserAssignedIdentity --deployment-storage-auth-value "func-host-storage-user"Ebben a példában cserélje le ezeket a helyőrzőket a megfelelő értékekre:
-
<APP_NAME>: az Ön számára megfelelő globálisan egyedi név. Az<APP_NAME>egyben a függvényalkalmazás alapértelmezett DNS-tartományaként is szolgál, -
<STORAGE_NAME>: az előző lépésben használt fiók neve. -
<REGION>: az aktuális régió. -
<LANGUAGE_VERSION>: használja ugyanazt a támogatott nyelvi verzióját, amelyet helyben tesztelt, amikor alkalmazható.
Ez a parancs létrehoz egy függvényalkalmazást, amely a megadott linuxos nyelvi futtatókörnyezetben fut a Rugalmas használat csomagban, amely ingyenes az itt felmerülő használatért. A parancs egy társított Azure Application Insights-példányt is létrehoz ugyanabban az erőforráscsoportban, amellyel figyelheti a függvényalkalmazások végrehajtását és megtekintheti a naplókat. További információ: Az Azure Functions monitorozása. Az instance nem okoz költségeket addig, amíg nem aktiválja.
-
Ezzel a szkripttel hozzáadhatja a felhasználó által hozzárendelt felügyelt identitást a Monitorozási metrikák közzétevője szerepkörhöz az Application Insights-példányban:
appInsights=$(az monitor app-insights component show --resource-group "AzureFunctionsQuickstart-rg" \ --app <APP_NAME> --query "id" --output tsv) principalId=$(az identity show --name "func-host-storage-user" --resource-group "AzureFunctionsQuickstart-rg" \ --query principalId -o tsv) az role assignment create --role "Monitoring Metrics Publisher" --assignee $principalId --scope $appInsightsEbben a példában cserélje le
<APP_NAME>a függvényalkalmazás nevét. Az az role assignment create parancs hozzáadja a felhasználót a szerepkörhöz. Az Application Insights-példány erőforrás-azonosítóját és a felhasználó főazonosítóját az az monitor app-insights komponens show ésaz identity showparancsok használatával szerezheti be.
Alkalmazásbeállítások frissítése
Ha engedélyezni szeretné a Functions-gazdagép számára, hogy megosztott titkos kódokkal csatlakozzon az alapértelmezett tárfiókhoz, cserélje le a AzureWebJobsStorage kapcsolati sztringbeállítást több előtaggal ellátott beállításra AzureWebJobsStorage__. Ezek a beállítások egy összetett beállítást határoznak meg, amelyet az alkalmazás a tárolóhoz és az Application Insightshoz való csatlakozáshoz használ egy felhasználó által hozzárendelt felügyelt identitással.
Ezzel a szkripttel lekérheti a felhasználó által hozzárendelt felügyelt identitás ügyfél-azonosítóját, és használatával definiálhat felügyelt identitáskapcsolatokat a Storage és az Application Insights számára is:
clientId=$(az identity show --name func-host-storage-user \ --resource-group AzureFunctionsQuickstart-rg --query 'clientId' -o tsv) az functionapp config appsettings set --name <APP_NAME> --resource-group "AzureFunctionsQuickstart-rg" \ --settings AzureWebJobsStorage__accountName=<STORAGE_NAME> \ AzureWebJobsStorage__credential=managedidentity AzureWebJobsStorage__clientId=$clientId \ APPLICATIONINSIGHTS_AUTHENTICATION_STRING="ClientId=$clientId;Authorization=AAD"Ebben a szkriptben cserélje le a
<APP_NAME>és<STORAGE_NAME>helyőrzőket a függvényalkalmazás és a tárfiók nevére, ennek sorrendjében.Futtassa az az functionapp config appsettings delete parancsot a meglévő
AzureWebJobsStoragekapcsolati karakterlánc beállítás eltávolításához, amely egy megosztott titkos kulcsot tartalmaz:az functionapp config appsettings delete --name <APP_NAME> --resource-group "AzureFunctionsQuickstart-rg" --setting-names AzureWebJobsStorageEbben a példában cserélje le
<APP_NAME>a függvényalkalmazás nevére.
Ezen a ponton a Functions-gazdagép biztonságosan csatlakozhat a tárfiókhoz a megosztott titkos kódok helyett felügyelt identitások használatával. Most már üzembe helyezheti a projektkódot az Azure-erőforrásokban.
A függvényprojekt üzembe helyezése az Azure-ban
Miután sikeresen létrehozta a függvényalkalmazást az Azure-ban, készen áll a helyi függvényprojekt üzembe helyezésére a func azure functionapp publish parancs használatával.
A gyökérprojekt mappájában futtassa ezt a
func azure functionapp publishparancsot:func azure functionapp publish <APP_NAME>Ebben a példában cserélje le a
<APP_NAME>karaktert az alkalmazás nevére. A sikeres üzembe helyezés az alábbi kimenethez hasonló eredményeket jelenít meg (az egyszerűség kedvéért csonkolt):... Getting site publishing info... Creating archive for current directory... Performing remote build for functions project. ... Deployment successful. Remote build succeeded! Syncing triggers... Functions in msdocs-azurefunctions-qs: HttpExample - [httpTrigger] Invoke url: https://msdocs-azurefunctions-qs.azurewebsites.net/api/httpexampleA helyi terminálban vagy parancssorban futtassa ezt a parancsot az URL-végpont értékének lekéréséhez, beleértve a hozzáférési kulcsot is:
func azure functionapp list-functions <APP_NAME> --show-keysEbben a példában ismét cserélje le a
<APP_NAME>elemet az alkalmazása nevére.Másolja ki a visszaadott végpont URL-címét és kulcsát, amelyet a függvényvégpont meghívásához használ.
A pom.xml fájl frissítése
Miután sikeresen létrehozta a függvényalkalmazást az Azure-ban, frissítse a pom.xml fájlt, hogy a Maven üzembe helyezhesse az új alkalmazásban. Ellenkező esetben a Maven új Azure-erőforrásokat hoz létre az üzembe helyezés során.
Az Azure Cloud Shellben ezzel a
az functionapp showparanccsal szerezheti be az üzembehelyezési tároló URL-címét és azonosítóját az új, felhasználó által hozzárendelt felügyelt identitáshoz:az functionapp show --name <APP_NAME> --resource-group AzureFunctionsQuickstart-rg \ --query "{userAssignedIdentityResourceId: properties.functionAppConfig.deployment.storage.authentication.userAssignedIdentityResourceId, \ containerUrl: properties.functionAppConfig.deployment.storage.value}"Ebben a példában cserélje le
<APP_NAME>a függvényalkalmazás nevére.A projekt gyökérkönyvtárában nyissa meg a pom.xml fájlt egy szövegszerkesztőben, keresse meg az
propertieselemet, és frissítse az alábbi tulajdonságértékeket:Tulajdonság megnevezése Value java.versionHasználja ugyanazt a támogatott nyelvi veremverziót , amelyet helyileg ellenőrzött, például 17.azure.functions.maven.plugin.version1.37.1azure.functions.java.library.version3.1.0functionAppNameA függvény-alkalmazás neve az Azure-ban. Keresse meg a
configurationszakasztazure-functions-maven-plugin, és cserélje le erre az XML-töredékre:<configuration> <appName>${functionAppName}</appName> <resourceGroup>AzureFunctionsQuickstart-rg</resourceGroup> <pricingTier>Flex Consumption</pricingTier> <region>....</region> <runtime> <os>linux</os> <javaVersion>${java.version}</javaVersion> </runtime> <deploymentStorageAccount>...</deploymentStorageAccount> <deploymentStorageResourceGroup>AzureFunctionsQuickstart-rg</deploymentStorageResourceGroup> <deploymentStorageContainer>...</deploymentStorageContainer> <storageAuthenticationMethod>UserAssignedIdentity</storageAuthenticationMethod> <userAssignedIdentityResourceId>...</userAssignedIdentityResourceId> <appSettings> <property> <name>FUNCTIONS_EXTENSION_VERSION</name> <value>~4</value> </property> </appSettings> </configuration>Az új
configurationelemben hajtsa végre az ellipszis (...) értékeinek konkrét cseréjét.Configuration Value regionA meglévő függvényalkalmazás régiókódja, például eastus.deploymentStorageAccountA tárfiók neve. deploymentStorageContainerAz üzembe helyezési megosztás neve, amely a megszerzett \értéket követicontainerUrlután.userAssignedIdentityResourceIdA felügyelt identitásod teljes erőforrás-azonosítója, amelyet beszereztél. Mentse a módosításokat a pom.xml fájlba.
Mostantól a Maven használatával üzembe helyezheti a kódprojektet a meglévő alkalmazásban.
A függvényprojekt üzembe helyezése az Azure-ban
A parancssorból futtassa a következő parancsot:
mvn clean package azure-functions:deployAz üzembe helyezés sikerességét követően futtassa ezt a Core Tools parancsot az URL-végpont értékének lekéréséhez, beleértve a hozzáférési kulcsot is:
func azure functionapp list-functions <APP_NAME> --show-keysEbben a példában ismét cserélje le a
<APP_NAME>elemet az alkalmazása nevére.Másolja ki a visszaadott végpont URL-címét és kulcsát, amelyet a függvényvégpont meghívásához használ.
A függvény meghívása az Azure-ban
Mivel a függvény HTTP-eseményindítót használ, és támogatja a GET kéréseket, a függvényszintű hozzáférési kulccsal http-kérést kell küldenie az URL-címére. A GET-kérések böngészőben való végrehajtása a legegyszerűbb.
Illessze be a böngésző címsorába másolt URL-címet és hozzáférési kulcsot.
A végpont URL-címének a következő példához hasonlóan kell kinéznie:
https://contoso-app.azurewebsites.net/api/httpexample?code=aabbccdd...
Ebben az esetben meg kell adnia egy hozzáférési kulcsot is a lekérdezési sztringben, amikor GET kérést küld a végpont URL-címére. A hozzáférési kulcs használata ajánlott a véletlenszerű ügyfelek hozzáférésének korlátozásához. HA POST-kérést küld HTTP-ügyféllel, ehelyett a fejlécben kell megadnia a x-functions-key hozzáférési kulcsot.
Ha erre az URL-címre lép, a böngészőnek hasonló kimenetet kell megjelenítenie, mint a függvény helyi futtatásakor.
Erőforrások tisztítása
Ha folytatja a következő lépésre, és hozzáad egy Azure Storage-üzenetsor kimeneti kötést, tartsa az összes erőforrást a helyén, miközben a már elvégzett feladatokra épít.
Ellenkező esetben a következő paranccsal törölje az erőforráscsoportot és annak összes benne foglalt erőforrását, hogy elkerülje a további költségek felmerülését.
az group delete --name AzureFunctionsQuickstart-rg