Mic*_*dek 14 python-3.x firebase google-cloud-platform google-cloud-functions
我正在Google Cloud Functions上试用Python3.7运行时。我能够部署功能并使它们一旦部署就可以工作,但是,在部署之前,我似乎无法在本地运行模拟器来对其进行测试。
Google的文档有点不一致,他们告诉您在此处安装google函数模拟器:https : //cloud.google.com/functions/docs/emulator
但是在Firebase上,它们会告诉您npm installfirebase-admin,firebase-tools和firebase-functions。
所有仿真器文档都引用了用JS编写的示例,而没有使用Python编写的示例,因此我想知道这些仿真器是否甚至在本地运行Python函数?
谢谢
Dus*_*ram 17
没有适用于Cloud Functions的Python模拟器。
如果您希望能够在本地运行HTTP函数,可以将其包装在Flask应用程序中,如下所示:
def my_function(request):
return 'Hello World'
if __name__ == "__main__":
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
return my_function(request)
app.run('127.0.0.1', 8000, debug=True)
Run Code Online (Sandbox Code Playgroud)
根据Dustin的回答,我开发了一个程序包作为模拟器:
pip install gcp-functions-emulator
Run Code Online (Sandbox Code Playgroud)
鉴于您想提供以下功能
# mycloudfunction.py
def api(request):
return 'important data'
Run Code Online (Sandbox Code Playgroud)
要进行仿真,我们必须这样称呼它:
gcpfemu <path/to/file.py> <function_name>
Run Code Online (Sandbox Code Playgroud)
例如,使用上面的代码,我们将其称为:
gcpfemu mycloudfunction.py api
Run Code Online (Sandbox Code Playgroud)
为了访问数据,我们可以使用例如curl:
curl localhost:5000/api
> important data
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3162 次 |
| 最近记录: |