2012-07-10 15 views
12

Tiene unos pocos archivos pequeños en Amazon-S3 y se pregunta si es posible obtener 3-4 de ellos en una sola solicitud.¿Es posible obtener múltiples objetos de Amazon S3 en una única solicitud?

Miré alrededor de documentos y algunos SDK y no encontré nada obvio. Vi que ahora tienen "eliminación múltiple", lo que es bueno, pero la obtención múltiple sería genial

¿Alguien sabe algo como esto es posible?

Gracias

+0

actualización (4 años después), estos pueden ser de interés: [AWS CLI] (http://docs.aws.amazon.com/cli/latest/userguide/using-s3-commands.html) y [AWS API de recursos] (https://github.com/awslabs/aws-sdk-php-resources) – Nir

Respuesta

12

Si se echa un vistazo a la documentación de nivel más bajo (API REST, por ejemplo), la operación GET en los objetos que trae sólo un objeto por la petición, por lo que lo que encuentre en cualquiera de AWS SDK será un ciclo sobre este tipo de solicitud.

Existen algunas herramientas que facilitan la descarga de más de un objeto. Por ejemplo, en las herramientas de línea de comandos:
s3cmd get object1 object2 object3 s3://bucket-name
Esta llamada realizará solicitudes secuenciales, lo que significa que el tiempo total no se reducirá, pero de hecho hace que su tarea sea más fácil de realizar.

Si prefiere hacerlo de forma programática, le sugiero que use cualquier SDK que tenga más sentido para su plataforma y, si todavía no contiene un lote de objetos GET, implemente su propia versión de acuerdo con sus propias preferencias .

+0

gracias, acabo de ver el origen de .net sdk, y es Get-Object en un bucle ... sería genial de ellos sí proporcionaron que, aunque – andryuha

+0

@andryuha, ¿quiere decir que usan la API REST para obtener la llamada al objeto en un bucle? – Viccari

+0

usan una abstracción sobre él, así que básicamente sí – andryuha

0

Parece que no, pero si su servidor implementado en e2 ubicado en la misma región de ida y vuelta a s3 debe ser pequeño y en algún momento está bien emitir varias solicitudes para obtener múltiples objetos.