Leyendo blobs realmente grandes sin descargarlos en Google Cloud (¿streaming?)

¡por favor ayuda!

[+] Lo que tengo: Un montón de manchas en cada cubo. Los blobs pueden variar en tamaño desde ser menos de un Kilo-byte a ser muchos Giga-bytes.

[+] Lo que estoy tratando de hacer: necesito poder transmitir los datos en esos blobs (como un búfer de tamaño 1024 o algo así) o leerlos en trozos de cierto tamaño en Python. El punto es que no creo que solo pueda hacer un bucket.get_blob () porque si el blob fuera un TeraByte, no podría tenerlo en la memoria física.

[+] Lo que realmente estoy tratando de hacer: analizar la información dentro de las manchas para identificar palabras clave

[+] Lo que he leído: mucha documentación sobre cómo escribir en google cloud en trozos y luego usar componer para unirlo (no es útil en absoluto)

Mucha documentación sobre las funciones de búsqueda previa de java (debe ser python)

Las API de Google Cloud

¡Si alguien pudiera señalarme la dirección correcta, estaría muy agradecido! Gracias

Por lo tanto, he encontrado una manera de hacer esto creando un objeto similar a un archivo en python y luego utilizando la llamada a la API de Google-Cloud.

En esencia, esto transmite datos. código de python se ve algo como esto

def getStream(blob): stream = open('myStream','wb', os.O_NONBLOCK) streaming = blob.download_to_file(stream) 

El indicador os.O_NONBLOCK es para que pueda leer mientras escribo en el archivo. Todavía no he probado esto con archivos realmente grandes, por lo que si alguien conoce una mejor implementación o ve un posible fallo con esto, por favor comente. ¡Gracias!