Функция Azure - отправлять все запросы одной и той же функции.

Я пытаюсь настроить функцию 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 ресурс?

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 иметь `" маршрут ": "/". Теперь все вызовы чего-либо, кроме root, передаются моей функции. Вызовы по маршруту заканчиваются тем, что переходят к функции напрямую (и должны обрабатываться отдельно).

Ваша конфигурация заставляет перенаправление применяться ко всему в домене. Когда происходит перенаправление, /myfunc также получает перенаправление.

Вы можете: 1. Изменить маршрут ваших прокси-серверов на что-то другое, например `/api/{*path}'. 2. Переместите свою функцию в другой домен.

Другие вопросы по тегам