我想通过听取由functions.database.ref().onWrite()
(而不是functions.storage.object().onChange()
)触发的事件来使用firebase云功能执行文件操作。
我注意到大多数示例使用云函数functions.storage.object().onChange()
来触发云函数以进行文件操作。有没有办法从storageRef
中获取functions.database.ref()
并从那里执行文件操作?
答案 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 => {
...