Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule pokazano, jak utworzyć aplikację usługi Azure Functions w usłudze Azure Container Apps wraz ze wstępnie skonfigurowanymi regułami skalowania automatycznego.
Wymagania wstępne
| Zasób | Opis |
|---|---|
| Konto platformy Azure | Konto Azure z aktywną subskrypcją. Jeśli go nie masz, utwórz go bezpłatnie. |
| Konto usługi Azure Storage | Konto usługi Blob Storage do przechowywania stanu dla usługi Azure Functions. |
| aplikacja systemu Azure Insights | Wystąpienie usługi aplikacja systemu Azure Insights do zbierania danych dotyczących aplikacji kontenera. |
Utwórz aplikację Functions
W poniższych krokach pokazano, jak utworzyć aplikację kontenera przy użyciu przykładowego obrazu kontenera. Jeśli chcesz użyć tej procedury z niestandardowym obrazem kontenera, zobacz Tworzenie pierwszej aplikacji funkcji w usłudze Azure Container Apps.
Przejdź do witryny Azure Portal i wyszukaj pozycję Container Apps na pasku wyszukiwania.
Wybierz aplikacje kontenerowe.
Wybierz Utwórz.
Wybierz Aplikację kontenera.
W sekcji Podstawy wprowadź następujące wartości.
Pod Szczegóły projektu:
Majątek Wartość Subskrypcja Wybierz subskrypcję platformy Azure. Grupa zasobów Wybierz pozycję Utwórz nową grupę zasobów, nadaj jej nazwę my-aca-functions-group, a następnie wybierz przycisk OK. Nazwa aplikacji kontenera Wprowadź my-aca-functions-app. Obok pozycji Optymalizacja pod kątem usługi Azure Functions zaznacz pole wyboru.
W polu Środowisko usługi Container Apps wprowadź:
Majątek Wartość Rejon Wybierz region najbliżej Ciebie. Środowisko usługi Container Apps Wybierz pozycję Utwórz nowe środowisko. W oknie konfiguracja środowiska wprowadź:
Majątek Wartość Nazwa środowiska Wprowadź my-aca-functions-environment Redundancja strefowa Wybierz opcję Wyłączone. Wybierz pozycję Utwórz , aby zapisać wartości.
Wybierz pozycję Dalej: Kontener , aby przełączyć się do sekcji Kontener .
Obok pozycji Użyj obrazu szybkiego startu pozostaw to pole niezaznaczone.
W sekcji Szczegóły kontenera wprowadź następujące wartości.
Majątek Wartość Nazwa To pole jest wstępnie wypełnione twoim wyborem z poprzedniej sekcji. Źródło obrazu Wybierz Docker Hub lub inne rejestry Subskrypcja Wybierz swoją subskrypcję. Typ obrazu Wybierz pozycję Publiczna. Serwer logowania rejestru Wprowadź mcr.microsoft.com Obraz i etykieta Wprowadź k8se/quickstart-functions:latest W obszarze Zmienne środowiskowe wprowadź wartości następujących zmiennych:
AzureWebJobsStorage-
APPINSIGHTS_INSTRUMENTATIONKEYlubAPPLICATIONINSIGHTS_CONNECTION_STRING
Wprowadź wartości tożsamości zarządzanej lub parametrów połączenia dla tych zmiennych. Korzystanie z tożsamości zarządzanej.
Zmienna
AzureWebJobsStoragejest wymaganym ciągiem połączenia konta usługi Azure Storage dla usługi Azure Functions. To konto magazynujące przechowuje dzienniki wykonywania funkcji, zarządza wyzwalaczami i powiązaniami oraz utrzymuje stan dla funkcji trwałej.Application Insights to usługa monitorowania i diagnostyki, która zapewnia wgląd w wydajność i użycie usługi Azure Functions. Ta usługa monitorowania pomaga śledzić współczynniki żądań, czasy odpowiedzi, współczynniki błędów i inne metryki.
Wybierz pozycję Dalej > Ingress, aby przejść do sekcji Ingress i wprowadzić następujące wartości.
Majątek Wartość Wejście Zaznacz pole wyboru Włączone, aby włączyć ingress. Ruch przychodzący Wybierz pozycję Akceptowanie ruchu z dowolnego miejsca. Typ ruchu wejściowego Wybierz pozycję HTTP. Port docelowy Wprowadź 80. Wybierz pozycję Przejrzyj i utwórz.
Wybierz Utwórz.
Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu.
Na stronie Przegląd wybierz link obok pozycji Adres URL aplikacji , aby otworzyć aplikację na nowej karcie przeglądarki.
Dołącz
/api/HttpExamplena końcu adresu URL.W przeglądarce jest zwracany komunikat "Funkcja wyzwalacza HTTP przetworzyła żądanie".
Wymagania wstępne
- Konto Azure z aktywną subskrypcją.
- Jeśli nie masz konta platformy Azure, utwórz je bezpłatnie.
- Zainstalowane Azure CLI.
Utwórz aplikację Functions
Aby zalogować się do platformy Azure z poziomu interfejsu wiersza polecenia, uruchom następujące polecenie i postępuj zgodnie z monitami, aby ukończyć proces uwierzytelniania.
Zaloguj się do Azure.
az loginAby upewnić się, że używasz najnowszej wersji interfejsu wiersza polecenia, uruchom polecenie uaktualniania.
az upgradeZainstaluj lub zaktualizuj rozszerzenie usługi Azure Container Apps dla interfejsu wiersza polecenia.
Jeśli podczas uruchamiania poleceń
az containerappw Azure CLI lub poleceń cmdlet z modułuAz.Appw PowerShell wystąpią błędy dotyczące brakujących parametrów, upewnij się, że masz zainstalowaną najnowszą wersję rozszerzenia Azure Container Apps.az extension add --name containerapp --allow-preview true --upgradeTeraz, po zainstalowaniu bieżącego rozszerzenia lub modułu, zarejestruj przestrzenie nazw
Microsoft.AppiMicrosoft.OperationalInsights.az provider register --namespace Microsoft.Appaz provider register --namespace Microsoft.OperationalInsightsUtwórz zmienne środowiskowe.
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"Utwórz grupę zasobów.
az group create \ --name $RESOURCE_GROUP_NAME \ --location $LOCATION \ --output noneUtwórz środowisko usługi Container Apps.
az containerapp env create \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP_NAME \ --location $LOCATION \ --output noneUtwórz konto przechowywania
az storage account create \ --name $STORAGE_ACCOUNT_NAME \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --sku $STORAGE_ACCOUNT_SKUUzyskiwanie ciągu połączenia konta magazynowego
$STORAGE_ACCOUNT_CONNECTION_STRING = az storage account show-connection-string \ --name $STORAGE_ACCOUNT_NAME \ --resource-group $RESOURCE_GROUP \ --query connectionString \ --output tsvTworzenie usługi Azure Applications Insights
az monitor app-insights component create \ --app $APPLICATION_INSIGHTS_NAME \ --location $LOCATION \ --resource-group $RESOURCE_GROUP \ --application-type webUzyskanie ciągu połączenia do usługi Application Insights
$APPLICATION_INSIGHTS_CONNECTION_STRING = az monitor app-insights component show \ --app $APPLICATION_INSIGHTS_NAME \ --resource-group $RESOURCE_GROUP \ --query connectionString \ --output tsvTworzenie aplikacji kontenera usługi 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.fqdnTo polecenie zwraca adres URL aplikacji usługi Functions. Skopiuj ten adres URL i wklej go w przeglądarce internetowej.
Tworzenie aplikacji kontenerowej usługi Azure Functions z użyciem
--revisions-mode multiplena potrzeby scenariusza z wieloma wersjamiaz 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"W przypadku scenariusza z wieloma rewizjami zaktualizuj aplikację kontenera i podziel ruch.
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}=50Dołącz
/api/HttpExamplena końcu adresu URL.W przeglądarce jest zwracany komunikat "Funkcja wyzwalacza HTTP przetworzyła żądanie".