python - 在 Azure Function App 上的 Flask 中从 POST 请求传递 JSON 数据
问题描述
我正在尝试将 JSON 请求传递给 Flask 并将其部署在 Azure 函数应用中。我按照这个线程将我的 Python Flask 应用程序部署到 Azure。我通过在 URL 中传递参数并使用 GET 请求测试了代码,它正在工作。
我的要求是通过传递 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 文件看起来像这样。
解决方案
推荐阅读
- flutter - Flutter 'ChipsInputState' 缺少这些成员的实现:- TextInputClient.performPrivateCommand
- android - ESC/POS Termal 打印机 UTF-8 字符集设置
- excel - 如何通过 Powershell 将 DataTable 导出到 Excel 文件中?
- python - 在 python 中进行 Pip 安装时遇到问题
- json - 将浏览器 Blob 转换为 Json
- python - 为什么我看不到最新版本的记录?
- node.js - Firestore 在阅读文档时批量删除
- java - PSQLException:错误:列“drink1_.id”必须出现在 GROUP BY 子句中或在聚合函数中使用
- html - 如何解决放大时网页内容溢出的问题?
- javascript - 如何在 office.js 中从 Excel 获取活动的 PowerPoint 演示文稿?