Administración de Azure Functions en Azure Container Apps

Puede administrar las funciones implementadas en Azure Container Apps mediante la CLI de Azure. Los siguientes comandos le ayudan a enumerar, inspeccionar e interactuar con las funciones que se ejecutan en el entorno en contenedor.

Nota:

Al tratar con escenarios multirrevisión, agregue el parámetro --revision <REVISION_NAME> al comando para dirigirse a una revisión específica.

Enumerar funciones

Vea todas las funciones implementadas en la aplicación contenedora:

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

Mostrar detalles de la función

Obtenga información detallada sobre una función específica:

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

Supervisión de invocaciones de función

La supervisión de la aplicación de funciones es esencial para comprender su rendimiento y diagnosticar problemas. Los siguientes comandos muestran cómo recuperar las direcciones URL de función, las invocaciones de desencadenador y ver resúmenes detallados de telemetría e invocación mediante la CLI de Azure. Antes de llamar a los seguimientos, invoque la función varias veces mediante curl -X POST "fqdn/api/HttpExample".

  1. Para ver trazas de invocación, obtenga trazas detalladas de invocaciones de funciones:

    az containerapp function invocations traces \
      --name $CONTAINERAPP_NAME \
      --resource-group $RESOURCE_GROUP \
      --function-name <FUNCTIONS_APP_NAME> \
      --timespan 5h \
      --limit 3
    
  2. Vea un resumen de invocación para revisar las invocaciones correctas y con errores.

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

Actualización de claves de función

Azure Functions usa claves para la autenticación y autorización. Puede administrar los siguientes tipos diferentes de claves:

  • Claves de host: acceso a cualquier función de la aplicación
  • Claves maestras: proporcionar acceso administrativo
  • Claves del sistema: usadas por los servicios de Azure
  • Claves de función: acceso a funciones específicas

Los comandos siguientes muestran cómo administrar claves para el host. Para ejecutar el mismo comando para una aplicación de Functions específica, agregue el --function-name <FUNCTIONS_APP_NAME> parámetro al comando.

Enumerar claves

Use los siguientes comandos para enumerar las claves a nivel de host y específicas de función para Azure Functions que se están ejecutando en Container Apps.

Nota:

Mantenga al menos una réplica en ejecución para que funcionen los siguientes comandos de administración de claves.

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

Mostrar una clave específica

Muestre el valor de una clave de nivel de host específica para la aplicación de funciones mediante el comando siguiente:

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

Establecimiento de una clave

Establezca una clave específica de nivel de host para la aplicación de funciones mediante el comando siguiente:

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

Administración de claves con Azure Key Vault

Cuando se usa Azure Key Vault para almacenar secretos para Azure Functions en Container Apps, la generación de claves funciona de forma diferente que en el hospedaje tradicional de Functions.

De forma predeterminada:

  • El host de Functions no crea automáticamente claves en Key Vault cuando se inicia.

  • El host de Functions recupera y usa claves si ya existen en Key Vault.

  • El host de Functions se inicia correctamente incluso sin claves y la sincronización de claves se completa normalmente.

Como resultado, la aplicación se ejecuta correctamente, pero las claves de nivel de host no aparecen en Key Vault a menos que las cree manualmente.

Generación manual de claves

Para desencadenar la creación de claves en Azure Key Vault, llame al punto de conexión de administración de Functions mediante el siguiente comando de la CLI.

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