https - sitio - ¿Cómo puedo descargar un archivo de un cubo S3 con wget?
wget example (4)
Puedo enviar contenido a un cubo de S3 con mis credenciales a través de la herramienta S3cmd con s3cmd poner archivo de contenido S3: // test_bucket / test_file
La pregunta es que debo descargar el contenido de este grupo en otras computadoras que no tienen s3cmd instalado, PERO tienen instalado wget.
cuando intento descargar contenido de mi cubo con wget obtengo esto:
https://s3.amazonaws.com/test_bucket/test_file
--2013-08-14 18:17:40-- `https`://s3.amazonaws.com/test_bucket/test_file
Resolving s3.amazonaws.com (s3.amazonaws.com)... [ip_here]
Connecting to s3.amazonaws.com (s3.amazonaws.com)|ip_here|:port... connected.
HTTP request sent, awaiting response... 403 Forbidden
`2013`-08-14 18:17:40 ERROR 403: Forbidden.
He hecho este cubo público de forma manual a través de la consola web de Amazon AWS.
La pregunta es: ¿Cómo puedo descargar contenido de un contenedor S3 con wget? en un archivo local txt?
AWS cli tiene un comando ''presignar'' que se puede usar para obtener una URL pública temporal para un recurso s3 privado.
aws s3 presign s3://private_resource
Luego puede usar wget para descargar el recurso usando la URL presignada.
Debería poder acceder a él desde una url creada de la siguiente manera:
http://{bucket-name}.s3.amazonaws.com/<path-to-file>
Ahora, digamos que la ruta de su archivo s3 es:
s3://test-bucket/test-folder/test-file.txt
Deberías poder obtener este archivo con la siguiente url:
http://test-bucket.s3.amazonaws.com/test-folder/test-file.txt
Lo tengo ... Si carga un archivo en un cubo S3 con S3CMD con la bandera pública --acl, entonces uno podrá descargar el archivo desde S3 con wget fácilmente ...
Conclusión: para descargar con wget, primero debe cargar el contenido en S3 con s3cmd put --acl public --guess-mime-type <test_file> s3://test_bucket/test_file
alternativamente puedes probar:
s3cmd setacl --acl-public --guess-mime-type s3://test_bucket/test_file
note la bandera de setacl arriba. QUE PODRÁ establecer el archivo en s3 accesible públicamente, entonces puede ejecutar el wget http://s3.amazonaws.com/test_bucket/test_file
Puedes usar el comando:
wget --no-check-certificate --no-proxy ''http://your_bucket.s3.amazonaws.com/my-file.jpg''