firebase - 有没有办法在 Firebase 函数中获取存储桶名称?
问题描述
我一直在寻找在 Firebase 函数中检索存储桶名称的方法。
文档说您可以执行以下操作:
functions.storage.bucket("bucket_name").object()...
但是,在我看到的所有示例中,“存储桶名称”都是硬编码的。在我的项目中,图像存储在名为 user-ids 的存储桶中。因此,当触发写入事件时,我想检索此用户 ID。有没有办法做到这一点?像这样(下)?
exports.optimizeImages = functions.storage.bucket("{uid}").object().onFinalize(async (object) => {
const uid = ???
...
})
解决方案
当您声明一个存储触发器时,您只是将它附加到一个存储桶。如果要在多个存储桶上触发,则必须声明多个触发器。因此,每个触发器函数都应该知道它是为哪个桶触发的——您可以在函数实现中简单地对其进行硬编码(它将与您在函数构建器中指定的相同——只需重用该值)。
如果您必须与多个存储桶上的多个触发器共享完全相同的函数实现,您当然可以解析该object.bucket
属性。这似乎是一个不错的方法。
推荐阅读
- javascript - 使用 Jest 进行测试 - 无法识别 HTML DOM 函数
- flutter - 错误:参数类型 int 不能分配给参数类型字符串
- android - Android Studio NoClassDefFoundError:KitKat 上的 android.support.v4.content.LocalBroadcastManager
- vba - 当前打开的 Access 应用程序集合
- javascript - 如何将 ID 属性添加到 asp.net MVC 链接元素
- java - @RepositoryRestResource 中的自定义实现
- vba - 从电子邮件中检索发件人姓名
- templates - 如何在 Strapi 中使用 EJS
- linked-data - LDFlex 过滤器按类型
- javascript - Moving an image Javascript