在Python Cloud Function中使用错误处理程序返回JSON - python

我将Python用于HTTP Cloud Function,并希望将默认错误处理程序设置为返回JSON而不是HTML。

from flask_expects_json import expects_json
import payment_orders_schema
from flask import jsonify, Flask

schema = payment_orders_schema.schema

app = Flask(__name__)


@app.errorhandler(400)
def bad_request(error):
    return jsonify({'error': error.description}), 400


@expects_json(schema)
def add_payment_order(request, methods=['POST']):

    request_json = request.get_json(silent=True)

    if request_json:
        return jsonify(request_json), 200

首先,我不确定是否可以在Cloud Function中定义app变量,其次,@app.errorhandler不起作用,Cloud Functions返回HTML。

有任何想法吗?

参考方案

首先,我不确定是否可以在Cloud Function中定义app变量

你不能尽管Cloud Functions使用Flask在后台处理请求,但它不支持您在此处设置自己的Flask WSGI app

但是,您可以将其原样部署到App Engine Standard Python 3.7 Runtime。您可能要考虑这样做。

使用Python将Twitter数据直接发送到Google Cloud数据存储 - python

如何将数据从Twitter直接发送到Google Cloud数据存储。想跳过首先将其下载到我的本地计算机,然后再将其上传到云的步骤。它会运行一次。不是在寻找完整的代码,而是在寻找别人可能从中学到的任何指针或教程。使用python与google-cloud和存储进行交互。任何帮助,将不胜感激。 python参考方案 Here's a blog pos…

无法在python脚本中导入google.cloud模块 - python

我正在关注this文章,尝试使我的Python脚本使用Google Cloud Vision API读取与图像相关的标签。问题是,当尝试从google.cloud模块中包含对视觉的引用时,出现此错误。import io from google.cloud import vision from google.cloud.vision import types …

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

在python lxml prettyprint中更改标签间距 - python

我有一个小的脚本,可以创建xml文档,并使用prettyprint=true可以创建格式正确的xml文档。但是,制表符的缩进是2个空格,我想知道是否有办法将其更改为4个空格(我认为4个空格看起来更好)。有没有简单的方法来实现这一目标?程式码片段:doc = lxml.etree.SubElement(root, 'dependencies'…

Python-Excel导出 - python

我有以下代码:import pandas as pd import requests from bs4 import BeautifulSoup res = requests.get("https://www.bankier.pl/gielda/notowania/akcje") soup = BeautifulSoup(res.cont…