Azure functions Azure功能:为根URL提供内容
我有一个C#Azure函数项目,具有多种函数 其中一个功能是提供一些HTML内容。此函数当前可在/api/home访问。但是,我希望为root/URL触发它 我在项目中添加了proxies.json文件:Azure functions Azure功能:为根URL提供内容,azure-functions,Azure Functions,我有一个C#Azure函数项目,具有多种函数 其中一个功能是提供一些HTML内容。此函数当前可在/api/home访问。但是,我希望为root/URL触发它 我在项目中添加了proxies.json文件: { "Home": { "matchCondition": { "methods": ["GET"], "route": "/"
{
"Home": {
"matchCondition": {
"methods": ["GET"],
"route": "/"
},
"backendUri": "https://localhost:7071/api/home"
}
}
但这仍然没有效果-它继续提供默认的Azure功能网页
有什么方法可以这样做吗?恐怕您不能使用根路径访问此函数,因为
https://localhost:7071/
始终是Azure功能的默认页面:
下面是我的验证步骤,我将把函数的路径更改为https://localhost:7071/
,但它仍然显示Azure函数应用程序的默认页面
默认情况下,azure函数的路由为localhost:7071/api/{functionName}
您现在一定已经注意到,几乎所有的函数路由都在路由中有/api/
。如果您想更改它,可以通过使用host.json
修改内容来更改它
您需要在主机中添加“扩展”:{“http”:{“routePrefix”:“}}
。json:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request"
}
}
},
"extensions": { "http": { "routePrefix": "" } }
}
现在,您的路线可能如下所示:
localhost:7071/{functionName}
您还需要将代码中的路线设置为”
当前路线应满足您的要求:
但是使用此路径访问此函数仍然失败,因此我认为将Azure函数的路径设置为根路径是无效的,您无法使用它访问Azure函数。
如果部署到Azure门户
,则可以尝试在应用程序设置
中添加“AzureWebJobsDisableHomepage”:true
,以禁用Azure功能的主页。我在本地测试了它,但似乎不起作用<代码>Azure门户
似乎可以工作。您可以在proxies.json
文件中找到所选函数,并将其重新定向到根url,如下所示
{
"$schema": "http://json.schemastore.org/proxies",
"proxies": {
"Proxy1": {
"matchCondition": {
"route": "/"
},
"backendUri": "https://<AnotherApp>.azurewebsites.net/api/<FunctionName>"
}
}
}
{
"$schema": "http://json.schemastore.org/proxies",
"proxies": {
"Proxy1": {
"matchCondition": {
"route": "/"
},
"backendUri": "https://<AnotherApp>.azurewebsites.net/api/<FunctionName>"
}
}
}
"extensions": {
"http": {
"routePrefix": ""
}
}