2011-12-18 15 views
5

S3'e 4 nesne yükledim. şöyle nesne anahtarları:Neden ListObjects öneki dizide ayrı bir nesne olarak döndürüyor?

4eec12eb0a588620cccad16f/MumDad70s.jpg 
4eec12eb0a588620cccad16f/NathanI-1.jpg 
4eec12eb0a588620cccad16f/ProfilePic.png 
4eec12eb0a588620cccad16f/nathan-orange.jpg 

nesneleri istemek için My kodudur: Buna karşılık

var req = new ListObjectsRequest() 
    .WithBucketName(BucketName) 
    .WithPrefix(jobid + "/") 
    .WithDelimiter("/"); 
var objs = _s3Client.ListObjects(req); 

, önek aslında kendi nesne değil, daha ziyade sadece bir dize de başa rağmen fiili nesnelerin anahtarına, şu nesneler geri verilmesinde:

4eec12eb0a588620cccad16f/ 
4eec12eb0a588620cccad16f/MumDad70s.jpg 
4eec12eb0a588620cccad16f/NathanI-1.jpg 
4eec12eb0a588620cccad16f/ProfilePic.png 
4eec12eb0a588620cccad16f/nathan-orange.jpg 

Önek, benzersiz bir nesne gibi neden döndürülüyor? Önek nesnesinden kurtulmak için listeyi filtrelemeye gerek kalmadan dosyaları sadece belirtilen önekle nasıl döndürebilirim? Burada gereğince

+0

Yanıt değil, bir çözüm - yalnızca bu tür nesneleri, ListObjects'deki getSize() öğesinin> 0 olup olmadığını kontrol ederek algılayabilirsiniz. Bunun gerçek cevabını bilmek isterdim ... –

+0

Hala bu davranış için iyi bir iş arıyorum. – Adi

cevap

2

(ve evet, muhtemelen Java belgelerine istemiyoruz fark): http://docs.amazonwebservices.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3.html#listObjects%28com.amazonaws.services.s3.model.ListObjectsRequest%29

Burada:

ise "foo bir önek değeriyle listObjects çağırarak/"ve bu kovanın"/"bir" değeri ", bir anahtar (" foo/boo ") ve ortak bir önek listesinde (" foo/bar/") bir giriş içeren bir ObjectListing döndürülür. Sanal hiyerarşinin daha derinlerini görmek için, önek parametresinin önek parametresini, bu önek altındaki münferit anahtarları listelemek için herhangi bir ilginç ortak önek olarak ayarlayan bir başka çağrısı yapın.

Vurgulamak benim. Bu aslında istenen işlevsellik gibi görünüyor - tüm tuşlara ortak öneki dönmek.

+0

Ah, iyi bul. Sanırım hile sadece/ –

+0

ile biten girdileri göz ardı etmektir Belgelere dayanarak görünüyor, bu sadece sınırlayıcı ayarlanmışsa gerçekleşecek - bu doğru mu? –

+0

@AndreiKrotkov, ben de bunu anlıyorum. – AASoft

İlgili konular