Gerir Azure Functions em Azure Container Apps

Pode gerir as suas funções implementadas dentro das Azure Container Apps usando a CLI do Azure. Os comandos seguintes ajudam-no a listar, inspecionar e interagir com as funções que estão a correr no seu ambiente containerizado.

Observação

Ao lidar com cenários de multirevisão, adiciona o --revision <REVISION_NAME> parâmetro ao teu comando para direcionar uma revisão específica.

Funções relacionadas a listas

Veja todas as funções implementadas na sua aplicação de contentores:

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

Mostrar detalhes da função

Obtenha informações detalhadas sobre uma função específica:

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

Invocações de funções de monitorização

Monitorizar a sua aplicação de funções é essencial para compreender o seu desempenho e diagnosticar problemas. Os comandos seguintes mostram-lhe como recuperar URLs de funções, acionar invocações e visualizar resumos detalhados de telemetria e invocações usando a CLI do Azure. Antes de chamar os registos, invoque a função algumas vezes usando curl -X POST "fqdn/api/HttpExample".

  1. Para visualizar rastreios de invocação, obtenha traços detalhados das invocações de funções.

    az containerapp function invocations traces \
      --name $CONTAINERAPP_NAME \
      --resource-group $RESOURCE_GROUP \
      --function-name <FUNCTIONS_APP_NAME> \
      --timespan 5h \
      --limit 3
    
  2. Consulte um resumo de invocações para rever invocações bem-sucedidas e falhadas.

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

Gerenciar teclas de função

O Azure Functions utiliza chaves para autenticação e autorização. Pode gerir os seguintes tipos diferentes de chaves:

  • Chaves de anfitrião: Acede a qualquer função na aplicação
  • Chaves mestres: Fornecer acesso administrativo
  • Chaves do sistema: Utilizadas pelos serviços Azure
  • Teclas de função: Aceder a funções específicas

Os seguintes comandos mostram-lhe como gerir as chaves do anfitrião. Para executar o mesmo comando para uma aplicação Functions específica, adicione o --function-name <FUNCTIONS_APP_NAME> parâmetro ao seu comando.

Listar chaves

Utilize os seguintes comandos para listar as chaves de nível de host e específicas de função para as suas Azure Functions a correr em Container Apps.

Observação

Mantenha pelo menos uma réplica a funcionar para que os seguintes comandos de gestão de chaves funcionem.

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

Mostrar uma tecla específica

Mostre o valor de uma chave específica ao nível do anfitrião para a sua aplicação de funções usando o seguinte comando:

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

Defina uma chave

Defina uma chave específica ao nível do host para a sua aplicação de funções usando o seguinte comando:

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

Gerenciamento de chaves com o Azure Key Vault

Quando utiliza o Azure Key Vault para armazenar segredos para Azure Functions em Aplicações de Contêiner, a geração de chaves funciona de modo diferente do alojamento tradicional de Azure Functions.

Por predefinição:

  • O anfitrião Functions não cria automaticamente as chaves no Key Vault quando este começa.

  • O host de Funções recupera e usa chaves se já existirem no Key Vault.

  • O hospedeiro Functions arranca com sucesso mesmo sem chaves, e a sincronização das chaves é concluída normalmente.

Como resultado, a sua aplicação corre corretamente, mas as chaves ao nível do host não aparecem no Key Vault a menos que as crie manualmente.

Gerar chaves manualmente

Para ativar a criação de chaves no Azure Key Vault, chame o endpoint de gestão de Funções usando o seguinte comando CLI.

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