[Python] Modifier le contrôle du cache des objets téléchargés sur Cloud Storage

Cible

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.

code

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"

Le droit chemin

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

screenshot-console.cloud.google.com-2020.05.15-09_50_17.png

Cache-Control est désormais sans cache.

Fausse route

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.

screenshot-console.cloud.google.com-2020.05.15-09_36_16.png

Même si vous regardez la console, la valeur est définie dans un élément différent du Cache-Control d'origine.

référence

Recommended Posts

[Python] Modifier le contrôle du cache des objets téléchargés sur Cloud Storage
Convertir l'API cURL en script Python (à l'aide du stockage d'objets IBM Cloud)
Une introduction à l'orientation des objets - changeons l'état interne d'un objet
[Python] Changer l'alphabet en nombre
Comment modifier le niveau de journalisation d'Azure SDK pour Python
Comment connaître la structure interne d'un objet en Python
N'hésitez pas à changer l'étiquette de légende avec Seaborn en python
Comment mettre à jour la version Python de Cloud Shell dans GCP
Changer la longueur des chaînes csv Python
Script pour changer la description de fasta
[Python3] Réécrire l'objet code de la fonction
Exploitez le stockage d'objets cloud de Sakura à partir de Python
Remarque Python: lorsque vous souhaitez connaître les attributs d'un objet
[Python] Comment changer le format de la date (format d'affichage)
Modifiez le point décimal de la journalisation de, à.
Changer la clé de l'objet sur S3 du format de date normal au format Hive
le zen de Python
GAE --Avec Python, faites pivoter l'image en fonction des informations de rotation d'EXIF et importez-la dans Cloud Storage.
Un moyen simple de vérifier la source des modules Python
Le mur lors du passage du service Django de Python 2.7 à la série Python 3
Modèle de script python pour lire le contenu du fichier
Comment obtenir le nombre de chiffres en Python
[Python] Calculez la valeur moyenne de la valeur de pixel RVB de l'objet
Changer les paramètres IP en ACL de conoha avec python
[python] option pour désactiver la sortie de click.progressbar
[IBM Cloud] Placez le fichier ISO dans le stockage d'objets
[Python] Résumé de la façon de spécifier la couleur de la figure
14 quiz pour comprendre la portée étonnamment compliquée de Python
[Introduction à Python] Utilisation basique de la bibliothèque matplotlib
Pour faire l'équivalent de Ruby ObjectSpace._id2ref en Python
Entièrement traduit le site du "Guide de l'auto-stoppeur de Python"
Note Python: Le mystère de l'attribution d'une variable à une variable
[Python] Changeons l'URL du site administrateur de Django
J'ai essayé de résumer les opérations de chaîne de Python
J'ai essayé de trouver l'entropie de l'image avec python
Essayez d'obtenir la liste des fonctions du paquet Python> os
Vers la retraite de Python2
[python] Remplacez le nom du fichier image par un numéro de série
Facilitez la compréhension de l'affichage des exceptions du module Python
[python] Valeur de l'objet fonction (?)
Changer la destination de sortie standard en un fichier en Python
L'histoire de l'introduction de Jedi (package de complétion automatique de python) dans emacs
Afficher à l'aide du module python du backend mobile Nifty Cloud
[OCI] Script Python pour obtenir l'adresse IP d'une instance de calcul dans Cloud Shell
Comment télécharger des fichiers sur Cloud Storage avec le SDK Python de Firebase
Comment spécifier Cache-Control pour le stockage BLOB dans le stockage Azure en Python
[Python] J'ai essayé de visualiser la relation de suivi de Twitter
Essayez d'automatiser le fonctionnement des périphériques réseau avec Python
Attacher au processus Python de la destination SSH et déboguer
Code Python pour l'écriture de données CSV dans le stockage d'objets DSX
Changer le volume de Pepper en fonction de l'environnement environnant (son)
Changer le thème de Jupyter
Changer le style de matplotlib
Je veux connaître la nature de Python et pip
Comment changer la version de Python