[英]How to filter .mp3 files using Amazon S3 listObjects
我將Amazon S3服務與node.js結合使用,並且我想使用Amazon S3 listObjects()
過濾目錄中的所有.mp3文件。 有一個prefix
參數,但沒有sufix
。 有什么方法可以使用正則表達式或* .mp3之類的過濾器來實現?
這是功能參考http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#listObjects-property
var prefix = "myS3dir/";
bucket.listObjects({Prefix:prefix}, function(err, data){
//do something with data
});
不,這對於S3是不可能的。 您只能按前綴在服務器端進行過濾。 這與以下事實有關:S3沒有真正的密鑰層次結構,它主要是密鑰對象存儲,並且前綴匹配在那里起作用。
如果要進行后綴匹配,則基本上必須拉出所有鍵的名稱並在客戶端進行檢查。
如果您需要通過.mp3文件擴展名查詢並且S3對象的數量很少,則只需枚舉所有S3對象並提供您自己的內存過濾器/查詢即可。 如果S3對象的數量很大(例如10k +,這將很難枚舉),那么您需要一個不同的解決方案。 假設您沒有直接向最終用戶公開S3結構,那么這里有一些想法:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.