Verwalten von Azure-Funktionen in Azure-Container-Apps

Sie können Ihre bereitgestellten Funktionen in Azure Container-Apps mithilfe der Azure CLI verwalten. Mit den folgenden Befehlen können Sie die in Ihrer containerisierten Umgebung ausgeführten Funktionen auflisten, prüfen und mit ihnen interagieren.

Hinweis

Beim Umgang mit Multirevisionsszenarien fügen Sie den --revision <REVISION_NAME> Parameter zu Ihrem Befehl hinzu, um eine bestimmte Revision zu erreichen.

Listenfunktionen

Alle in Ihrer Container-App bereitgestellten Funktionen anzeigen:

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

Funktionsdetails anzeigen

Erhalten Sie detaillierte Informationen zu einer bestimmten Funktion:

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

Überwachen von Funktionsaufrufen

Die Überwachung Ihrer Funktions-App ist für das Verständnis der Leistung und Diagnose von Problemen unerlässlich. Die folgenden Befehle zeigen, wie Funktions-URLs abgerufen, Aufrufe ausgelöst und detaillierte Telemetrie- und Aufrufzusammenfassungen mithilfe der Azure CLI angezeigt werden. Rufen Sie vor dem Aufrufen der Ablaufverfolgungen die Funktion ein paar Mal mithilfe von curl -X POST "fqdn/api/HttpExample" auf.

  1. Um Ablaufverfolgungen anzuzeigen, erfassen Sie detaillierte Ablaufverfolgungen für Funktionsaufrufe:

    az containerapp function invocations traces \
      --name $CONTAINERAPP_NAME \
      --resource-group $RESOURCE_GROUP \
      --function-name <FUNCTIONS_APP_NAME> \
      --timespan 5h \
      --limit 3
    
  2. Zeigen Sie eine Aufrufzusammenfassung an, um erfolgreiche und fehlgeschlagene Aufrufe zu überprüfen.

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

Verwalten von Funktionsschlüsseln

Azure Functions verwendet Schlüssel für Authentifizierung und Autorisierung. Sie können die folgenden verschiedenen Schlüsseltypen verwalten:

  • Hostschlüssel: Zugreifen auf eine beliebige Funktion in der App
  • Hauptschlüssel: Bereitstellen des administrativen Zugriffs
  • Systemschlüssel: Von Azure-Diensten verwendet
  • Funktionstasten: Zugreifen auf bestimmte Funktionen

Die folgenden Befehle zeigen, wie Sie Schlüssel für den Host verwalten. Um denselben Befehl für eine bestimmte Funktionen-App auszuführen, fügen Sie dem Befehl den --function-name <FUNCTIONS_APP_NAME> Parameter hinzu.

Auflisten von Schlüsseln

Verwenden Sie die folgenden Befehle, um host- und funktionsspezifische Schlüssel für Ihre Azure-Funktionen auflisten, die in Container-Apps ausgeführt werden.

Hinweis

Halten Sie mindestens ein Replikat aktiv, damit die folgenden Schlüsselverwaltungsbefehle funktionieren.

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

Anzeigen eines bestimmten Schlüssels

Zeigen Sie den Wert eines bestimmten Schlüssels auf Hostebene für Ihre Funktions-App mithilfe des folgenden Befehls an:

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

Festlegen eines Schlüssels

Legen Sie einen bestimmten Schlüssel auf Hostebene für Ihre Funktions-App mithilfe des folgenden Befehls fest:

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

Schlüsselverwaltung mit Azure Key Vault

Wenn Sie Azure Key Vault verwenden, um geheime Schlüssel für Azure-Funktionen in Container-Apps zu speichern, funktioniert die Schlüsselgenerierung anders als bei herkömmlichem Funktionenhosting.

Standardmäßig:

  • Der Funktionshost erstellt beim Start nicht automatisch Schlüssel im Key Vault.

  • Der Funktionenhost ruft Schlüssel ab und verwendet diese, wenn sie bereits im Key Vault vorhanden sind.

  • Der Funktionshost wird auch ohne Schlüssel erfolgreich gestartet, und die Schlüsselsynchronisierung wird normal abgeschlossen.

Daher wird Ihre Anwendung ordnungsgemäß ausgeführt, aber Schlüssel auf Hostebene werden nicht im Key Vault angezeigt, es sei denn, Sie erstellen sie manuell.

Manuelles Generieren von Schlüsseln

Um die Schlüsselerstellung in Azure Key Vault auszulösen, rufen Sie den Funktionenverwaltungsendpunkt mithilfe des folgenden CLI-Befehls auf.

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