在任何情况下,gcloud firestore导入都会触发云功能吗?

时间:2019-09-06 21:36:31

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

使用gcloud shell导入以前导出的Firestore数据库时,如果在插入文档的任何位置上都有触发器,是否会触发任何云功能?

换句话说,如果我运行此命令:

gcloud beta firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/

是否为插入的文档(onCreate,onUpdate,onDelete和onWrite)忽略了云存储触发器?

https://firebase.google.com/docs/firestore/manage-data/export-import

1 个答案:

答案 0 :(得分:1)

简短答案: 即使导入导致创建新文档或触发对现有文档的更新,导入也不会触发任何云功能运行。

详细答案: 经过一些测试,事实证明,导入先前导出的firestore数据库...

$ls ~/.gnupg/
openpgp-revocs.d  private-keys-v1.d  pubring.kbx  pubring.kbx~  S.gpg-agent  S.gpg-agent.browser  S.gpg-agent.extra  S.gpg-agent.ssh  trustdb.gpg

不会导致执行onWrite触发器。 (调用onWrite触发器可创建,删除和更新文档)

因此,如果您在文档中存在一个新值的情况下导入文档,它将不会触发onWrite(随后不会触发onUpdate)

import命令只会将文档导入数据库,而不会删除旧版本。因此,您可以导入A,然后导入B。结果数据库将包含来自A和B的数据。

换句话说,新导入中不存在但存在于数据库实时版本中的文档将不会被删除。而且导入不应触发任何云功能触发器。

(这只是我的经验。它显然仍处于测试阶段,所以我不知道这是否是预期的行为,将来是否会实现。希望如此。)