如何从Google Cloud Function返回JSON

Dus*_*ram 3 python google-cloud-platform google-cloud-functions

如何使用Python从HTTP Google Cloud Function返回JSON?现在我有类似的东西:

import json

def my_function(request):
    data = ...
    return json.dumps(data)
Run Code Online (Sandbox Code Playgroud)

这可以正确返回JSON,但是Content-Type是错误的(text/html相反)。

Dus*_*ram 5

Cloud Functions在后台使用Flask,因此您可以使用它的jsonify函数返回JSON响应。

requirements.txt文件中,添加flask

flask==1.0.2
Run Code Online (Sandbox Code Playgroud)

在您的职能:

from flask import jsonify

def my_function(request):
    data = ...
    return jsonify(data)
Run Code Online (Sandbox Code Playgroud)

这将返回一个flask.Response带有application / json 的对象,Content-Type并将您data序列化为JSON。

  • @Oxydron,因为正如达斯汀指出的那样,Flask 已融入 gcloud 函数中,我认为这并没有真正添加依赖项(例如 request 是一个 `flask.Request` 对象),利用可用的功能似乎是合理的。尽管明确说明您的依赖项是合理的,但实际上并不需要将 Flask 添加到请求中才能使示例正常工作。 (2认同)