Modifiez le contrôle du cache de l'objet que vous importez dans Cloud Storage en Python.
Il n'y a pas d'exemple de code Python dans Official Documents, donc je vais l'écrire car il y avait un point addictif.
upload.py
def main():
_, temp_local_filename = tempfile.mkstemp()
with codecs.open(temp_local_filename, 'w', 'utf_8') as f:
f.write('texte')
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = 'nom de fichier des informations d'identification'
client = storage.Client()
bucket = client.get_bucket('Nom du godet')
blob = bucket.blob('Télécharger le nom du fichier de destination')
blob.upload_from_filename(filename=temp_local_filename)
blob.cache_control = 'no-cache'
blob.patch()
return "success"
upload.py
blob.cache_control = 'no-cache'
blob.patch()
Vérifiez s'il est défini.
bash
$ curl -v "https://storage.googleapis.com/Nom du godet/nom de fichier" 2>&1 | grep -i Cache-Control
* h2 header: cache-control: no-cache
< cache-control: no-cache
Cache-Control est désormais sans cache.
Dans les métadonnées
Cache-Control correspond aux données clés fixes. Le code ci-dessous définit des métadonnées personnalisées, de sorte que Cache-Control n'est pas correctement défini.
upload.py
blob.metadata['Cache-Control'] = 'no-cache'
Vérifiez comment il est défini.
bash
$ curl -v "https://storage.googleapis.com/Nom du godet/nom de fichier" 2>&1 | grep -i Cache-Control
* h2 header: cache-control: public, max-age=3600
* h2 header: x-goog-meta-cache-control: no-cache
< cache-control: public, max-age=3600
< x-goog-meta-cache-control: no-cache
Il a été défini sur x-goog-meta-cache-control.
Même si vous regardez la console, la valeur est définie dans un élément différent du Cache-Control d'origine.
Recommended Posts