你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
可以使用 Azure CLI 在 Azure 容器应用中管理已部署的函数。 以下命令可帮助你列出、检查和与容器化环境中运行的函数进行交互。
注释
处理多修订场景时,将 --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" 调用该函数几次。
若要查看调用跟踪,请获取函数调用的详细跟踪:
az containerapp function invocations traces \ --name $CONTAINERAPP_NAME \ --resource-group $RESOURCE_GROUP \ --function-name <FUNCTIONS_APP_NAME> \ --timespan 5h \ --limit 3查看调用摘要以查看成功和失败的调用。
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> 参数添加到命令。
列出密钥
使用以下命令列出容器应用中运行的 Azure Functions 的主机级和特定于函数的密钥。
注释
请至少运行一个副本,以便运行以下密钥管理命令。
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 的机密时,密钥生成的工作方式不同于传统 Functions 托管。
默认情况下:
Functions 主机在启动 Key Vault 时不会自动在密钥保管库中创建密钥。
Functions 主机检索和使用密钥(如果密钥保管库中已存在密钥)。
即使没有密钥,Functions 主机也会成功启动,并且密钥同步正常完成。
因此,应用程序运行正确,但主机级密钥不会显示在 Key Vault 中,除非手动创建它们。
手动生成密钥
若要在 Azure Key Vault 中触发密钥创建,请使用以下 CLI 命令调用 Functions 管理终结点。
az containerapp function keys list \
-n <CONTAINER_APP_NAME> \
-g <RESOURCE_GROUP> \
--key-type hostKey