add/remove 来自 Firebase 数据库的文件的 url 的云函数已从 Firebase 存储添加 to/removed
Cloud function to add/remove the url of a file from Firebase Database that has been added to/removed from Firebase Storage
我正在尝试在应用程序中实现一项功能,该功能将列出 ListView 中的所有文件名,单击特定列表项将显示文件的内容。我真的不知道 JavaScript 并且对云功能也很陌生。我编写了一个小函数,每当将文件添加到 firebase 存储时,它就会将元数据添加到 firebase,但即使文件被删除,它最终也会添加数据。
这是代码
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.urls = functions.storage.object().onChange( event => {
const file = event.data;
const metadata = file.metadata;
console.log(metadata);
return admin.database().ref("/").set(metadata); });
有人可以告诉我我可以在上面做哪些更改来添加 url 而不是元数据,如果文件被删除,也可以删除相同的内容吗?
来自 Firebase 文档部分 Detect resourceState and other event attributes:
The resourceState
attribute for an event has the value "exists"
(for object creation and updates) or "not_exists"
(for object deletion and moves).
// Exit if this is a move or deletion event.
if (resourceState === 'not_exists') {
console.log('This is a deletion event.');
return;
}
我正在尝试在应用程序中实现一项功能,该功能将列出 ListView 中的所有文件名,单击特定列表项将显示文件的内容。我真的不知道 JavaScript 并且对云功能也很陌生。我编写了一个小函数,每当将文件添加到 firebase 存储时,它就会将元数据添加到 firebase,但即使文件被删除,它最终也会添加数据。 这是代码
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.urls = functions.storage.object().onChange( event => {
const file = event.data;
const metadata = file.metadata;
console.log(metadata);
return admin.database().ref("/").set(metadata); });
有人可以告诉我我可以在上面做哪些更改来添加 url 而不是元数据,如果文件被删除,也可以删除相同的内容吗?
来自 Firebase 文档部分 Detect resourceState and other event attributes:
The
resourceState
attribute for an event has the value"exists"
(for object creation and updates) or"not_exists"
(for object deletion and moves).// Exit if this is a move or deletion event. if (resourceState === 'not_exists') { console.log('This is a deletion event.'); return; }