Megosztás a következőn keresztül:


Rövid útmutató: Függvény létrehozása az Azure-ban a parancssorból

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

  • Ugrás, a legújabb verzió ajánlott. Használja a go version parancsot verziójának ellenőrzéséhez.

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:

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.

  1. Egy terminálban vagy parancssorban futtassa ezt a func init parancsot egy függvényalkalmazás-projekt létrehozásához az aktuális mappában:

    func init --worker-runtime dotnet-isolated 
    
  1. Egy terminálban vagy parancssorban futtassa ezt a func init parancsot egy függvényalkalmazás-projekt létrehozásához az aktuális mappában:

    func init --worker-runtime node --language javascript 
    
  1. Egy terminálban vagy parancssorban futtassa ezt a func init parancsot egy függvényalkalmazás-projekt létrehozásához az aktuális mappában:

    func init --worker-runtime powershell 
    
  1. Egy terminálban vagy parancssorban futtassa ezt a func init parancsot egy függvényalkalmazás-projekt létrehozásához az aktuális mappában:

    func init --worker-runtime python 
    
  1. Egy terminálban vagy parancssorban futtassa ezt a func init parancsot egy függvényalkalmazás-projekt létrehozásához az aktuális mappában:

    func init --worker-runtime node --language typescript 
    
  1. Egy terminálban vagy parancssorban futtassa ezt a func init parancsot egy függvényalkalmazás-projekt létrehozásához az aktuális mappában:

    func init --worker-runtime custom 
    
  1. Egy üres mappában futtassa ezt a mvn parancsot 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=17
    

    Important

    • Használja a -DjavaVersion=11 kapcsolót, ha a függvényeket Java 11-en szeretné futtatni. További információ: Java-verziók.
    • A cikk elvégzéséhez állítsa a JAVA_HOME környezeti változót a JDK megfelelő verziójának telepítési helyére.
  2. A 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.fabrikam Olyan érték, amely egyedileg azonosítja a projektet az összes projektben, a Java csomagelnevezési szabályait követve.
    artifactId fabrikam-functions Olyan érték, amely a jar neve, verziószám nélkül.
    version 1.0-SNAPSHOT Válassza ki az alapértelmezett értéket.
    package com.fabrikam Egy érték, amely a létrehozott függvénykód Java-csomagja. Használja az alapértelmezettet.
  3. Írja be Y vagy 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.

  4. Navigáljon a projektmappába:

    cd fabrikam-functions
    

    Az ú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.

  1. Ezzel a func new paranccsal 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 --name argumentum a függvény egyedi neve (HttpExample) és az --template argumentum 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.

  1. Ú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).

  2. 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))
    }
    
  3. 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.

  4. Á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.

  1. Nyissa meg a host.json.

  2. A szakaszban állítsa a customHandler.description következő értékre defaultExecutablePathhandler (Windows rendszeren: handler.exe).

  3. customHandler A szakaszban adjon hozzá egy elnevezett enableForwardingHttpRequest 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.

  4. 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.

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.

  1. Ezzel a paranccsal indítsa el a helyi Azure Functions-futtatókörnyezet-gazdagépet a projektmappa gyökerében:

    func start  
    
    npm install
    npm start
    
    mvn clean package  
    mvn azure-functions:run
    

    A 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
     ...
    
     
  2. Másolja a függvény URL-címét HttpExample ebbő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.

  3. 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.

  1. Ha még nem tette meg, jelentkezzen be az Azure-ba:

    az login
    

    A az login parancs bejelentkezteti Önt az Azure-fiókjába. Hagyja ki ezt a lépést az Azure Cloud Shellben való futtatáskor.

  2. Ha még nem tette meg, a az extension add következő paranccsal telepítse az Application Insights bővítményt:

    az extension add --name application-insights
    
  3. Ezzel az az group create paranccsal hozzon létre egy, a kiválasztott régióban elnevezett AzureFunctionsQuickstart-rg erő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.

  4. 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_LRS egy á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.

  5. 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 adjon Storage Blob Data Owner engedé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 $storageId
    

    Ha nincs meg a jq segé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-user A visszaadott principalId parancs használatával engedélyeket rendelhet ehhez az új identitáshoz az alapértelmezett tárfiókban az role assignment create . A az storage account show parancs a tárfiók azonosítójának lekérésére szolgál.

  6. 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.

  7. 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 $appInsights
    

    Ebben 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 és az identity show parancsok 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.

  1. 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.

  2. Futtassa az az functionapp config appsettings delete parancsot a meglévő AzureWebJobsStorage kapcsolati 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 AzureWebJobsStorage
    

    Ebben 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.

  1. A gyökérprojekt mappájában futtassa ezt a func azure functionapp publish parancsot:

    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/httpexample
     
  2. A 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-keys
    

    Ebben a példában ismét cserélje le a <APP_NAME> elemet az alkalmazása nevére.

  3. 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.

  1. Az Azure Cloud Shellben ezzel a az functionapp show paranccsal 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.

  2. A projekt gyökérkönyvtárában nyissa meg a pom.xml fájlt egy szövegszerkesztőben, keresse meg az properties elemet, és frissítse az alábbi tulajdonságértékeket:

    Tulajdonság megnevezése Value
    java.version Használja ugyanazt a támogatott nyelvi veremverziót , amelyet helyileg ellenőrzött, például 17.
    azure.functions.maven.plugin.version 1.37.1
    azure.functions.java.library.version 3.1.0
    functionAppName A függvény-alkalmazás neve az Azure-ban.
  3. Keresse meg a configuration szakaszt azure-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>
    
  4. Az új configuration elemben hajtsa végre az ellipszis (...) értékeinek konkrét cseréjét.

    Configuration Value
    region A meglévő függvényalkalmazás régiókódja, például eastus.
    deploymentStorageAccount A tárfiók neve.
    deploymentStorageContainer Az üzembe helyezési megosztás neve, amely a megszerzett \ értéket követi containerUrl után.
    userAssignedIdentityResourceId A felügyelt identitásod teljes erőforrás-azonosítója, amelyet beszereztél.
  5. 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

  1. A parancssorból futtassa a következő parancsot:

    mvn clean package azure-functions:deploy
    
  2. Az ü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-keys
    

    Ebben a példában ismét cserélje le a <APP_NAME> elemet az alkalmazása nevére.

  3. 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

Következő lépések