Azure Container Apps での Azure Functions の管理

Azure CLI を使用して、Azure Container Apps 内でデプロイされた関数を管理できます。 次のコマンドは、コンテナー化された環境で実行されている関数の一覧表示、検査、操作に役立ちます。

マルチプロビジョニング シナリオを処理する場合は、コマンドに --revision <REVISION_NAME> パラメーターを追加して、特定のリビジョンをターゲットにします。

関数を一覧表示する

コンテナー アプリにデプロイされているすべての関数を表示します。

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

関数の詳細を表示する

特定の関数に関する詳細情報を取得します。

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

関数の呼び出しを監視する

関数アプリの監視は、そのパフォーマンスを理解し、問題を診断するために不可欠です。 次のコマンドは、Azure CLI を使用して関数 URL を取得し、呼び出しをトリガーし、詳細なテレメトリと呼び出しの概要を表示する方法を示しています。 トレースを呼び出す前に、 curl -X POST "fqdn/api/HttpExample"を使用して関数を数回呼び出します。

  1. 呼び出しトレースを表示するには、関数呼び出しの詳細なトレースを取得します。

    az containerapp function invocations traces \
      --name $CONTAINERAPP_NAME \
      --resource-group $RESOURCE_GROUP \
      --function-name <FUNCTIONS_APP_NAME> \
      --timespan 5h \
      --limit 3
    
  2. 呼び出しの概要を表示して、成功した呼び出しと失敗した呼び出しを確認します。

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

関数キーを管理する

Azure Functions では、 認証と承認にキーが使用されます。 次の異なる種類のキーを管理できます。

  • ホスト キー: アプリ内の任意の関数にアクセスする
  • マスター キー: 管理アクセスを提供する
  • システム キー: Azure サービスによって使用されます
  • ファンクション キー: 特定の関数にアクセスする

次のコマンドは、ホストのキーを管理する方法を示しています。 特定の Functions アプリに対して同じコマンドを実行するには、コマンドに --function-name <FUNCTIONS_APP_NAME> パラメーターを追加します。

キーのリスト

次のコマンドを使用して、Container Apps で実行されている Azure Functions のホスト レベルおよび関数固有のキーを一覧表示します。

次のキー管理コマンドを機能させるには、少なくとも 1 つのレプリカを実行したままにします。

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

特定のキーを表示する

次のコマンドを使用して、関数アプリの特定のホスト レベル キーの値を表示します。

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

キーを設定する

次のコマンドを使用して、関数アプリの特定のホスト レベル のキーを設定します。

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

Azure Key Vault のキー管理

Azure Key Vault を使用して Azure Functions のシークレットを Container Apps に格納する場合、キーの生成は従来の Functions ホスティングとは異なる方法で動作します。

既定の設定:

  • Functions ホストは、起動時に Key Vault にキーを自動的に作成しません。

  • Functions ホストは、キーが Key Vault に既に存在する場合にキーを取得して使用します。

  • Functions ホストは、キーがなくても正常に開始され、キーの同期は正常に完了します。

その結果、アプリケーションは正常に実行されますが、手動で作成しない限り、ホスト レベルのキーは Key Vault に表示されません。

キーを手動で生成する

Azure Key Vault でキーの作成をトリガーするには、次の CLI コマンドを使用して Functions 管理エンドポイントを呼び出します。

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