从提取的事件触发参数与云功能火力地堡数据库的路径上(Extract parameters from

2019-11-05 10:45发布

我使用谷歌云功能来执行一些后台操作(例如,计算/分组当天的统计数据)。 在火力地堡数据库的路径上,当某些事件(更新,创建)这些功能被触发发生。

我正在寻找一种方法来提取已更新的路径(和参数)/创建,这样我可以只针对一小部分。 特别是,如果路径path /messages/{pushId}/original已经更新,我想提取动态参数{pushId}我的Python函数中。

作为回顾:

从云之证件 ,我们可以按照如下与各自的触发部署云功能:

下面gcloud指令部署将由更新事件的上触发的功能path /messages/{pushId}/original

gcloud functions deploy YOUR_FUNCTION_NAME \
  --trigger-event providers/google.firebase.database/eventTypes/ref.update \
  --trigger-resource projects/YOUR-PROJECT-ID/instances/DATABASE-INSTANCE/refs/messages/{pushId}/original \
  --runtime RUNTIME

main.py我们就可以写在上面的路径已被更新时将触发一个函数:

import json
def hello_rtdb(data, context):
    """ Triggered by a change to a Firebase RTDB reference.
    Args:
        data (dict): The event payload.
        context (google.cloud.functions.Context): Metadata for the event.
    """
    trigger_resource = context.resource

    print('Function triggered by change to: %s' % trigger_resource)
    print('Admin?: %s' % data.get("admin", False))
    print('Delta:')
    print(json.dumps(data["delta"]))

缺失的一环 ,现在是我们如何使用数据,上下文获取参数{pushId}

文章来源: Extract parameters from events triggered on a path in Firebase Database with Cloud Functions