gpt4 book ai didi

Azure函数: how to set CORS via automation?

转载 作者:行者123 更新时间:2023-12-01 08:49:18 26 4
gpt4 key购买 nike

我有一个 azure 功能应用程序,我想以可重复(自动)的方式设置它,以便我可以在不同的环境/资源组中复制它。我可以通过 azure cli 创建函数应用程序,但我还需要配置 CORS 选项,以便可以从浏览器调用它。

我找到了在 azure 门户 Web ui 中执行此操作的位置, 在“平台功能”选项卡( https://learn.microsoft.com/en-us/azure/azure-functions/functions-how-to-use-azure-function-app-settings#cors )中,但我找不到任何有关通过 azure cli 修改该设置的信息,或者通过我设置的 VSTS 部署任务(当我更改中的功能时进行发布)来修改该设置。应用程序。

您甚至可以通过 local.settisg.json 指定本地开发的 CORS 设置,但这仅适用于本地 ( https://learn.microsoft.com/en-us/azure/azure-functions/functions-run-local#local-settings )。如果我通过 azure function tools cli 部署应用程序,我可以在部署时指定 --publish-local-settings 标志,但我不会以这种方式部署。

看来一定有一种方法可以在不使用 Web UI 的情况下修改 CORS 配置,我只是没有找到它吗?

最佳答案

Fabio 的答案是正确的,Azure 资源管理器模板适用于此。由于他链接的示例是关于逻辑应用程序而不是 Azure 函数,因此正确使用模板需要进行一些更改,我想添加一些细节,以帮助其他人更快地实现目标。

为了制作模板,我最终从手动创建的功能应用程序下载了自动化模板,然后删除内容,直到达到我认为的最小值。这是我正在使用的:

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"function_app_name": {
"defaultValue": "my-function-app",
"type": "string"
}
},
"variables": {},
"resources": [
{
"comments": "CORS allow origins *.",
"type": "Microsoft.Web/sites/config",
"name": "[concat(parameters('function_app_name'), '/web')]",
"apiVersion": "2016-08-01",
"properties": {
"cors": {
"allowedOrigins": [
"*"
]
}
},
"dependsOn": []
}
]
}

我还有一个与之配套的参数文件,如下所示:

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"function_app_name": {
"value": null
}
}
}

然后,我的发布定义中有一个 Azure 资源组部署 步骤,该步骤会部署此步骤并根据我要部署到的环境替换所需的函数应用名称。

关于Azure函数: how to set CORS via automation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46921887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com