2012-07-10 34 views
12

Amazon-S3'te birkaç küçük dosya var ve bunların tek bir istekte 3-4'ünü almanın mümkün olup olmadığını merak ediyoruz.Tek istekle Amazon S3'ten çoklu nesne almak mümkün mü?

Dokümanların ve birkaç SDK'nın etrafına baktı ve açık bir şey bulamadı. Onlar şimdi "multi-delete" var, güzel olan, ama çok olsun harika olurdu

Bunun gibi bir şey bilen herkes mümkün mü?

Teşekkür

+0

güncelleştirme (4 yıl sonra), bunlar ilginizi çekebilir: [AWS CLI] (http://docs.aws.amazon.com/cli/latest/userguide/using-s3-commands.html) ve [AWS Kaynak API'leri] (https://github.com/awslabs/aws-sdk-php-resources) – Nir

cevap

12

(örneğin, REST API) en düşük seviyede belgelerine bir göz atacak olursak, nesneler üzerinde GET işlemi size istek başına yalnızca bir nesneyi getirir, bu nedenle AWS SDK'larından hiçbirinde öğrenmek olursa olsun Bu tür bir istek üzerinde bir döngü olacak.

Birden çok nesneyi indirmeyi kolaylaştıran bazı araçlar vardır. Örneğin, komut satırı araçlarında:
s3cmd get object1 object2 object3 s3://bucket-name
Bu çağrı sıralı istekler oluşturacaktır, yani toplam süre azaltılmayacaktır, ancak aslında görevinizin gerçekleştirilmesini kolaylaştırır.

Programlı bir şekilde yapmayı tercih ediyorsanız, platformunuz için daha anlamlı olan SDK'yı kullanmanızı ve toplu bir GET nesne işlemi içermiyorsa, kendi tercihlerinizi kendi tercihlerinize göre uygulamanızı öneririz. .

+0

teşekkürler, sadece .net sdk kaynağına baktım, ve Get-Object bir döngüde ... harika olurdu onlar – andryuha

+0

@andryuha olsa da, bir döngü içinde REST API get nesne çağrısını kullandıkları anlamına mı verdiler? – Viccari

+0

onlar üzerinde bir soyutlama kullanıyorlar, yani temelde evet – andryuha

0

Hayır gibi görünüyor, ancak sunucunuz aynı bölgede bulunan e2'ye konuşlandırıldıysa, s3'e gidiş dönüşte küçük olmalı ve bazen birden çok nesne almak için birden çok istekte bulunmanız yeterlidir.

İlgili konular