【发布时间】:2017-09-23 22:24:08
【问题描述】:
当我删除 Firebase 数据库中的帖子时,我需要一个云功能来相应地删除帖子在 Firebase 存储中的缩略图。我的问题是当我尝试删除缩略图时,我认为我没有正确定位图像文件。
这是我尝试过的:
const functions = require('firebase-functions')
const admin = require('firebase-admin')
const gcs = require('@google-cloud/storage')()
exports.deletePost = functions.database.ref('Posts/{pushId}').onWrite(event => {
const original = event.data.val()
const previous = event.data.previous.val()
const pushId = event.params.pushId
if (original === null)
return
const filePath = 'Posts/' + pushId + 'thumbnail.jpg'
const bucket = gcs.bucket('postsapp-12312')
const file = bucket.file(filePath)
const pr = file.delete()
return pr
});
这就是我在日志中得到的内容
ApiError: 未找到 在 Object.parseHttpRespBody (/user_code/node_modules/@google-cloud/storage/node_modules/@google-cloud/common/src/util.js:192:30) 在 Object.handleResp (/user_code/node_modules/@google-cloud/storage/node_modules/@google-cloud/common/src/util.js:132:18) 在 /user_code/node_modules/@google-cloud/storage/node_modules/@google-cloud/common/src/util.js:465:12 在 Request.onResponse [as _callback] (/user_code/node_modules/@google-cloud/storage/node_modules/retry-request/index.js:120:7) 在 Request.self.callback (/user_code/node_modules/@google-cloud/storage/node_modules/request/request.js:188:22) 在 emitTwo (events.js:106:13) 在 Request.emit (events.js:191:7) 在请求。 (/user_code/node_modules/@google-cloud/storage/node_modules/request/request.js:1171:10) 在 emitOne (events.js:96:13) 在 Request.emit (events.js:188:7)
【问题讨论】:
-
require 调用
gcs,我只担任:const gcs = require('@google-cloud/storage');,感谢:stackoverflow.com/a/41352560/2162226
标签: node.js firebase firebase-storage google-cloud-functions