Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se dozvíte, jak vytvořit aplikaci Azure Functions v Azure Container Apps s předem nakonfigurovanými pravidly automatického škálování.
Požadavky
| Zdroj | Popis |
|---|---|
| Účet Azure | Účet Azure s aktivním předplatným. Pokud jej nemáte, můžete si jej zdarma vytvořit. |
| Účet služby Azure Storage | Účet úložiště objektů blob pro ukládání stavu pro službu Azure Functions. |
| Azure Application Insights | Instance Azure Application Insights ke shromažďování dat o vaší kontejnerové aplikaci. |
Vytvoření aplikace Functions
Následující kroky ukazují, jak pomocí ukázkové image kontejneru vytvořit aplikaci kontejneru. Pokud chcete tento postup použít s vlastní imagí kontejneru, přečtěte si téma Vytvoření první aplikace funkcí v Azure Container Apps.
Přejděte na web Azure Portal a na panelu hledání vyhledejte kontejnerové aplikace .
Vyberte Kontejnerové aplikace.
Vyberte Vytvořit.
Výběr kontejnerové aplikace
V části Základy zadejte následující hodnoty.
V části Project details (Podrobnosti projektu):
Vlastnictví Hodnota Předplatné Vyberte své předplatné Azure. Skupina zdrojů Vyberte Vytvořit novou skupinu prostředků, pojmenujte ji my-aca-functions-group a vyberte OK. Název kontejnerové aplikace Zadejte my-aca-functions-app. Vedle možnosti Optimalizovat pro Azure Functions zaškrtněte políčko.
V části Prostředí Container Apps zadejte:
Vlastnictví Hodnota Región Vyberte oblast, která je k vám nejblíže. Prostředí Container Apps Vyberte Vytvořit nové prostředí. V okně nastavení prostředí zadejte:
Vlastnictví Hodnota Název prostředí Zadejte my-aca-functions-environment. Zónová redundance Vyberte Zakázáno. Vyberte Vytvořit a uložte hodnoty.
Vyberte Další: Kontejner pro přechod na sekci Kontejner.
Vedle obrázku Rychlého startu ponechte toto políčko nezaškrtnuté.
V části Podrobnosti kontejneru zadejte následující hodnoty.
Vlastnictví Hodnota Název Toto pole bylo předem vyplněno vaším výběrem v poslední části. Zdroj obrázku Výběr Centra Dockeru nebo jiných registrů Předplatné Vyberte své předplatné. Typ obrázku Vyberte Veřejný. Přihlašovací server registru Zadejte mcr.microsoft.com Obrázek a značka Zadejte k8se/quickstart-functions:latest V části Proměnné prostředí zadejte hodnoty následujících proměnných:
AzureWebJobsStorage-
APPINSIGHTS_INSTRUMENTATIONKEYneboAPPLICATIONINSIGHTS_CONNECTION_STRING
Zadejte buď hodnoty pro spravovanou identitu nebo připojovací řetězec pro tyto proměnné. Doporučuje se spravovaná identita.
Proměnná
AzureWebJobsStorageje požadovaný připojovací řetězec účtu služby Azure Storage pro Azure Functions. Tento účet úložiště ukládá protokoly spouštění funkcí, spravuje triggery a vazby a udržuje stav trvalých funkcí.Application Insights je monitorovací a diagnostická služba, která poskytuje přehled o výkonu a využití služby Azure Functions. Toto monitorování vám pomůže sledovat míry požadavků, doby odezvy, míry selhání a další metriky.
Vyberte další Ingress> pro přepnutí do oddílu Ingress a zadejte následující hodnoty.
Vlastnictví Hodnota Vstup Chcete-li povolit příchozí přenos dat, zaškrtněte políčko Povoleno . Příchozí přenos dat Vyberte Přijmout provoz odkudkoli. Typ příchozího přenosu dat Vyberte HTTP. Cílový port Zadejte 80. Vyberte Zkontrolovat a vytvořit.
Vyberte Vytvořit.
Jakmile je nasazení dokončeno, vyberte Přejít k prostředku.
Na stránce Přehled vyberte odkaz vedle adresy URL aplikace a otevřete aplikaci na nové kartě prohlížeče.
Připojte
/api/HttpExamplena konec adresy URL.V prohlížeči se vrátí zpráva "Funkce triggeru HTTP zpracovala požadavek".
Požadavky
- Účet Azure s aktivním předplatným.
- Pokud jej nemáte, můžete si jej zdarma vytvořit.
- Nainstalujte Azure CLI.
Vytvoření aplikace Functions
Chcete-li se přihlásit do Azure z příkazového řádku, spusťte následující příkaz a postupujte podle pokynů pro dokončení procesu ověření.
Přihlaste se k Azure.
az loginAbychom zajistili, že používáte nejnovější verzi CLI, spusťte příkaz pro upgrade.
az upgradeNainstalujte nebo aktualizujte rozšíření Azure Container Apps pro rozhraní příkazového řádku.
Pokud při spuštění příkazů
az containerappv Azure CLI nebo cmdletů z moduluAz.Appv PowerShell dostáváte chyby týkající se chybějících parametrů, ujistěte se, že máte nainstalovanou nejnovější verzi rozšíření Azure Container Apps.az extension add --name containerapp --allow-preview true --upgradeNyní, když je aktuální rozšíření nebo modul nainstalováno, zaregistrujte jmenné prostory
Microsoft.AppaMicrosoft.OperationalInsights.az provider register --namespace Microsoft.Appaz provider register --namespace Microsoft.OperationalInsightsVytvořte proměnné prostředí.
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"Vytvořte skupinu prostředků.
az group create \ --name $RESOURCE_GROUP_NAME \ --location $LOCATION \ --output noneVytvořte prostředí Container Apps.
az containerapp env create \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP_NAME \ --location $LOCATION \ --output noneVytvoření účtu úložiště
az storage account create \ --name $STORAGE_ACCOUNT_NAME \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --sku $STORAGE_ACCOUNT_SKUZískání připojovacího řetězce účtu úložiště
$STORAGE_ACCOUNT_CONNECTION_STRING = az storage account show-connection-string \ --name $STORAGE_ACCOUNT_NAME \ --resource-group $RESOURCE_GROUP \ --query connectionString \ --output tsvVytváření Přehledů aplikací Azure
az monitor app-insights component create \ --app $APPLICATION_INSIGHTS_NAME \ --location $LOCATION \ --resource-group $RESOURCE_GROUP \ --application-type webZískat připojovací řetězec pro Application Insights
$APPLICATION_INSIGHTS_CONNECTION_STRING = az monitor app-insights component show \ --app $APPLICATION_INSIGHTS_NAME \ --resource-group $RESOURCE_GROUP \ --query connectionString \ --output tsvVytvořte aplikaci kontejneru Azure Functions.
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.fqdnTento příkaz vrátí adresu URL aplikace Functions. Zkopírujte tuto adresu URL a vložte ji do webového prohlížeče.
Vytvoření kontejnerové aplikace Azure Functions s režimem revizí 'multiple' pro multirevizní scénář
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"V případě scénáře s více revizemi upgradujte ContainerApp a rozdělte provoz.
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}=50Připojte
/api/HttpExamplena konec adresy URL.V prohlížeči se vrátí zpráva "Funkce triggeru HTTP zpracovala požadavek".
Správa funkcí
Nasazené funkce v Azure Container Apps můžete spravovat pomocí Azure CLI. Následující příkazy vám pomůžou vypsat, zkontrolovat a pracovat s funkcemi spuštěnými v kontejnerizovaném prostředí.
Poznámka:
Pokud pracujete se scénáři s více revizemi, přidejte parametr --revision <REVISION_NAME> do příkazu, který bude cílit na konkrétní revizi.
Funkce seznamu
Zobrazení všech funkcí nasazených v aplikaci kontejneru:
# List all functions
az containerapp function list \
--resource-group $RESOURCE_GROUP \
--name $CONTAINERAPP_NAME
Zobrazit podrobnosti funkce
Získejte podrobné informace o konkrétní funkci:
az containerapp function show \
--resource-group $RESOURCE_GROUP \
--name $CONTAINERAPP_NAME \
--function-name <FUNCTIONS_APP_NAME>
Monitorování vyvolání funkcí
Monitorování aplikace funkcí je nezbytné pro pochopení jeho výkonu a diagnostiky problémů. Následující příkazy ukazují, jak načíst adresy URL funkcí, aktivovat vyvolání a zobrazit podrobné souhrny telemetrie a vyvolání pomocí Azure CLI.
Před voláním curl -X POST "fqdn/api/HttpExample" trasování se ujistěte, že funkci několikrát vyvoláte.
Pokud chcete zobrazit trasování volání, získejte podrobné trasování volání funkcí.
az containerapp function invocations traces \ --name $CONTAINERAPP_NAME \ --resource-group $RESOURCE_GROUP \ --function-name <FUNCTIONS_APP_NAME> \ --timespan 5h \ --limit 3Zobrazte souhrn vyvolání a zkontrolujte úspěšné a neúspěšné vyvolání.
az containerapp function invocations summary \ --name $CONTAINERAPP_NAME \ --resource-group $RESOURCE_GROUP \ --function-name <FUNCTIONS_APP_NAME> \ --timespan 5h
Správa klíčů funkcí
Azure Functions používá klíče k ověřování a autorizaci. Můžete spravovat následující typy klíčů:
- Klíče hostitele: Přístup k libovolné funkci v aplikaci
- Hlavní klíče: Zajištění přístupu pro správu
- Systémové klíče: Používá se službami Azure
- Funkční klávesy: Přístup ke konkrétním funkcím
Následující příkazy ukazují, jak spravovat klíče pro hostitele. Pokud chcete spustit stejný příkaz pro konkrétní aplikaci Functions, přidejte --function-name <FUNCTIONS_APP_NAME> do příkazu parametr.
Seznam klíčů
Pomocí následujících příkazů můžete vypsat klíče specifické pro hostitele a funkce pro službu Azure Functions spuštěné v Container Apps.
Poznámka:
Udržujte minimálně jednu repliku spuštěnou, aby fungovaly následující příkazy pro správu klíčů.
az containerapp function keys list \
--resource-group $RESOURCE_GROUP \
--name $CONTAINERAPP_NAME \
--key-type hostKey
Zobrazení konkrétního klíče
Pomocí následujícího příkazu zobrazte hodnotu konkrétního klíče na úrovni hostitele pro vaši aplikaci funkcí:
az containerapp function keys show \
--resource-group $RESOURCE_GROUP \
--name $CONTAINERAPP_NAME \
--key-name <KEY_NAME> \
--key-type hostKey
Nastavení klíče
Pomocí následujícího příkazu nastavte pro vaši aplikaci funkcí konkrétní klíč na úrovni hostitele:
az containerapp function keys set \
--resource-group $RESOURCE_GROUP \
--name $CONTAINERAPP_NAME \
--key-name <KEY_NAME> \
--key-value <KEY_VALUE> \
--key-type hostKey