2016-09-06 66 views
0

我已經能夠將環回框架連接到Amazon S3帳戶,以從中創建REST API。但是,它顯示的信息僅在整個帳戶的容器和文件級別上顯示。環回組件存儲創建API以顯示文件夾

我的目標是創建API,允許用戶編寫不同級別的文件夾名稱,然後顯示該路徑的內容。

例如: 父 child1 child1胎 toys.txt 的child2 notes.txt 的child2胎 toys.txt

因此,如果用戶輸入的父母/ CHILD2的REST API應顯示從那裏起即{notes.txt,的child2獨生子女/}至1

深度的內容我已經能夠硬線在getFiles功能的單桶在storage-service.js

StorageService.prototype.getFiles = function (container, options, cb) { 
    ... 
    return this.client.getFiles('hardwiredbucketname', options, function (err, files) { 
... 
}; 

,現在想創建的API,讓我到指定文件夾名稱,並顯示其所有內容到一個深度。

回答

0

這裏首先要注意的是S3中沒有文件夾。 S3具有扁平結構。您應該首先閱讀Working with S3 folders

使用節點S3時,最好的辦法是使用AWS SDK。爲了獲取文件夾內容,您可以創建遠程方法,該方法將接受存儲模型上的路徑參數,然後您可以使用listObjecstV2方法獲取對象列表。

var AWS = require('aws-sdk'); 

var s3 = new AWS.S3() 
var params = { 
    Bucket: 'hardwiredbucketname', 
    Prefix: 'parent/', 
    Delimiter: '/' 
}; 
s3.listObjectsV2(params, function(err, data){ 
    if (err) console.log(err, err.stack); 
    console.log(data); 
}); 

採取從回調的「數據」對象,然後解析「內容」和「CommonPrefixes」屬性,讓您的文件和文件夾。

相關問題