Gestire Funzioni di Azure in App Azure Container

È possibile gestire le funzioni distribuite in App Azure Container usando l'interfaccia della riga di comando di Azure. I comandi seguenti consentono di elencare, esaminare e interagire con le funzioni in esecuzione nell'ambiente in contenitori.

Annotazioni

Quando si gestiscono scenari di revisioni multiple, aggiungere il parametro --revision <REVISION_NAME> al comando per specificare una determinata revisione.

Funzioni di elenco

Visualizzare tutte le funzioni distribuite nell'app contenitore:

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

Visualizzare i dettagli della funzione

Ottenere informazioni dettagliate su una funzione specifica:

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

Monitorare le chiamate di funzione

Il monitoraggio dell'app per le funzioni è essenziale per comprendere le prestazioni e diagnosticare i problemi. I comandi seguenti illustrano come recuperare gli URL delle funzioni, le chiamate ai trigger e visualizzare riepiloghi di telemetria e chiamate dettagliati usando l'interfaccia della riga di comando di Azure. Prima di chiamare le tracce, richiamare la funzione più volte usando curl -X POST "fqdn/api/HttpExample".

  1. Per visualizzare le tracce di chiamata e ottenere tracce dettagliate delle invocazioni di funzione:

    az containerapp function invocations traces \
      --name $CONTAINERAPP_NAME \
      --resource-group $RESOURCE_GROUP \
      --function-name <FUNCTIONS_APP_NAME> \
      --timespan 5h \
      --limit 3
    
  2. Visualizzare un riepilogo delle chiamate per esaminare le chiamate riuscite e non riuscite.

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

Gestire le chiavi di funzione

Funzioni di Azure usa le chiavi per l'autenticazione e l'autorizzazione. È possibile gestire i diversi tipi di chiavi seguenti:

  • Chiavi host: accedere a qualsiasi funzione nell'app
  • Chiavi master: fornire l'accesso amministrativo
  • Chiavi di sistema: usate dai servizi di Azure
  • Tasti funzione: accedere a funzioni specifiche

I comandi seguenti illustrano come gestire le chiavi per l'host. Per eseguire lo stesso comando per un'app per le funzioni specifica, aggiungere il --function-name <FUNCTIONS_APP_NAME> parametro al comando.

Elenco delle chiavi

Usare i seguenti comandi per elencare le chiavi a livello di host e specifiche della funzione per le Azure Functions in esecuzione nelle Container Apps.

Annotazioni

Mantenere almeno una replica in esecuzione per il funzionamento dei comandi di gestione delle chiavi seguenti.

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

Mostra una chiave specifica

Visualizzare il valore di una chiave a livello di host specifica per l'app per le funzioni usando il comando seguente:

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

Impostare una chiave

Impostare una chiave a livello di host specifica per l'app per le funzioni usando il comando seguente:

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

Gestione delle chiavi con Azure Key Vault

Quando si usa Azure Key Vault per archiviare i segreti per Funzioni di Azure nelle app contenitore, la generazione di chiavi funziona in modo diverso rispetto all'hosting di funzioni tradizionali.

Per impostazione predefinita:

  • L'host delle Funzioni non crea automaticamente le chiavi in Key Vault all'avvio.

  • L'host di Funzioni recupera e usa le chiavi se già esistenti in Key Vault.

  • L'host delle funzioni si avvia correttamente anche senza chiavi e la sincronizzazione delle chiavi si completa normalmente.

Di conseguenza, l'applicazione viene eseguita correttamente, ma le chiavi a livello di host non vengono visualizzate in Key Vault a meno che non vengano create manualmente.

Generare manualmente le chiavi

Per attivare la creazione di chiavi in Azure Key Vault, chiamare l'endpoint di gestione delle Funzioni usando il seguente comando CLI di Azure.

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