python的Firestore Cloud函数未触发

时间:2019-06-14 11:40:38

标签: python-3.x google-cloud-platform google-cloud-firestore google-cloud-functions

我可以使用firebase firestore python admin sdk,并且对于我正在使用的功能代码相同的文档,它可以响应firestore db的更改。

对于云功能,我使用在线编辑器来创建和部署功能。

当进入测试选项时,我无法找到任何有关json数据的格式的信息。无论我输入什么,我都会收到一条消息,提示无法解析json文本。

如果我将json参数留为空白并触发测试选项,我将返回一个追溯,因为没有为所使用的数据定义任何变量。数据参数为空。但是该功能从测试选项触发。

我在尝试中添加了内容,只是为了避免出错而得到的结果。结果我没事。

我正在使用他们提供的简单示例之一进行测试。它尝试从data参数中提取oldValue和value。

import json
def hello_write(data, context):
    """ Triggered by a change to a Firestore document.
    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('GOT DATA', data)

    print('\nOld value:')
    try:
        print(json.dumps(data["oldValue"]))
    except Exception as e:
        print('GOT OLD ERROR', str(e))

    print('\nNew value:')
    try:
        print(json.dumps(data["value"]))
    except Exception as e:
        print('GOT ERROR ON NEW', str(e))

上下文很好,因为我将其打印出来并指向正确的文档。

如果我转到Firestore控制台并对该文档进行更改,那么很遗憾,该功能未触发。我设置了触发器来编写,因为那应该可以进行任何更改,但是什么也没有发生。日志中没有任何内容指示任何操作。

所以我被卡住了,不知道该怎么办。

我想知道的一件事是我可以在json测试参数中放入什么以及json应该采用什么格式。我找不到任何信息。

但是无论如何,从控制台更改文档时,至少应该触发该功能。

当我使用python admin sdk时,肯定会发生这种情况。每当我对文档进行更改时,程序中都会触发一个触发器。

我想我缺少一些步骤。如果有人有任何想法将非常有帮助。

0 个答案:

没有答案