Cloud Storage admite la transmisión de datos de un bucket a un proceso sin necesidad de que los datos se guarden primero en un archivo.
Usa la validación de la suma de verificación durante la transmisión
No debes usar una descarga de transmisión si necesitas una validación de la suma de verificación antes de que los datos se vuelvan accesibles. Esto se debe a que las descargas de transmisión usan el encabezado Range
y Cloud Storage no muestra sumas de verificación en la respuesta que se aplican solo a la parte solicitada de los datos del objeto.
Se recomienda que siempre uses la validación de la suma de verificación y puedes hacerlo después de que se complete una descarga de transmisión. Sin embargo, realizar la validación después de que se complete la descarga significa que se puede acceder a los datos dañados durante el tiempo que lleva confirmar el daño y quitarlo.
Roles obligatorios
Para obtener los permisos necesarios para descargas de transmisión, pídele a tu administrador que te otorgue el rol de visualizador de objetos de almacenamiento (roles/storage.objectViewer
) en el bucket.
Este rol contiene el permiso necesario para transmitir descargas. Para ver el permiso exacto que es necesario, expande la sección Permisos requeridos:
Permisos necesarios
storage.objects.get
También puedes obtener este permiso con otros roles predefinidos o roles personalizados.
Para obtener instrucciones para otorgar roles a los buckets, consulta Usa IAM con buckets.
Realiza una descarga de transmisión
En los siguientes ejemplos, se muestra cómo realizar una descarga desde un objeto de Cloud Storage a un proceso:
Console
La consola de Google Cloud no admite la descarga de transmisiones. En su lugar, usa Google Cloud CLI.
Línea de comandos
Ejecuta el comando
gcloud storage cp
con un guion para la URL de destino y, a continuación, canaliza los datos al proceso:gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME - | PROCESS_NAME
Aquí:
BUCKET_NAME
es el nombre del bucket que contiene el objeto. Por ejemplo,my_app_bucket
.OBJECT_NAME
es el nombre del objeto que transmites al proceso. Por ejemplo,data_measurements
PROCESS_NAME
es el nombre del proceso al que envías datos. Por ejemplo,analyze_data
También puedes transmitir datos desde un objeto de Cloud Storage hasta un comando estándar de Linux como sort:
gcloud storage cp gs://my_app_bucket/data_measurements - | sort
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
API de REST
API de JSON
A fin de realizar una descarga de transmisión, sigue las instrucciones para descargar un objeto con las siguientes consideraciones:
Antes de comenzar la descarga, recupera los metadatos del objeto y guarda el número de generación del objeto. Incluye este número de generación en cada una de tus solicitudes para asegurarte de no descargar datos de dos generaciones diferentes en caso de que se reemplacen los originales.
Usa el encabezado
Range
en tu solicitud para recuperar una parte del objeto general, que puedes enviar a un proceso local.Continúa realizando solicitudes para partes sucesivas del objeto, hasta que se haya recuperado todo el objeto.
API de XML
A fin de realizar una descarga de transmisión, sigue las instrucciones para descargar un objeto con las siguientes consideraciones:
Antes de comenzar la descarga, recupera los metadatos del objeto y guarda el número de generación del objeto. Incluye este número de generación en cada una de tus solicitudes para asegurarte de no descargar datos de dos generaciones diferentes en caso de que se reemplacen los originales.
Usa el encabezado
Range
en tu solicitud para recuperar una parte del objeto general, que puedes enviar a un proceso local.Continúa realizando solicitudes para partes sucesivas del objeto, hasta que se haya recuperado todo el objeto.
¿Qué sigue?
- Realiza una carga de transmisión
- Obtén más información sobre la transcodificación descompresiva.
- Obtén más información sobre cargas y descargas.