Zarządzanie usługą Azure Functions w usłudze Azure Container Apps

Funkcje wdrożone w usłudze Azure Container Apps można zarządzać przy użyciu interfejsu wiersza polecenia platformy Azure. Poniższe polecenia pomagają w wyświetlaniu, przeglądaniu i interakcji z funkcjami działającymi w środowisku konteneryzowanym.

Uwaga / Notatka

W przypadku scenariuszy obejmujących wiele rewizji dodaj --revision <REVISION_NAME> parametr do polecenia, aby kierować określoną rewizję.

Lista funkcji

Wyświetl wszystkie funkcje wdrożone w aplikacji kontenera:

# List all functions
az containerapp function list \
  --resource-group $RESOURCE_GROUP \
  --name $CONTAINERAPP_NAME

Pokaż szczegóły funkcji

Uzyskaj szczegółowe informacje o określonej funkcji:

az containerapp function show \
  --resource-group $RESOURCE_GROUP \
  --name $CONTAINERAPP_NAME \
  --function-name <FUNCTIONS_APP_NAME>

Monitorowanie wywołań funkcji

Monitorowanie aplikacji funkcji jest niezbędne do zrozumienia jej wydajności i diagnozowania problemów. Poniższe polecenia pokazują, jak uzyskać adresy URL funkcji, wywoływać funkcje za pomocą wyzwalaczy oraz wyświetlać szczegółowe dane telemetryczne i podsumowania wywołań, korzystając z Azure CLI. Przed wywołaniem śladów wywołaj funkcję kilka razy przy użyciu polecenia curl -X POST "fqdn/api/HttpExample".

  1. Aby wyświetlić ślady wywołań, uzyskaj szczegółowe ślady wywołań funkcji:

    az containerapp function invocations traces \
      --name $CONTAINERAPP_NAME \
      --resource-group $RESOURCE_GROUP \
      --function-name <FUNCTIONS_APP_NAME> \
      --timespan 5h \
      --limit 3
    
  2. Wyświetl podsumowanie wywołań, aby przejrzeć wywołania zakończone powodzeniem i niepowodzeniem.

    az containerapp function invocations summary \
      --name $CONTAINERAPP_NAME \
      --resource-group $RESOURCE_GROUP \
      --function-name <FUNCTIONS_APP_NAME> \
      --timespan 5h
    

Zarządzanie kluczami funkcji

Usługa Azure Functions używa kluczy do uwierzytelniania i autoryzacji. Możesz zarządzać następującymi typami kluczy:

  • Klucze hosta: uzyskiwanie dostępu do dowolnej funkcji w aplikacji
  • Klucze główne: zapewnianie dostępu administracyjnego
  • Klucze systemowe: używane przez usługi platformy Azure
  • Klucze funkcji: uzyskiwanie dostępu do określonych funkcji

Poniższe polecenia pokazują, jak zarządzać kluczami dla hosta. Aby uruchomić to samo polecenie dla określonej aplikacji usługi Functions, dodaj --function-name <FUNCTIONS_APP_NAME> parametr do polecenia.

Lista kluczy

Użyj następujących poleceń, aby wyświetlić listę kluczy specyficznych dla hosta i funkcji dla usługi Azure Functions uruchomionych w usłudze Container Apps.

Uwaga / Notatka

Zachowaj co najmniej jedną replikę uruchomioną, aby następujące polecenia zarządzania kluczami działały.

az containerapp function keys list \
  --resource-group $RESOURCE_GROUP \
  --name $CONTAINERAPP_NAME \
  --key-type hostKey

Pokaż określony klucz

Pokaż wartość określonego klucza na poziomie hosta dla aplikacji funkcji przy użyciu następującego polecenia:

az containerapp function keys show \
  --resource-group $RESOURCE_GROUP \
  --name $CONTAINERAPP_NAME \
  --key-name <KEY_NAME> \
  --key-type hostKey

Ustawianie klucza

Ustaw określony klucz na poziomie hosta dla aplikacji funkcji przy użyciu następującego polecenia:

az containerapp function keys set \
  --resource-group $RESOURCE_GROUP \
  --name $CONTAINERAPP_NAME \
  --key-name <KEY_NAME> \
  --key-value <KEY_VALUE> \
  --key-type hostKey

Zarządzanie kluczami za pomocą usługi Azure Key Vault

Gdy używasz Azure Key Vault do przechowywania tajemnic dla Azure Functions w Container Apps, zasady generowania kluczy działają inaczej niż przy tradycyjnym hostingu Functions.

Domyślnie:

  • Host usługi Functions nie tworzy automatycznie kluczy w usłudze Key Vault po uruchomieniu.

  • Host usługi Functions pobiera i używa kluczy, jeśli już istnieją w usłudze Key Vault.

  • Host usługi Functions jest uruchamiany pomyślnie nawet bez kluczy, a synchronizacja kluczy kończy się normalnie.

W związku z tym aplikacja działa poprawnie, ale klucze na poziomie hosta nie są wyświetlane w usłudze Key Vault, chyba że zostaną utworzone ręcznie.

Ręczne generowanie kluczy

Aby zainicjować tworzenie klucza w usłudze Azure Key Vault, wywołaj punkt końcowy zarządzania usługą Functions przy użyciu następującego polecenia CLI.

az containerapp function keys list \
 -n <CONTAINER_APP_NAME> \
 -g <RESOURCE_GROUP> \
 --key-type hostKey