Как направить все запросы к одной функции azure и поддерживать маршрут - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь запустить приложение Flask в функции Azure для работы с небольшим веб-сайтом. Я не могу понять, как заставить работать маршрутизацию и прокси в Azure. Вот приложение flask.

import logging

import azure.functions as func
import mimetypes

from flask import Flask, render_template
from azf_wsgi import AzureFunctionsWsgi

app = Flask(__name__)

@app.route('/')
def home():
    return render_template('index.html')

@app.route('/got')
def got():
    return render_template('got.html')

def main(req: func.HttpRequest) -> func.HttpResponse:
    return AzureFunctionsWsgi(app).main(req)

Теперь я хочу направить все входящие HTTP-запросы в мое функциональное приложение к этой единственной функции таким образом, чтобы пути соответствовали маршрутам в Flask. приложение. Я пробовал много разных конфигураций прокси. json и хоста. json, но не работает.

1 Ответ

1 голос
/ 03 апреля 2020

Похоже, azf_wsgi устарела в пользу официальной поддержки в Azure Функции для Python. Я полагаю, что было бы лучше перейти на это.


В основном вам нужно внести 2 изменения, как описано в azf_wsgi readme . Вот то же самое для справки

  1. host.json
{
    "version":  "2.0",
    "extensions": {
        "http": {
            "routePrefix": ""
        }
    }
}
function.json
{
  "scriptFile": "__init__.py",
  "bindings": [
    {
      "authLevel": "anonymous",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": [
        "get",
        "post"
      ],
      "route": "app/{*route}"
    },
    {
      "type": "http",
      "direction": "out",
      "name": "$return"
    }
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...