En esta página se explica cómo descargar objetos de tus segmentos de Cloud Storage al almacenamiento persistente. También puedes descargar objetos en la memoria.
Roles obligatorios
Para obtener los permisos necesarios para descargar objetos, pide a tu administrador que te conceda el rol de lector de objetos de Storage (roles/storage.objectViewer
) en el segmento. Si tienes previsto usar la consola, pide a tu administrador que te conceda el rol Administrador de Storage (roles/storage.admin
) en el contenedor.Google Cloud
Estos roles contienen los permisos necesarios para descargar objetos. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
storage.buckets.list
- Este permiso solo es necesario para usar la consola Google Cloud para realizar las tareas de esta página.
storage.objects.get
storage.objects.list
- Este permiso solo es necesario para usar la consola Google Cloud para realizar las tareas de esta página.
También puedes obtener estos permisos con otros roles predefinidos o roles personalizados.
Para obtener instrucciones sobre cómo conceder roles en los contenedores, consulta Usar IAM con contenedores.
Descargar un objeto de un segmento
Sigue estas instrucciones para descargar un objeto de un segmento:
Consola
- En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.
En la lista de segmentos, haga clic en el nombre del segmento que contiene el objeto que quiere descargar.
Se abrirá la página Detalles del segmento, con la pestaña Objetos seleccionada.
Desplázate hasta el objeto, que puede estar en una carpeta.
Haga clic en el icono Descargar asociado al objeto.
La configuración del navegador controla la ubicación de descarga del objeto.
Para saber cómo obtener información detallada sobre los errores de las operaciones de Cloud Storage en la consola, consulta la sección Solución de problemas. Google Cloud
Línea de comandos
Usa el comando gcloud storage cp
:
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME SAVE_TO_LOCATION
Donde:
BUCKET_NAME
es el nombre del segmento que contiene el objeto que estás descargando. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre del objeto que estás descargando. Por ejemplo,pets/dog.png
.SAVE_TO_LOCATION
es la ruta local donde vas a guardar el objeto. Por ejemplo,Desktop/Images
.
Si la acción se realiza correctamente, la respuesta se parecerá al siguiente ejemplo:
Completed files 1/1 | 164.3kiB/164.3kiB
Si la descarga se interrumpe antes de completarse, ejecuta el mismo comando cp
para reanudarla desde donde se detuvo.
Bibliotecas de cliente
C++
Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
C#
Para obtener más información, consulta la documentación de referencia de la API C# de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Go
Para obtener más información, consulta la documentación de referencia de la API Go de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Java
Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se descarga un objeto concreto:
En el siguiente ejemplo se descargan varios objetos mediante varios procesos:
En el siguiente ejemplo se descargan todos los objetos con un prefijo común mediante varios procesos:
Node.js
Para obtener más información, consulta la documentación de referencia de la API Node.js de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se descarga un objeto concreto:
En el siguiente ejemplo se descargan varios objetos mediante varios procesos:
En el siguiente ejemplo se descargan todos los objetos con un prefijo común mediante varios procesos:
PHP
Para obtener más información, consulta la documentación de referencia de la API PHP de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Python
Para obtener más información, consulta la documentación de referencia de la API Python de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se descarga un objeto concreto:
En el siguiente ejemplo se descargan varios objetos mediante varios procesos:
En el siguiente ejemplo se descargan todos los objetos de un segmento mediante varios procesos:
Ruby
Para obtener más información, consulta la documentación de referencia de la API Ruby de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
APIs REST
API JSON
Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API JSON con una solicitud deGET
Object:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media"
Donde:
SAVE_TO_LOCATION
es la ruta a la ubicación en la que quieres guardar el objeto. Por ejemplo,Desktop/dog.png
.BUCKET_NAME
es el nombre del segmento que contiene el objeto que estás descargando. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre codificado en URL del objeto que estás descargando. Por ejemplo,pets/dog.png
, codificado como URLpets%2Fdog.png
.
API XML
Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API XML con una solicitud deGET
Object:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Donde:
SAVE_TO_LOCATION
es la ruta a la ubicación en la que quieres guardar el objeto. Por ejemplo,Desktop/dog.png
.BUCKET_NAME
es el nombre del segmento que contiene el objeto que estás descargando. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre codificado en URL del objeto que estás descargando. Por ejemplo,pets/dog.png
, codificado como URLpets%2Fdog.png
.
Para descargar de forma más eficiente todos los objetos de un contenedor o un subdirectorio, utiliza el comando gcloud storage cp
o una biblioteca de cliente:
gcloud storage cp --recursive gs://BUCKET_NAME/FOLDER_NAME .
Descargar una parte de un objeto
Si la descarga se interrumpe, puedes reanudarla donde la dejaste solicitando solo la parte del objeto que falta. Sigue las instrucciones que se indican a continuación para descargar una parte de un objeto.
Consola
La consola Google Cloud no admite la descarga de partes de un objeto. Usa la CLI de gcloud.
Línea de comandos
La CLI de Google Cloud intenta automáticamente reanudar las descargas interrumpidas, excepto cuando se realizan descargas de streaming. Si la descarga se interrumpe, se mostrará un archivo temporal descargado parcialmente en la jerarquía de destino. Ejecuta el mismo comando cp
para reanudar la descarga donde la dejaste.
Cuando se completa la descarga, el archivo temporal se elimina y se sustituye por el contenido descargado. Los archivos temporales se almacenan en una ubicación configurable, que, de forma predeterminada, se encuentra en el directorio principal del usuario, en .config/gcloud/surface_data/storage/tracker_files
. Puedes cambiar o ver la ubicación en la que se almacenan los archivos temporales ejecutando gcloud config get storage/tracker_files_directory
.
Bibliotecas de cliente
C++
Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
C#
Para obtener más información, consulta la documentación de referencia de la API C# de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Go
Para obtener más información, consulta la documentación de referencia de la API Go de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Java
Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Node.js
Para obtener más información, consulta la documentación de referencia de la API Node.js de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
PHP
Para obtener más información, consulta la documentación de referencia de la API PHP de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Python
Para obtener más información, consulta la documentación de referencia de la API Python de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Ruby
Para obtener más información, consulta la documentación de referencia de la API Ruby de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
APIs REST
API JSON
Usa el encabezado Range
en tu solicitud para descargar una parte de un objeto.
Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API JSON con una solicitud deGET
Object:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Range: bytes=FIRST_BYTE-LAST_BYTE" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media"
Donde:
FIRST_BYTE
es el primer byte del intervalo de bytes que quieres descargar. Por ejemplo,1000
.LAST_BYTE
es el último byte del intervalo de bytes que quieres descargar. Por ejemplo,1999
.SAVE_TO_LOCATION
es la ruta a la ubicación en la que quieres guardar el objeto. Por ejemplo,Desktop/dog.png
.BUCKET_NAME
es el nombre del segmento que contiene el objeto que estás descargando. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre codificado en URL del objeto que estás descargando. Por ejemplo,pets/dog.png
, codificado como URLpets%2Fdog.png
.
API XML
Usa el encabezado Range
en tu solicitud para descargar una parte de un objeto.
Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API XML con una solicitud deGET
Object:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Range: bytes=FIRST_BYTE-LAST_BYTE" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Donde:
FIRST_BYTE
es el primer byte del intervalo de bytes que quieres descargar. Por ejemplo,1000
.LAST_BYTE
es el último byte del intervalo de bytes que quieres descargar. Por ejemplo,1999
.SAVE_TO_LOCATION
es la ruta a la ubicación en la que quieres guardar el objeto. Por ejemplo,$HOME/Desktop/dog.png
.BUCKET_NAME
es el nombre del segmento que contiene el objeto que estás descargando. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre codificado en URL del objeto que estás descargando. Por ejemplo,pets/dog.png
, codificado como URLpets%2Fdog.png
.
Siguientes pasos
- Consulta la información general sobre la subida y la descarga, incluidas las estrategias de descarga avanzadas.
- Transfiere datos de proveedores de la nube u otras fuentes online, como listas de URLs.
- Transfiere objetos a tu instancia de Compute Engine.
- Consulta cómo puedes facturar a los solicitantes los cargos de acceso a Cloud Storage.
- Consulta cómo puede servir archivos comprimidos con gzip en un estado sin comprimir.
Pruébalo
Si es la primera vez que utilizas Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud Storage en situaciones reales. Los nuevos clientes también reciben 300 USD en crédito gratuito para ejecutar, probar y desplegar cargas de trabajo.
Probar Cloud Storage gratis