在firestore中设置python http函数

时间:2019-02-27 14:07:35

标签: python firebase google-cloud-firestore google-cloud-functions

我有一个旨在与第三方应用程序集成的应用程序。这些应用程序应该能够在数据更改时触发功能。

按照我的设想,我将使用节点函数安全地为第三方准备数据,并从Firestore上的应用程序配置中获取要调用的url。我会从节点函数调用该url,并等待它返回,并根据需要更新结果(实际上是触发推送通知)。 -这些第三方函数通常是python函数,因此我的演示应在python中进行。

我具有初始节点功能和firestore设置,因此当前正在触发ECONNREFUSED,因为我不知道如何设置第三方功能。

假设这是我需要触发的功能:

def hello_world(request):
    request_json = request.get_json()
    if request_json and 'name' in request_json:
        name = request_json['name']
    else:
        name = 'World'
    return 'Hello, {}!\n'.format(name)

我需要设置一个单独的gcloud帐户来托管此功能,还是可以将其包含在我的Firestore函数中?如果是这样,如何将其部署到Firestore?通常,使用节点函数,我正在运行firebase deploy,它会从index.js文件中自动找到函数。

1 个答案:

答案 0 :(得分:0)

如果您问由Cloud Firestore触发的Cloud Functions是否可以与由HTTP(S)请求触发的Cloud Functions共存于一个项目中,那么答案是“可以的”。无需为每种功能类型设置单独的(Firebase或Cloud)项目。

但是:当您使用firebase deploy通过Firebase CLI部署Cloud Functions时,它将删除它在项目中找到的,不在代码中的任何函数。如果您在Python和Node.js中都具有函数,则永远不会有一个包含两个函数的代码库,因此,全面部署将始终删除您的某些函数。因此,在这种情况下,您应该使用granular deploy option of the Firebase CLI