tutorial online how google example google-cloud-storage

google-cloud-storage - online - tutorial google cloud storage



PropagaciĆ³n de Google Cloud Storage (1)

¿Cuánto tiempo tarda en propagarse un cambio en un archivo en Google Cloud Storage?

Tengo un problema muy frustrante en el que cambio el contenido de un archivo y lo vuelvo a cargar a través de gsutil, pero el cambio no aparece durante varias horas. ¿Hay una manera de forzar un archivo modificado para propagar todo inmediatamente?

Si veo el archivo en la consola de Google Cloud Storage, verá el nuevo archivo, pero luego, si llego a la URL pública, es una versión antigua y, en algunos casos, hace 2 versiones.

¿Hay un encabezado que no estoy configurando?

EDITAR:

Intenté gsutil -h "Cache-Control: no-cache" cp -a public-read MyFile y no funciona, pero tal vez el archivo antiguo deba caducar antes de que la nueva versión de no-cache tome el control.

Hice un rizo -I en el archivo y recupero esto:

HTTP/1.1 200 OK Server: HTTP Upload Server Built on Dec 12 2012 15:53:08 (1355356388) Expires: Fri, 21 Dec 2012 19:58:39 GMT Date: Fri, 21 Dec 2012 18:58:39 GMT Last-Modified: Fri, 21 Dec 2012 18:53:41 GMT ETag: "66d820174d6de17a278b327e4c3e9b4e" x-goog-sequence-number: 3 x-goog-generation: 1356116021512000 x-goog-metageneration: 1 Content-Type: application/octet-stream Content-Language: en Accept-Ranges: bytes Content-Length: 160 Cache-Control: public, max-age=3600, no-transform Age: 3449

Lo que parece indicar que caducará en una hora, a pesar del no-caché.


Google Cloud Storage proporciona una gran consistencia de datos: una vez que se completa la escritura, una lectura desde cualquier parte del mundo obtendrá los datos más recientes.

Sin embargo, si habilita el almacenamiento en caché (que por defecto es verdadero para cualquier objeto legible públicamente), las lecturas de ese objeto pueden ver una versión del objeto tan antigua como la duración máxima de Cache-Control especificada en el objeto. Si, por ejemplo, subiste el archivo así:

gsutil cp -a public-read file gs://my_bucket/file

Puedes ver que la edad máxima es de 1 hora (3600 segundos):

gsutil ls -L gs://my_bucket/file gs://my_bucket/file: Creation time: Fri, 21 Dec 2012 19:59:57 GMT Cache-Control: public, max-age=3600, no-transform Content-Length: 1065 Content-Type: text/plain ETag: eb3fb83beedf1efffe5b8e32e8d6a65a ...

Si desea evitar que un objeto legible públicamente se almacene en caché, puede hacer lo siguiente:

gsutil setmeta -h Cache-Control:no-cache gs://my_bucket/file

Alternativamente, podría establecer una duración máxima más corta en el objeto:

gsutil setmeta -h ''Cache-Control:public, max-age=600, no-transform''

Mike Schwartz, equipo de Google Cloud Storage