簡體   English   中英

S3的Node.js / Awssum

[英]Node.js / Awssum for S3

您好:我想知道是否有人知道一種使用node.js和Awssum列出S3存儲桶中所有文件的方法,首先從最新文件開始。

默認情況下,我的代碼采用第一個創建的文件。

function getFileList(callback){
s3.ListObjects(coldBucket, function(err, data) {
    var fileList = getFilenames(data, coldBucketPath);
    callback(fileList);
});
};

任何幫助深表感謝! 謝謝。

這是AwsSum的創建者Andy。

沒錯,沒有辦法按照插入時間的順序向S3詢問文件名。 但是,您可以使用LastModified獲得它。

如果您想查看獲取所有密鑰的示例,請參見此處的示例:

然后,您可以將每個項目存儲在數組中,然后使用LastModified對其進行排序。 下划線庫包含一個對此有用的函數:

我在看http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGET.html ,我不相信s3允許您指定響應的排序順序。

但是,您可以通過更改文件結構以包含以其創建日期命名的文件夾來解決此問題,然后可以執行幾個帶有最近幾天/幾個月/等前綴的ListObjects請求。

例如,您可能具有year-month文件夾名稱,因此您的文件結構如下所示:

bucket_name/
    - 2012-3/
        - file2.jpg
        - file3.jpg
    - 2012-2/
        - file1.jpg

然后在您提出請求之前,執行此操作

var now = new Date();
coldBucket.Prefix = now.getFullYear() + "-" + now.getMonth();

然后,如果您想要舊的東西,則必須對前幾個月進行跟進請求。

(如果您甚至有太多文件,則可以嘗試year-month-day

暫無
暫無

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

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