Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
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 nie masz konta, możesz je utworzyć teraz za darmo. |
| Konto usługi Azure Storage | Konto usługi Blob Storage do przechowywania stanu dla usługi Azure Functions. |
| Azure Application Insights | Wystąpienie usługi Azure Application 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ź ciąg my-aca-functions-app. Obok pozycji Optymalizacja pod kątem usługi Azure Functions zaznacz pole wyboru.
W obszarze Ś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ź środowisko 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 Wybieranie usługi Docker Hub lub innych rejestrów Subskrypcja Wybierz swoją subskrypcję. Typ obrazu Wybierz pozycję Publiczna. Serwer logowania rejestru Wprowadź mcr.microsoft.com Obraz i tag 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 wymaganymi parametrami 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. To monitorowanie pomaga śledzić współczynniki żądań, czasy odpowiedzi, współczynniki błędów i inne metryki.
Wybierz pozycję Dalej > ruch przychodzący, aby przełączyć się do sekcji Ruch przychodzący i wprowadzić następujące wartości.
Majątek Wartość Wejście Zaznacz pole wyboru Włączone , aby włączyć ruch przychodzący. Ruch przychodzący Wybierz pozycję Akceptowanie ruchu z dowolnego miejsca. Typ ruchu przychodzącego 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, możesz go utworzyć bezpłatnie.
- Zainstalowany interfejs wiersza polecenia platformy Azure.
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".