我需要在暂存槽中获取基于HTTP Trigger的函数的URL(或URL中使用的代码)。
我能够在生产槽(web / sites / functions)中获取functionapp的trigger_url变量值。但是我无法获得暂存插槽中的functionapp的trigger_url值。
示例模板获取生产值而不是应用程序设置'PostUrl'的暂存。
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"functionAppName": {
"defaultValue": "functionAppName",
"type": "string"
}
},
"resources": [
{
"type": "Microsoft.Web/sites/slots",
"name": "[concat(parameters('functionAppName'), '/staging')]",
"apiVersion": "2016-08-01",
"location": "West Europe",
"properties": {
"siteConfig": {
"appSettings" : [
{
"name": "PostUrl",
"value": "[listSecrets(resourceId('Microsoft.Web/sites/functions', parameters('functionAppName'), 'RequestName'),'2015-08-01').trigger_url]"
}
]
}
}
}
]
}
答案 0 :(得分:0)
默认情况下,网址应该始终是静态的,只是" https://myfunction-myslotname.azurewebsites.net"。但是,您确实需要不同的插槽键。
您是否尝试将广告位名称传递给" resourceId"模板?
resourceId('Microsoft.Web/sites/functions', parameters('functionAppName'), 'RequestName')
尝试这样的事情(替换为你的插槽名称)
[resourceId('Microsoft.Web/sites/slots', parameters('functionAppName'), 'slotname')]
[resourceId('Microsoft.Web/sites/slots', parameters('functionAppName'), 'RequestName', 'slotname')]
您的resourceId目前总是这样,也许这也会有所帮助:
/subscriptions/<subscriptionid>/resourceGroups/<functionname>/providers/Microsoft.Web/sites/<functionname>/slots/<slotname>