Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Azure Function App上的Flask中从POST请求传递JSON数据_Python_Flask_Azure Function App - Fatal编程技术网

Python 在Azure Function App上的Flask中从POST请求传递JSON数据

Python 在Azure Function App上的Flask中从POST请求传递JSON数据,python,flask,azure-function-app,Python,Flask,Azure Function App,我正在尝试将JSON请求传递给Flask,并将其部署到Azure function应用程序中。 我跟随线程将我的Python Flask应用程序部署到Azure上。通过在URL中传递参数,我使用GET请求测试了代码,代码正常工作 我的要求是通过传递JSON POST请求来触发代码。但是当我测试它时,我得到一个“500内部服务器错误”,它说“服务器遇到内部错误,无法完成您的请求。要么服务器过载,要么应用程序出错” 我的requirement.txt文件如下所示 import logging im

我正在尝试将JSON请求传递给Flask,并将其部署到Azure function应用程序中。 我跟随线程将我的Python Flask应用程序部署到Azure上。通过在URL中传递参数,我使用GET请求测试了代码,代码正常工作

我的要求是通过传递JSON POST请求来触发代码。但是当我测试它时,我得到一个“500内部服务器错误”,它说“服务器遇到内部错误,无法完成您的请求。要么服务器过载,要么应用程序出错”

我的requirement.txt文件如下所示

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')