我已经开发了azure定时器触发函数。我从功能应用程序的应用程序设置中获取计时器时间表,如下所示。
函数. json
这对于给定的静态时间表来说工作正常。但是当用户需要更改时间表时,该时间表应该能够根据另一个Web应用程序的用户要求进行更改。
我正在努力从外部应用程序动态地更改计划参数。我尝试的是部署一个ARM模板,从下面的ARM模板注入新的时间表值。
{
"$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"type": "String"
},
"location": {
"type": "String"
},
"subscriptionId": {
"type": "String"
},
"schedule1": {
"type": "String"
},
"schedule2": {
"type": "String"
}
},
"resources": [
{
"type": "Microsoft.Web/sites",
"kind": "functionapp",
"name": "[parameters('name')]",
"apiVersion": "2016-03-01",
"location": "[parameters('location')]",
"properties": {
"name": "[parameters('name')]",
"siteConfig": {
"appSettings": [
{
"name": "schedule1",
"value": "[parameters('schedule1')]"
},
{
"name": "schedule2",
"value": "[parameters('schedule2')]"
}
]
},
"clientAffinityEnabled": false,
"reserved": false
}
}
]
}
但是,这不是重写现有的appSettings。相反,它会返回一个错误“网站已经存在”。是否有任何方法可以覆盖如上所述的appSettings并重新启动函数app,以便影响新的appSettings参数。
对于遇到此问题的任何人,可以使用arm模板覆盖Microsoft.Web/sites
资源的应用程序设置(对于某些构建情况可能很重要,以避免除了arm模板之外还必须使用脚本):
将应用设置创建为外部子资源:
"resources": [
{
"type": "Microsoft.Web/sites",
"kind": "functionapp",
"name": "[parameters('name')]",
"apiVersion": "2016-03-01",
"location": "[parameters('location')]",
"properties": {
"name": "[parameters('name')]",
"clientAffinityEnabled": false,
"reserved": false
}
},
{
"name": "[concat(parameters('name'), '/', 'appsettings')]",
"type": "Microsoft.Web/sites/config",
"apiVersion": "2018-11-01",
"dependsOn": [
"[resourceId('Microsoft.Web/sites',parameters('name'))]"
],
"properties": {
"schedule1": "[parameters('schedule1')]",
"schedule2": "[parameters('schedule2')]"
}
}
]
这样,它就不会被检测为对网站的覆盖,因此允许部署。
根据我的测试,您的模板在我这边工作正常。
只是一些信息供你参考。
这是我的功能app:
在门户中测试模板:
部署结果:
在门户网站中签入:
注意:这将覆盖应用程序的所有设置,在部署之前,我的应用程序中有其他设置,目前,只有两个设置。
此外,我建议您使用RESTAPI,而不是使用ARM模板,实际上,模板也在调用API。您也可以使用powershell来完成,这里有一篇类似的文章,您可以参考。
我创建了一个ARM模板,用于创建App Service(web应用程序)和与此模板相似的application Insights资源(https://github.com/tomasr/webapp-appInsights)。App insights连接到web App,并且一切正常,唯一的问题是App insights自动生成请求到我的web App的根,作为可用性测试的一部分,总是返回错误,因
在我的。NET Core应用程序中,我向appsettings.json添加了一个数组,如下所示: 如果我想从azure应用程序服务中的应用程序设置中覆盖该值,使其具有空数组: 有办法做到这一点吗? 我试着把 在应用程序设置中,但它似乎没有覆盖appsettings的值。json
我想开发一个API,使非程序员能够设置电子邮件属性,例如端口或主机。我发现我可以使用Spring Boot注释@ConfigurationProperties在类中加载属性。 我可以使用getPort检索属性,并使用setPort进行设置。 但是,使用此方法可以计算应用程序中的实际值。使用setPort或setHost时,属性文件不会更改。因此,当我重新启动应用程序时,更改会丢失。是否有办法实际更
我的团队希望使用ARM模板为我们的Web应用程序启用Application Insights Live Profiler。Application Insights的这一性能特性在以下链接https://docs.microsoft.com/en-us/azure/application-insights/app-insights-profiler中得到了解释。但是,我找不到任何关于如何使用ARM模
我看了一下这个老问题中提到的工具,但是那些做javascript的工具似乎没有提到任何关于覆盖率分析的内容。尽管radamsa提到了可选地将其与覆盖分析配对,但我还没有找到任何关于如何实际做到这一点的文档。 一个如何用覆盖指导模糊测试Java脚本(在浏览器中)应用程序?