我使用Firebase功能检测到存储的上传事件,并将下载URL写入数据库,如下所示:
exports.processFile = functions.storage.object().onChange((event) => {
const object = event.data,
filePath = object.name;
if (object.resourceState === 'exists') {
// Do something
}
}
收到有关SDK 1.0的电子邮件我更新了这个函数:
exports.processFile = functions.storage.object().onFinalize((object, context) => {
const filePath = object.name;
if (object.resourceState === 'exists') {
// Do something
}
}
更新后,该功能中断,所以我决定在日志中打印resourceState
并获得undefined
。发生了什么事?
答案 0 :(得分:4)
在SDK 1.0之前,只有onChange()事件。它针对存储对象的所有更改触发,并且必须在对象元数据中测试resourceState以确定更改是创建,更新还是删除。
在SDK 1.0中,onChange()
已replaced by four events,无需测试resourceState
的值:
虽然ObjectMetadata的文档仍然显示resourceState
,但我的猜测是它已从SDK 1.0中删除,因为不再需要它。