在Firebase函数中是否可以获取存储桶名称?

问题描述 投票:0回答:1

我一直在寻找在Firebase函数中检索存储桶名称的方法。

文档说您可以执行以下操作:

functions.storage.bucket("bucket_name").object()...

但是,在所有示例中,我都看到“存储桶名称”是硬编码的。在我的项目中,图像存储在名为用户ID的存储桶中。因此,当触发写入事件时,我想检索此用户ID。有办法吗?像这样(下)?

exports.optimizeImages = functions.storage.bucket("{uid}").object().onFinalize(async (object) => {

const uid = ???
...
})
firebase google-cloud-functions firebase-storage
1个回答
1
投票

声明存储触发器时,您仅将其附加到单个存储桶。如果要在多个存储桶上触发,则必须声明多个触发。这样,每个触发器函数都应该始终知道为其触发了哪个存储区-您只需在函数实现中对其进行硬编码(它将与在函数生成器中指定的存储区相同-只需重复使用该值即可)。

如果必须与多个存储桶上的多个触发器共享完全相同的函数实现,则可以肯定地解析object.bucket属性。这似乎是一个不错的选择。

© www.soinside.com 2019 - 2024. All rights reserved.