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

目前它會啓動該功能,而且很遺憾沒有辦法改變它。如前所述,我們正在考慮集成前綴過濾,因此它不會。 –