Cloud Storage admite la transmisión de datos de un segmento a un proceso sin necesidad de que los datos se guarden primero en un archivo.
Usar la validación de suma de comprobación al transmitir
No debes usar una descarga en streaming si necesitas validar la suma de comprobación antes de que se pueda acceder a los datos. Esto se debe a que las descargas de streaming usan el encabezado Range
y Cloud Storage no devuelve sumas de comprobación en la respuesta que se apliquen solo a la parte solicitada de los datos del objeto.
Te recomendamos que uses siempre la validación de suma de comprobación. Puedes hacerlo después de que se complete una descarga de streaming. Sin embargo, si validas los datos después de que se complete la descarga, significa que se podrá acceder a los datos dañados durante el tiempo que se tarde en confirmar que están dañados y en eliminarlos.
Roles obligatorios
Para obtener los permisos necesarios para descargar contenido en streaming, pide a tu administrador que te conceda el rol de lector de objetos de Storage (roles/storage.objectViewer
) en el segmento.
Este rol contiene el permiso necesario para transmitir descargas. Para ver el permiso exacto que se necesita, despliega la sección Permisos necesarios:
Permisos obligatorios
storage.objects.get
También puedes obtener este permiso con otros roles predefinidos o roles personalizados.
Para obtener instrucciones sobre cómo conceder roles en los contenedores, consulta Usar IAM con contenedores.
Reproducir una descarga
En los siguientes ejemplos se muestra cómo descargar un objeto de Cloud Storage en un proceso:
Consola
La Google Cloud consola no admite descargas en streaming. Usa la CLI de Google Cloud.
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
Donde:
BUCKET_NAME
es el nombre del contenedor que contiene el objeto. Por ejemplo,my_app_bucket
.OBJECT_NAME
es el nombre del objeto que estás transmitiendo al proceso. Por ejemplo,data_measurements
.PROCESS_NAME
es el nombre del proceso en el que se introducen los datos. Por ejemplo,analyze_data
.
También puedes transmitir datos de un objeto de Cloud Storage a un comando estándar de Linux, como sort:
gcloud storage cp gs://my_app_bucket/data_measurements - | sort
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
Para realizar una descarga en streaming, sigue las instrucciones para descargar un objeto teniendo en cuenta lo siguiente:
Antes de empezar 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 que no descargas datos de dos generaciones diferentes en caso de que se sobrescriba la original.
Usa la cabecera
Range
en tu solicitud para obtener una parte del objeto general, que puedes enviar a un proceso local.Sigue haciendo solicitudes de partes sucesivas del objeto hasta que se haya recuperado todo el objeto.
API XML
Para realizar una descarga en streaming, sigue las instrucciones para descargar un objeto teniendo en cuenta lo siguiente:
Antes de empezar 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 que no descargas datos de dos generaciones diferentes en caso de que se sobrescriba la original.
Usa la cabecera
Range
en tu solicitud para obtener una parte del objeto general, que puedes enviar a un proceso local.Sigue haciendo solicitudes de partes sucesivas del objeto hasta que se haya recuperado todo el objeto.
Siguientes pasos
- Reproducir en streaming un archivo subido.
- Más información sobre la transcodificación descompresiva
- Más información sobre las subidas y descargas