Azure 函数 - 将所有请求发送到同一个函数

Azure function - send all requests to the same function

我正在尝试设置 Azure 函数,以便将所有请求发送到同一个函数。 proxies.json 文件非常简单:

{
  "$schema": "http://json.schemastore.org/proxies",
  "proxies": {
    "Root URI to Redirector Trigger Function": {
      "matchCondition": {
        "route": "/{*path}",
        "methods": [
          "GET",
          "POST"
        ]
      },
      "backendUri": "http://%WEBSITE_HOSTNAME%/myfunc"
    }
  }
}

到目前为止一切顺利,但是当发送请求时,代理请求最终会再次被代理处理 - 以无限循环结束。

我如何在我的代理中指定代理所有请求接受 /myfunc 资源?

您的配置强制将重定向应用于域中的所有内容。发生重定向时,/myfunc 也会被重定向。

您可以: 1. 将代理的路由更改为不同的内容,f.e。 `/api/{*路径}'。 2. 将您的功能移动到不同的域。

我终于解决了这个问题,虽然不是很优雅。我的 proxies.json 现在看起来像这样:

{
  "$schema": "http://json.schemastore.org/proxies",
  "proxies": {
    "Root URI to Redirector Trigger Function": {
      "matchCondition": {
        "route": "/{path}",
        "methods": [
          "GET",
          "POST"
        ]
      },
      "backendUri": "http://%WEBSITE_HOSTNAME%/"
    }
  }
}

我还编辑了我的 function.json 以具有 `"route": "/"。现在所有对 root 之外的任何调用都代理到我的函数。对路由的调用最终直接转到函数(需要单独处理)。