Azure functions Azure功能:为根URL提供内容

Azure functions Azure功能:为根URL提供内容,azure-functions,Azure Functions,我有一个C#Azure函数项目,具有多种函数 其中一个功能是提供一些HTML内容。此函数当前可在/api/home访问。但是,我希望为root/URL触发它 我在项目中添加了proxies.json文件: { "Home": { "matchCondition": { "methods": ["GET"], "route": "/"

我有一个C#Azure函数项目,具有多种函数

其中一个功能是提供一些HTML内容。此函数当前可在/api/home访问。但是,我希望为root/URL触发它

我在项目中添加了proxies.json文件:

{
  "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": "" 
       } 
    }