Я пытаюсь передать JSON-запрос во Flask и развернуть его в приложении-функции Azure. Я выполнил этот поток, чтобы развернуть приложение Python Flask на Azure.Я протестировал код с помощью запроса GET, передав параметры в URL-адресе, и он работал.
Мое требование - запустить код, передав запрос JSON POST. Но когда я тестирую его, я получаю «500 Internal Server Error», в котором говорится: «Сервер обнаружил внутреннюю ошибку и не смог выполнить ваш запрос. Либо сервер перегружен, либо в приложении есть ошибка»
import logging
import azure.functions as func
import request
from flask import Flask, request, make_response, jsonify
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
# function for responses (POST Request)
def results():
# build a request object
req = request.get_json(silent=True, force=True)
# fetch action from json
action = req.get('queryResult').get('action')
# return a fulfillment response
return {'fulfillmentText': 'This is a response from webhook.'}
# create a route for webhook
@app.route('/webhook', methods=['GET', 'POST'])
def webhook():
# return response
return make_response(jsonify(results()))
def main(req: func.HttpRequest) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
uri=req.params['uri']
with app.test_client() as c:
doAction = {
"GET": c.get(uri).data,
"POST": c.post(uri).data
}
resp = doAction.get(req.method).decode()
return func.HttpResponse(resp, mimetype='text/html')
Мой файл requirements.txt выглядит так.