Az Azure Functions használata az Azure Container Appsben

Ez a cikk bemutatja, hogyan hozhat létre Azure Functions-alkalmazást az Azure Container Appsben előre konfigurált automatikus skálázási szabályokkal kiegészítve.

Előfeltételek

Erőforrás Leírás
Azure-fiók Egy Azure-fiók, aktív előfizetéssel.

Ha nincs ilyenje, hozzon létre egyet ingyen.
Azure Storage-fiók Blob Storage-fiók az Azure Functions állapotának tárolásához.
Azure-alkalmazás Insights Az Azure-alkalmazás Insights egy példánya, amely adatokat gyűjt a tárolóalkalmazásról.

Függvényalkalmazás létrehozása

Az alábbi lépések bemutatják, hogyan hozhatja létre a tárolóalkalmazást minta tárolórendszerkép használatával. Ha ezt az eljárást egyéni tárolórendszerképpel szeretné használni, olvassa el az első függvényalkalmazás létrehozása az Azure Container Appsben című témakört.

  1. Nyissa meg az Azure Portalt, és keresse meg a Container Appst a keresősávon.

  2. Válassza a Container Apps lehetőséget.

  3. Válassza a Create gombot.

  4. Válassza a Tárolóalkalmazás lehetőséget.

  5. Az Alapok szakaszban adja meg a következő értékeket.

    A Projekt részletei:

    Ingatlan Érték
    Előfizetés Válassza ki az Azure-előfizetését.
    Erőforráscsoport Válassza az Új erőforráscsoport létrehozása lehetőséget, nevezze el a my-aca-functions-group nevet, majd kattintson az OK gombra.
    Tárolóalkalmazás neve Adja meg a my-aca-functions-appot.
  6. Az Azure Functions optimalizálása mellett jelölje be a jelölőnégyzetet.

    Képernyőkép az Azure Portalról az Azure Functionshez előre konfigurált tárolóalkalmazás létrehozásakor.

  7. A Container Apps-környezet alatt adja meg a következőt:

    Ingatlan Érték
    Régió Válasszon ki egy Önhöz legközelebbi régiót.
    Container Apps-környezet Válassza az Új környezet létrehozása lehetőséget.
  8. A környezet beállítási ablakában adja meg a következőt:

    Ingatlan Érték
    Környezet neve Adja meg my-aca-functions-environment
    Zóna redundancia Válassza a Letiltva lehetőséget.
  9. Az értékek mentéséhez válassza a Létrehozás lehetőséget .

  10. Válassza a Tovább: Tároló lehetőséget a Tároló szakaszra való váltáshoz.

  11. A Gyorsútmutató-rendszerkép használata mellett hagyja bejelöletlenül ezt a jelölőnégyzetet.

  12. A Tároló részletei szakaszban adja meg a következő értékeket.

    Ingatlan Érték
    Név Ez a mező előre ki van töltve az előző szakaszban megadott kijelöléssel.
    Kép forrása Válassza a Docker Hubot vagy más regisztrációs adatbázisokat
    Előfizetés Válassza ki az előfizetését.
    Lemezkép típusa Válassza a Nyilvános lehetőséget.
    Regisztrációs adatbázis bejelentkezési kiszolgálója Adja meg mcr.microsoft.com
    Kép és címke Adja meg a k8se/quickstart-functions:latest parancsot.
  13. A Környezeti változók csoportban adja meg a következő változók értékeit:

    • AzureWebJobsStorage
    • APPINSIGHTS_INSTRUMENTATIONKEY vagy APPLICATIONINSIGHTS_CONNECTION_STRING

    Adjon meg felügyelt identitás- vagy kapcsolati sztringértékeket ezekhez a változókhoz. Használjon felügyelt identitást.

    A AzureWebJobsStorage változó az Azure Functionshez szükséges Azure Storage-fiók kapcsolati sztringje. Ez a tárfiók tárolja a függvényvégrehajtási naplókat, kezeli az eseményindítókat és kötéseket, valamint fenntartja a tartós függvények állapotát.

    Az Application Insights egy monitorozási és diagnosztikai szolgáltatás, amely betekintést nyújt az Azure Functions teljesítményébe és használatába. Ez a monitorozási szolgáltatás segít nyomon követni a kérések arányát, a válaszidőket, a hibaarányokat és más metrikákat.

  14. A Következő > bejövő forgalom lehetőséget választva váltson a Bejövő forgalom szakaszra, és adja meg a következő értékeket.

    Ingatlan Érték
    Belépés A bejövő forgalom engedélyezéséhez jelölje be az Engedélyezett jelölőnégyzetet.
    Bejövő forgalom Válassza a Forgalom elfogadása bárhonnan lehetőséget.
    Bejövő forgalom típusa Válassza a HTTP lehetőséget.
    Célport Adja meg a 80-at.
  15. Válassza a Felülvizsgálat és létrehozás lehetőséget.

  16. Válassza a Create gombot.

  17. Az üzembe helyezés befejezése után válassza az Erőforrás megnyitása lehetőséget.

  18. Az Áttekintés lapon válassza az Alkalmazás URL-címe melletti hivatkozást az alkalmazás új böngészőlapon való megnyitásához.

  19. Fűzze hozzá /api/HttpExample az URL-cím végéhez.

    A böngésző a "HTTP triggerfüggvény feldolgozta a kérést" üzenetet adja vissza.

Előfeltételek

Függvényalkalmazás létrehozása

Ha a parancssori felületről szeretne bejelentkezni az Azure-ba, futtassa a következő parancsot, és kövesse az utasításokat a hitelesítési folyamat befejezéséhez.

  1. Jelentkezzen be az Azure-ba.

    az login
    
  2. A parancssori felület legújabb verziójának futtatásához futtassa a frissítési parancsot.

    az upgrade
    
  3. Telepítse vagy frissítse az Azure Container Apps bővítményt a parancssori felülethez.

    Ha hibaüzenetet kap a hiányzó paraméterekről, amikor parancsokat futtat az containerapp az Azure CLI-ben vagy parancsmagokat a Az.App PowerShell-modulból, győződjön meg arról, hogy telepítve van az Azure Container Apps bővítmény legújabb verziója.

    az extension add --name containerapp --allow-preview true --upgrade
    
    
    

    Most, hogy az aktuális bővítmény vagy modul telepítve van, regisztrálja a Microsoft.App és Microsoft.OperationalInsights névtereket.

    az provider register --namespace Microsoft.App
    
    az provider register --namespace Microsoft.OperationalInsights
    
  4. Környezeti változók létrehozása.

    RESOURCE_GROUP_NAME="my-aca-functions-group"
    CONTAINER_APP_NAME="my-aca-functions-app"
    ENVIRONMENT_NAME="my-aca-functions-environment"
    LOCATION="westus"
    STORAGE_ACCOUNT_NAME="storage-account-name"
    STORAGE_ACCOUNT_SKU="storage-account-sku"
    APPLICATION_INSIGHTS_NAME="application-insights-name"
    
  5. Hozzon létre egy erőforráscsoportot.

    az group create \
      --name $RESOURCE_GROUP_NAME \
      --location $LOCATION \
      --output none
    
  6. Hozza létre a Container Apps-környezetet.

    az containerapp env create \
        --name $ENVIRONMENT_NAME \
        --resource-group $RESOURCE_GROUP_NAME \
        --location $LOCATION \
        --output none
    
  7. Tárfiók létrehozása

    az storage account create \
      --name $STORAGE_ACCOUNT_NAME \
      --resource-group $RESOURCE_GROUP \
      --location $LOCATION \
      --sku $STORAGE_ACCOUNT_SKU
    
  8. Tárfiók kapcsolati sztringének beszerzése

    $STORAGE_ACCOUNT_CONNECTION_STRING = az storage account show-connection-string \
      --name $STORAGE_ACCOUNT_NAME \
      --resource-group $RESOURCE_GROUP \
      --query connectionString \
      --output tsv
    
  9. Azure Applications Insights létrehozása

    az monitor app-insights component create \
    --app $APPLICATION_INSIGHTS_NAME \
    --location $LOCATION \
      --resource-group $RESOURCE_GROUP \
      --application-type web
    
  10. Application Insights kapcsolati sztring beszerzése

    $APPLICATION_INSIGHTS_CONNECTION_STRING = az monitor app-insights component show \
      --app $APPLICATION_INSIGHTS_NAME \
      --resource-group $RESOURCE_GROUP \
      --query connectionString \
      --output tsv
    
  11. Azure Functions-tárolóalkalmazás létrehozása.

    az containerapp create \
      --resource-group $RESOURCE_GROUP_NAME \
      --name $CONTAINER_APP_NAME \
      --environment $ENVIRONMENT_NAME \
      --image mcr.microsoft.com/azure-functions/dotnet8-quickstart-demo:1.0 \
      --ingress external \
      --target-port 80 \
      --kind functionapp \
      --query properties.outputs.fqdn
    

    Ez a parancs a Functions-alkalmazás URL-címét adja vissza. Másolja ki ezt az URL-címet, és illessze be egy webböngészőbe.

  12. Azure Functions-tárolóalkalmazás létrehozása többrevíziós forgatókönyvhöz --revisions-mode multiple

    az containerapp create \
      --name $CONTAINERAPP_NAME \
      --resource-group $RESOURCE_GROUP \
      --environment $CONTAINERAPPS_ENVIRONMENT \
      --image mcr.microsoft.com/azure-functions/dotnet8-quickstart-demo:1.0 \
      --target-port 80 \
      --ingress external \
      --kind functionapp \
      --workload-profile-name $WORKLOAD_PROFILE_NAME \
      --env-vars AzureWebJobsStorage="$STORAGE_ACCOUNT_CONNECTION_STRING" APPLICATIONINSIGHTS_CONNECTION_STRING="$APPLICATION_INSIGHTS_CONNECTION_STRING"
    
  13. Többrevíziós forgatókönyv esetén frissítse a tárolóalkalmazást, és ossza meg a forgalmat

    az containerapp update \
      --resource-group $RESOURCE_GROUP \
      --name $CONTAINERAPP_NAME \
      --image mcr.microsoft.com/azure-functions/dotnet8-quickstart-demo:latest
    
    az containerapp ingress traffic set -resource-group \
      --name $CONTAINERAPP_NAME \
      --resource-group $RESOURCE_GROUP \
      --revision-weight {revision1_name}=50 \
      --revision-weight {revision2_name}=50
    
  14. Fűzze hozzá /api/HttpExample az URL-cím végéhez.

    A böngésző a "HTTP triggerfüggvény feldolgozta a kérést" üzenetet adja vissza.