只是想知道在部署/发布需要连接到数据库/存储帐户的 azure 函数时的最佳实践是什么。我是 .net 新手,也是 azure 新手......所以我提前为任何菜鸟问题道歉。
我们在 azure 函数(HTTP 触发)的 powershell 部署脚本中有以下逻辑:
#login with service principal
az login --service-principal --username $UID --password $PASSWD --tenant $TENANT --allow-no-subscriptions
#set the subscription we want to use
az account set --subscription $SUBSCRIPTION_ID
#create resource group
az group create -n $GRP_NAME -l $LOCATION
#create resources defined in JSON
az deployment group create --resource-group $GRP_NAME --template-file "./resources/azfnResources.json"
func azure functionapp publish $FN_APP_NAME --publish-local-settings -i --overwrite-settings -y
这是我们的 local.settings.json 文件的样子:
{
"IsEncrypted": false,
"Values":{
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"WidgetStorageQueue":"DefaultEndpointsProtocol=https;AccountName=asdfasdf;AccountKey=<key>;EndpointSuffix=core.windows.net"
}
}
问题
这种方法需要人工干预。我们可以让这个脚本运行,因为...我们必须在 azfnResources.json 文件中的资源创建后更新连接字符串...并且在触发 functionapp 发布命令之前。
问题
根据文档,当我想在本地调试/运行我的代码时,似乎需要 local.settings.json 文件......并且能够连接到后端存储。 (住在上游)。有道理。
自动化此脚本的最佳方法是什么,以便在从头生成存储帐户后无需手动更新连接字符串?
也许我们不应该使用 local.settings.json 文件来发布?也许我们应该让开发人员自己手动更新。
答案 0 :(得分:0)
发布时,您的 Azure Functions 应使用环境变量从 Azure Functions App Settings 读取设置。
您可以在以下链接中找到更多信息: