如何在Azure Bicep部署模板中获取Linux应用服务主机URL
解答
完全可以通过资源属性直接获取默认站点地址,不用手动拼接字符串,不过你写的fnApp.url这种写法不行——函数应用属于Microsoft.Web/sites资源类型,本身没有叫url的顶级属性。
你要的默认域名存在defaultHostName属性里,直接引用就行:
// 对应你需要的APIM后端地址,和你原来硬写的效果完全一致 var fnAppUrl = 'https://${fnApp.defaultHostName}/api' // 要是需要根地址就去掉后面的/api var fnAppRootUrl = 'https://${fnApp.defaultHostName}'
补充几点:
- 你之前用
'https://${fnApp.name}.azurewebsites.net/api'的写法跑起来结果是对的,但直接引用资源属性是更稳妥的写法,不用硬编码azurewebsites.net这个固定后缀,就算后续平台域名规则有调整(概率极低)也不用改代码。 defaultHostName返回的永远是Azure分配的默认*.azurewebsites.net域名,就算你后面给函数加自定义域名也不会变,完全适合当APIM的后端地址用。- Bicep对常用资源属性做了快捷映射,上面写的
fnApp.defaultHostName和完整路径fnApp.properties.defaultHostName拿到的值完全一样,选哪个写都行。
内容的提问来源于stack exchange,提问作者J. Mathews
相关产品推荐
相关产品推荐

