在触发器中使用通配符时无法部署云功能

时间:2019-09-04 13:32:10

标签: javascript node.js google-cloud-firestore google-cloud-functions

我正在尝试部署一个云功能,该功能将在将文档添加到特定集合中时触发,如下所示:

const admin = require("firebase-admin");
const functions = require("firebase-functions");

const Firestore = require("@google-cloud/firestore");
const firestore = new Firestore({ projectId: config.projectId });

admin.initializeApp(config);

exports.checkCapacity = functions.firestore.document("gran_canaria/las_palmas_1/miller_pendientes/{albnum}")
  .onCreate(async (snapshot, context) => {});

但是这会引发部署失败错误:

  

无法配置触发器提供程序/cloud.firestore/eventTypes/document.create@firestore.googleapis.com( gcf .us-central1.checkCapacity)

如果我删除通配符并将引用更改为:

,该错误将清除。
"gran_canaria/las_palmas_1/miller_pendientes/albnum"

我试图将方法更改为onWrite(),删除并重新部署该函数,并在https://status.cloud.google.com/处检查云状态,但是找不到任何解决方案。

1 个答案:

答案 0 :(得分:1)

我能够在Cloud Firestore上的onCreate事件上成功部署带触发器的Cloud Function。

通过以下方式创建云时,我隐含地在控制台UI中使用了提供的模板,从而获得了成功:

enter image description here

使用的index.js是GCP创建该函数时提供的示例,该示例仅将触发更改的文档打印到日志中。

看一下Firestore中的documentation,我发现您可能使用了其中提供的示例,因此也许使用上述设置将使其适合您。