Udostępnij za pośrednictwem


Korzystanie z usługi Azure Functions w usłudze Azure Container Apps

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 Create your first Azure Function on Azure Container Apps and Functions in containers (Tworzenie pierwszej funkcji platformy Azure w usłudze Azure Container Apps and Functions w kontenerach).

  1. Przejdź do witryny Azure Portal i wyszukaj pozycję Container Apps na pasku wyszukiwania.

  2. Wybierz aplikacje kontenerowe.

  3. Wybierz Utwórz.

  4. Wybieranie aplikacji kontenera

  5. 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.
  6. Obok pozycji Optymalizacja pod kątem usługi Azure Functions zaznacz pole wyboru.

  7. 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.
  8. W oknie konfiguracja środowiska wprowadź:

    Majątek Wartość
    Nazwa środowiska Wprowadź środowisko my-aca-functions-environment
    Redundancja strefowa Wybierz opcję Wyłączone.
  9. Wybierz pozycję Utwórz , aby zapisać wartości.

  10. Wybierz pozycję Dalej: Kontener , aby przełączyć się do sekcji Kontener .

  11. Obok pozycji Użyj obrazu szybkiego startu pozostaw to pole niezaznaczone.

  12. W sekcji Szczegóły kontenera wprowadź następujące wartości.

    Majątek Wartość
    Nazwa To pole jest wstępnie wypełnione zaznaczeniem w ostatniej 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ź ciąg azure-functions/dotnet8-quickstart-demo:1.0
  13. W obszarze Zmienne środowiskowe wprowadź wartości dla następujących zmiennych:

    • AzureWebJobsStorage
    • APPINSIGHTS_INSTRUMENTATIONKEY lub APPLICATIONINSIGHTS_CONNECTION_STRING

    Wprowadź wartości tożsamości zarządzanej lub parametrów połączenia dla tych zmiennych. Zalecana jest tożsamość zarządzana.

    Zmienna AzureWebJobsStorage jest wymaganymi parametrami połączenia konta usługi Azure Storage dla usługi Azure Functions. To konto magazynu przechowuje dzienniki wykonywania funkcji, zarządza wyzwalaczami i powiązaniami oraz utrzymuje stan funkcji trwałych.

    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.

    Wskazówka

    Domyślnie konteneryzowana aplikacja funkcji monitoruje port 80 dla żądań przychodzących. Jeśli aplikacja używa innego portu, użyj WEBSITES_PORT ustawienia aplikacji, aby zmienić port domyślny.

  14. 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.
  15. Wybierz pozycję Przejrzyj i utwórz.

  16. Wybierz Utwórz.

  17. Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu.

  18. Na stronie Przegląd wybierz link obok pozycji Adres URL aplikacji , aby otworzyć aplikację na nowej karcie przeglądarki.

  19. Dołącz /api/HttpExample na końcu adresu URL.

    W przeglądarce jest zwracany komunikat "Funkcja wyzwalacza HTTP przetworzyła żądanie".

Wymagania wstępne

Tworzenie aplikacji usługi 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.

  1. Zaloguj się do Azure.

    az login
    
  2. Aby upewnić się, że używasz najnowszej wersji interfejsu wiersza polecenia, uruchom polecenie uaktualniania.

    az upgrade
    
  3. Zainstaluj lub zaktualizuj rozszerzenie usługi Azure Container Apps dla interfejsu wiersza polecenia.

    Jeśli podczas uruchamiania polecenia az containerapp w Azure CLI lub polecenia cmdlet z modułu Az.App w 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 --upgrade
    

    Teraz, po zainstalowaniu bieżącego rozszerzenia lub modułu, zarejestruj przestrzenie nazw Microsoft.App i Microsoft.OperationalInsights.

    az provider register --namespace Microsoft.App
    
    az provider register --namespace Microsoft.OperationalInsights
    
  4. Utwó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"
    
  5. Utwórz grupę zasobów.

    az group create \
      --name $RESOURCE_GROUP_NAME \
      --location $LOCATION \
      --output none
    
  6. Utwórz środowisko usługi Container Apps.

    az containerapp env create \
        --name $ENVIRONMENT_NAME \
        --resource-group $RESOURCE_GROUP_NAME \
        --location $LOCATION \
        --output none
    
  7. Tworzenie 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.fqdn
    

    To polecenie zwraca adres URL aplikacji usługi Functions. Skopiuj ten adres URL i wklej go w przeglądarce internetowej.

  8. Dołącz /api/HttpExample na końcu adresu URL.

    W przeglądarce jest zwracany komunikat "Funkcja wyzwalacza HTTP przetworzyła żądanie".