如何预处理函数的参数以测试其部署到 Google Cloud Functions 时的行为?



当我通过云控制台创建谷歌云功能时,有一个默认功能:

def hello_world(request):
"""Responds to any HTTP request.
Args:
request (flask.Request): HTTP request object.
Returns:
The response text or any set of values that can be turned into a
Response object using
`make_response <http://flask.pocoo.org/docs/1.0/api/#flask.Flask.make_response>`.
"""
request_json = request.get_json()
if request.args and 'message' in request.args:
return request.args.get('message')
elif request_json and 'message' in request_json:
return request_json['message']
else:
return f'Hello World!'

我想在本地测试一下。当我部署它时,我会在我的浏览器上写下:

https://region-project.cloudfunctions.net/function-1?message={"a"=1,"b"=2}

为了测试hello_world,我需要以某种形式将我在上面的HTTP请求中传递给我的函数的dict传递给它。什么是processing,如果我希望hello_world(processing({"a"=1,"b"=2}))输出与部署的云函数输出到浏览器的内容相同的内容作为对请求的响应https://region-project.cloudfunctions.net/function-1?message={"a"=1,"b"=2}?

Python for Cloud Functions中的函数体传递一个Flask Request对象(请参阅此处(。如果您传入一个与Request对象具有类似签名的对象,那么您应该能够工作。在测试烧瓶上搜索,似乎发现了一些关于测试烧瓶应用程序的文档。示例包括:

  • 测试需要Flask应用程序或请求上下文的代码
  • 测试烧瓶应用
  • 测试WSGI应用程序

相关内容

最新更新