如何在 Python Google Cloud 函数中返回特定状态

Posted

技术标签:

【中文标题】如何在 Python Google Cloud 函数中返回特定状态【英文标题】:How to return with a specific status in a Python Google Cloud Function 【发布时间】:2019-07-31 14:47:54 【问题描述】:

我注意到我可以提出或返回,产生 500 或 200 个响应。例如:

def random(request):
    coin = [true, false]
    if random.choice(coin):
        succeed()
    else:
        fail()

def succeed():
    return ' "status": "success!"'

def fail():
    raise Exception("failure")

类似的东西会产生 500 或 200 响应。但它不会,例如,让我在正文中引发 422 错误。

我可以这样做吗?

【问题讨论】:

【参考方案1】:

在底层,Cloud Functions 只是使用Flask,因此您可以返回任何可以从 Flask 端点返回的内容。

您可以像这样一起返回正文和状态代码:

def random(request):
    ...
    return "Can't process this entity", 422

或者,您可以返回一个成熟的 Flask Response object:

import flask

def random(request):
    ...
    return flask.Response(status=422)

【讨论】:

以上是关于如何在 Python Google Cloud 函数中返回特定状态的主要内容,如果未能解决你的问题,请参考以下文章

如何在Python和Java中访问Google Cloud Endpoints请求标头

如何访问 Python google.cloud.storage 上传方法中的错误原因?

如何在 Python 中运行 Google Cloud Function 中的子进程

Google Cloud Storage:如何在 Python 中(递归)删除文件夹

如何在 Google Cloud Functions 的 python 环境中检查 HTTP 基本身份验证

如何使用 Python API 在 Google Cloud Storage 上上传文件夹