簡體   English   中英

如何從雲功能訪問 firebase 存儲中的特定文件夾?

[英]How can I access a specific folder inside firebase storage from a cloud function?

我是第一次使用 firebase 雲函數存儲。 我成功地使用以下命令對默認文件夾進行了更改:

exports.onFileUpload = functions.storage.bucket().object().onFinalize(data => {
const bucket = data.bucket;
const filePath = data.name;
const destBucket = admin.storage().bucket(bucket);
const file = destBucket.file(filePath);

但現在我希望從存儲文件夾內的文件夾中觸發該功能,如下所示在此處輸入圖片說明

我怎樣才能做到這一點?

當前無法為某些文件路徑配置觸發條件,類似於您可以使用數據庫觸發器執行的操作。

即您不能'User_Pictures/{path}'設置雲存儲觸發器

您需要做的是在函數被觸發后檢查對象屬性並在那里相應地處理它。

您可以為要處理的每種情況創建一個觸發器函數,如果它不是您要查找的路徑,則停止該函數。

functions.storage.object().onFinalize((object) => {
  if (!object.name.startsWith('User_Pictures/')) {
    console.log(`File ${object.name} is not a user picture. Ignoring it.`);
    return null;
  }

  // ...
})

或者你做一個主處理功能,將處理分派到不同的功能

functions.storage.object().onFinalize((object) => {
  if (object.name.startsWith('User_Pictures/')) {    
    return handleUserPictures(object);
  } else if (object.name.startsWith('MainCategoryPics/')) {
    return handleMainCategoryPictures(object);
  }
})

暫無
暫無

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

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