如何发布连接到存储帐户的 Azure 函数

时间:2021-06-03 13:26:04

标签: azure

只是想知道在部署/发布需要连接到数据库/存储帐户的 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 文件来发布?也许我们应该让开发人员自己手动更新。

1 个答案:

答案 0 :(得分:0)