1

我试图使用触发我的具体路径上的功能在存储桶:存储功能火力地堡许可

exports.generateThumbnail = functions.storage.bucket("users").object().onChange(event => {}); 

当我尝试部署,控制台显示:

functions[generateThumbnail]: Deploy Error: Insufficient permissions to (re)configure a trigger (permission denied for bucket users). Please, give owner permissions to the editor role of the bucket and try again. 

哪有我这样做?我是否需要设置IAM或存储桶权限,或者其他内容?

回答

2

看起来问题在于您试图引用名为“users”的存储桶而不是过滤对象前缀。

你想要的是:

exports.generateThumbnail = functions.storage.object().onChange(event => { 
    if (object.name.match(/users\//)) { 
    // do whatever you want in the filtered expression! 
    } 
}); 

最后,我们想使前缀过滤可用,因此您可以做object("users"),但目前你在你的功能来过滤像上面。

+0

但是这个tigger会被调用每次在存储权发生任何变化?不会造成超负荷? –

+0

目前它会启动该功能,而且很遗憾没有办法改变它。如前所述,我们正在考虑集成前缀过滤,因此它不会。 –