我上傳了4個對象到S3。對象鍵如下:爲什麼ListObjects將前綴作爲數組中的單獨對象返回?
4eec12eb0a588620cccad16f/MumDad70s.jpg
4eec12eb0a588620cccad16f/NathanI-1.jpg
4eec12eb0a588620cccad16f/ProfilePic.png
4eec12eb0a588620cccad16f/nathan-orange.jpg
我的代碼,以請求的對象是:
var req = new ListObjectsRequest()
.WithBucketName(BucketName)
.WithPrefix(jobid + "/")
.WithDelimiter("/");
var objs = _s3Client.ListObjects(req);
在響應,即使前綴實際上不是它自己的目標,而是隻是一個字符串前綴到實際對象的關鍵,我得到以下對象返回:
4eec12eb0a588620cccad16f/
4eec12eb0a588620cccad16f/MumDad70s.jpg
4eec12eb0a588620cccad16f/NathanI-1.jpg
4eec12eb0a588620cccad16f/ProfilePic.png
4eec12eb0a588620cccad16f/nathan-orange.jpg
爲什麼前綴被返回,就好像它是一個唯一的對象?我如何只是返回具有指定前綴的文件,而不必後過濾列表以擺脫前綴對象?
不是答案,而是解決方案 - 只需檢查ListObjects上的getSize()是否大於0即可檢測這些對象。我很想知道這個問題的真正答案,但... – 2012-03-02 03:41:30
仍在尋找一個很好的解決此問題的方法。 – Adi 2017-02-27 14:17:51