簡體   English   中英

當谷歌雲存儲 object 重命名時停止 object 完成事件

[英]Stop object finalize event when google cloud storage object is renamed

hint: this doesn't need a code sample

我正在使用谷歌雲存儲和雲功能,當通過Object finalized )事件上傳 object 時,該案例要求觸發 function ,鏈從雲功能中監聽事件,生成一個隨機字符串,調用一些 api提交給數據庫,並重命名相同的 object 並附加隨機字符串,當發生這種情況時 - 通過 bucket.rename_blob 重命名bucket.rename_blob -,谷歌雲存儲再次觸發最終事件,因此在隨機結束時再次調用相同的 function循環(注意到上傳 object 在數據庫中生成大約 23 個名稱),無論如何要在重命名 object 時停止傳播事件?

正如我們在bucket.rename_blob的文檔中所讀到的,此方法“將 blob 復制到具有新名稱的同一存儲桶,然后刪除該 blob”。 這就是為什么您的 Cloud Function 被一次又一次觸發的原因,因為每次重命名 Object 都會創建一個新的 Object,這會觸發finalized事件。

我能看到的唯一方法是將新的 Object 名稱存儲在數據庫中,並在雲 Function 中檢查數據庫中是否存在此名稱:如果存在,則不會執行雲 Function 業務邏輯,因為此 Object名字是其中的一個改名object。

您可以很好地使用 Cloud Firestore 作為數據庫來存儲這些名稱,或者您選擇的任何其他數據庫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM