gpt4 book ai didi

azure - 如何在 azure bicep 部署模板中获取 Linux 应用服务的主机 url

转载 作者:行者123 更新时间:2023-12-05 04:27:11 25 4
gpt4 key购买 nike

我使用如下所示的二头肌资源创建了一个应用服务

  name: '${appName}'
location: location
kind: 'linux,container,fnapp'
properties: {
serverFarmId: servicePlan.id
siteConfig: {
linuxFxVersion: 'DOCKER|${dockerLocation}'
healthCheckPath: '/api/healthcheck'
alwaysOn: true
appSettings: [
...
]
}
}
}

这按预期工作,但是我想获取该应用程序服务的 URL,以用作我的 apim 服务的后端 URL。

我目前正在使用var fnAppUrl = 'https://${fnApp.name}.azurewebsites.net/api'。有什么方法可以从函数应用程序资源的直接输出中获取默认网址,即 var fnAppUrl = fnApp.url 或类似的内容?

TIA

最佳答案

此基本路径没有特定属性,因为它是通过配置 host.json 中的 extensions.http.routePrefix 的值来设置的。(文档:https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook?tabs=in-process%2Cfunctionsv2&pivots=programming-language-csharp#hostjson-settings)

如果不需要 /api 前缀,那么在 Bicep 文件中使用以下输出就足够了:

resource myFunctionApp 'Microsoft.Web/sites@2021-03-01' = {
// ...
}

output functionBaseUrl string = 'https://${myFunctionApp.properties.defaultHostName}'

然后在您的host.json中确保将routePrefix设置为空字符串:

{
"extensions": {
"http": {
"routePrefix": ""
}
}
}

如果您确实想使用路由前缀,则需要将其与默认主机名结合起来:

resource myFunctionApp 'Microsoft.Web/sites@2021-03-01' = {
// ...
}

output functionBaseUrl string = 'https://${myFunctionApp.properties.defaultHostName}/api'

关于azure - 如何在 azure bicep 部署模板中获取 Linux 应用服务的主机 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72881498/

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