如何从数据库触发的云功能中访问Firebase存储?

时间:2017-06-05 03:29:14

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

我想通过听取由functions.database.ref().onWrite()(而不是functions.storage.object().onChange())触发的事件来使用firebase云功能执行文件操作。

我注意到大多数示例使用云函数functions.storage.object().onChange()来触发云函数以进行文件操作。有没有办法从storageRef中获取functions.database.ref()并从那里执行文件操作?

1 个答案:

答案 0 :(得分:8)

要从数据库触发的云功能中访问Firebase存储,您可以使用Google Cloud SDK。

来自我的其中一个应用:

const gcs = require('@google-cloud/storage')();

...
exports
.emojifyStory = functions.database.ref('/stories/{storyId}')
.onWrite(function(event) {
    const filePath = event.data.val().filePath;
    const file = gcs.bucket(bucket).file(filePath);

    // Use the Vision API to detect labels
    return visionClient.detectLabels(file)
      .then(data => {
      ...