1

我試圖從谷歌雲存儲中檢索JSON文件。該JSON文件存儲在同一個文件夾及其相應的音頻文件,如下所示:谷歌雲存儲忽略分隔符

bucket 
    folder1 
    audio.wav 
    audio.json 
    folder2 
    audio.wav 
    audio.json 

我使用的NodeJS,並調用雲存儲如下:

bucket.getFiles({ 
    delimeter: 'audio' //should be preventing loading of audio files but it isnt 
    }).then((data) => { 
    console.log(data) 
    }).catch((error) => { 
    console.log(error) 
    }) 

我有一種感覺它可能與Google如何處理文件夾有關,但我並不確定。這是文件的方式存儲在首位:

const storage = require('@google-cloud/storage')(); 

    const filename = `recordings/${path.parse(req.body.RecordingUrl).name}/audio.wav`; 
    const file = storage 
    .bucket(config.RESULTS_BUCKET) 
    .file(filename) 

導致某種字符串來分配音頻文件的唯一ID作爲文件夾名稱,然後追加/audio.wav,不知何故云存儲認識到這是一個文件夾。只是一個猜測,但不知道如果是這樣的話如何解決。任何人都知道我可能會做錯什麼?

回答

1

如果您嘗試列出以.json結尾的所有對象,則根本不需要設置分隔符。分隔符用於分層列表。除了未設置和/之外,您幾乎從不想將其設置爲任何值。請參閱list文檔。

+0

如何從結果集中排除audio.wav文件? – mheavers

+1

沒有辦法做到這一點。你必須在客戶端進行過濾。 – jterrace