Lecturas y descargas de objetos

En esta página, se analizan conceptos relacionados con la lectura y descarga de objetos en Cloud Storage.

Lectura de objetos

La lectura de un objeto se refiere a la transmisión, el consumo o la inspección de los datos del objeto o un rango de bytes específico a través de una conexión de red abierta directamente en la memoria. En lugar de guardarse de forma local, la carga útil recuperada es efímera y reside en un flujo de memoria de la aplicación, un búfer, una canalización o directamente en la memoria de la CPU o la GPU. La lectura de objetos es adecuada para cargas de trabajo de alto rendimiento y con un uso intensivo de la capacidad de procesamiento, como la transmisión de conjuntos de datos de entrenamiento y lotes de tensores en frameworks de inteligencia artificial (IA) y aprendizaje automático (AA), como Pytorch o Jax.

En la siguiente lista, se describen los tipos de lecturas de objetos disponibles en Cloud Storage:

  • Lectura de objetos en la memoria o lecturas de objetos interactivos: Es un método en el que los datos se consumen de forma interactiva o en la memoria. El cliente recupera todo el objeto y carga todos sus bytes en una variable contigua, un array de bytes o una cadena en la memoria.

  • Lecturas de transmisión: Es un método en el que los datos se consumen como un flujo de bytes directamente a medida que se reciben de la red, en lugar de esperar a que finalice toda la transferencia.

Descarga objetos

La descarga de un objeto es una tarea de extremo a extremo que transfiere datos de objetos de Cloud Storage a un archivo persistente en un sistema de archivos local, un disco o un dispositivo de almacenamiento de destino. A diferencia de las lecturas de transmisión en memoria, la descarga abarca la recuperación de los bytes remotos y su confirmación en el almacenamiento local. La descarga de objetos es principalmente adecuada para la administración de archivos de uso general, el archivado local, la copia de seguridad de datos y el uso de utilidades sin conexión.

Cuando se usan las APIs de REST, las descargas se realizan con solicitudes HTTP o HTTPS GET que pueden incluir un encabezado Range opcional, que define una parte específica del objeto que se descargará en el almacenamiento persistente o local. También puedes usar el encabezado Range para reanudar las descargas interrumpidas. Cuando se usa gRPC, las descargas usan transmisiones storage.v2.Storage/ReadObject o BidiReadObject.

En la siguiente lista, se describen los tipos de descargas de objetos disponibles en Cloud Storage:

  • Descargas simples: Es la forma más básica de descargar objetos. El cliente envía una sola solicitud para recuperar todo el objeto o un rango de bytes especificado en una transferencia continua.

  • Descargas de objetos divididos: Es una estrategia de alto rendimiento en la que un solo objeto grande se divide en varias "porciones" más pequeñas (también conocidas como "fragmentos"). El cliente descarga estas porciones en paralelo con varias solicitudes simultáneas independientes, y, luego, vuelve a ensamblar las porciones de forma local en un solo archivo.

Compatibilidad de herramientas para leer y descargar objetos

Console

Cuando usas la consola de Google Cloud , puedes realizar las siguientes lecturas y descargas de objetos:

Línea de comandos

Puedes realizar las siguientes lecturas y descargas de objetos cuando usas la Google Cloud CLI:

Bibliotecas cliente

C++

Puedes realizar los siguientes tipos de lecturas y descargas cuando usas la biblioteca cliente de C++:

C#

Puedes realizar los siguientes tipos de lecturas y descargas cuando usas la biblioteca cliente de C#:

Go

Puedes realizar los siguientes tipos de lecturas y descargas cuando usas la biblioteca cliente de Go:

Java

Puedes realizar los siguientes tipos de lecturas y descargas cuando usas la biblioteca cliente de Java:

Node.js

Puedes realizar los siguientes tipos de lecturas y descargas cuando usas la biblioteca cliente de Node.js:

PHP

Puedes realizar los siguientes tipos de lecturas y descargas cuando usas la biblioteca cliente de PHP:

Python

Puedes realizar los siguientes tipos de lecturas y descargas cuando usas la biblioteca cliente de Python:

Ruby

Puedes realizar los siguientes tipos de lecturas y descargas cuando usas la biblioteca cliente de Ruby:

API de REST

Si usas APIs de REST para descargar objetos, consulta la sección Extremos de solicitud para obtener un análisis completo sobre los extremos de solicitud que puedes usar.

API de JSON

Puedes realizar los siguientes tipos de descargas cuando usas la API de JSON:

API de XML

Puedes realizar los siguientes tipos de descargas cuando usas la API de XML:

¿Qué sigue?