[Python] Ändern Sie die Cache-Steuerung von Objekten, die in den Cloud-Speicher hochgeladen wurden

Ziel

Ändern Sie die Cache-Steuerung des Objekts, das Sie in Python in den Cloud-Speicher hochladen.

Es gibt keinen Python-Beispielcode in Offizielle Dokumente, daher werde ich ihn aufschreiben, da es einen Suchtpunkt gab.

Code

upload.py


def main():
    _, temp_local_filename = tempfile.mkstemp()
    with codecs.open(temp_local_filename, 'w', 'utf_8') as f:
        f.write('Text')

    os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = 'Name der Anmeldeinformationsdatei'
    client = storage.Client()
    bucket = client.get_bucket('Eimername')
    blob = bucket.blob('Name der Zieldatei hochladen')
    blob.upload_from_filename(filename=temp_local_filename)
    blob.cache_control = 'no-cache'
    blob.patch()
    return "success"

Der richtige Weg

upload.py


    blob.cache_control = 'no-cache'
    blob.patch()

Überprüfen Sie, ob es eingestellt ist.

bash


$ curl -v "https://storage.googleapis.com/Eimername/Dateiname" 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 ist jetzt kein Cache.

Falscher Weg

In Metadaten

Cache-Control entspricht festen Schlüsseldaten. Der folgende Code legt benutzerdefinierte Metadaten fest, sodass die Cache-Steuerung nicht erfolgreich festgelegt wird.

upload.py


    blob.metadata['Cache-Control'] = 'no-cache'

Überprüfen Sie, wie es eingestellt ist.

bash


$ curl -v "https://storage.googleapis.com/Eimername/Dateiname" 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

Es wurde auf x-goog-meta-cache-control gesetzt.

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

Selbst wenn Sie sich die Konsole ansehen, wird der Wert in einem anderen Element als das ursprüngliche Cache-Steuerelement festgelegt.

Referenz

Recommended Posts

[Python] Ändern Sie die Cache-Steuerung von Objekten, die in den Cloud-Speicher hochgeladen wurden
Konvertieren der cURL-API in ein Python-Skript (mithilfe des IBM Cloud-Objektspeichers)
Eine Einführung in die Objektorientierung: Ändern Sie den internen Status eines Objekts
[Python] Ändere das Alphabet in eine Zahl
So ändern Sie die Protokollstufe von Azure SDK für Python
Wie Sie die interne Struktur eines Objekts in Python kennen
Fühlen Sie sich frei, das Legendenlabel mit Seaborn in Python zu ändern
So aktualisieren Sie die Python-Version von Cloud Shell in GCP
Ändern Sie die Länge der Python-CSV-Zeichenfolgen
Skript zum Ändern der Beschreibung von Fasta
[Python3] Schreiben Sie das Codeobjekt der Funktion neu
Betreiben Sie den Cloud-Objektspeicher von Sakura von Python aus
Python Hinweis: Wenn Sie die Attribute eines Objekts kennen möchten
[Python] So ändern Sie das Datumsformat (Anzeigeformat)
Ändern Sie den Dezimalpunkt der Protokollierung von, nach.
Ändern Sie den Objektschlüssel in S3 vom normalen Datumsformat in das Hive-Format
der Zen von Python
GAE - Drehen Sie mit Python das Bild basierend auf den Rotationsinformationen von EXIF und laden Sie es in den Cloud-Speicher hoch.
Einfache Möglichkeit, die Quelle der Python-Module zu überprüfen
Die Wand beim Ändern des Django-Dienstes von Python 2.7 auf Python 3-Serie
Vorlage des Python-Skripts zum Lesen des Inhalts der Datei
So ermitteln Sie die Anzahl der Stellen in Python
[Python] Berechnen Sie den Durchschnittswert des Pixelwerts RGB des Objekts
Ändern Sie die IP-Einstellungen mit Python in ACL von conoha
Option [Python] zum Deaktivieren der Ausgabe von click.progressbar
[IBM Cloud] Platzieren Sie die ISO-Datei im Objektspeicher
[Python] Zusammenfassung, wie die Farbe der Figur angegeben wird
14 Tests, um den überraschend verwirrenden Umfang von Python zu verstehen
[Einführung in Python] Grundlegende Verwendung der Bibliothek matplotlib
Um das Äquivalent von Rubys ObjectSpace._id2ref in Python zu tun
Die Website von "The Hitchhiker's Guide to Python" wurde vollständig übersetzt.
Python Hinweis: Das Rätsel, einer Variablen eine Variable zuzuweisen
[Python] Lassen Sie uns die URL der Django-Administrator-Site ändern
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Versuchen Sie, die Funktionsliste des Python> os-Pakets abzurufen
Auf dem Weg zum Ruhestand von Python2
[Python] Ändern Sie den Namen der Bilddatei in eine Seriennummer
Erleichtern Sie die Anzeige von Python-Modulausnahmen
[Python] Wert des Funktionsobjekts (?)
Ändern Sie das Standardausgabeziel in eine Datei in Python
Die Geschichte der Einführung von Jedi (automatisches Vervollständigungspaket von Python) in Emacs
Anzeigen mit dem Python-Modul des mobilen Nifty Cloud-Backends
[OCI] Python-Skript zum Abrufen der IP-Adresse einer Recheninstanz in Cloud Shell
Hochladen von Dateien in den Cloud-Speicher mit dem Python-SDK von Firebase
Festlegen der Cache-Steuerung für den BLOB-Speicher in Azure Storage in Python
[Python] Ich habe versucht, die folgende Beziehung von Twitter zu visualisieren
Versuchen Sie, den Betrieb von Netzwerkgeräten mit Python zu automatisieren
Anhängen an den Python-Prozess des SSH-Ziels und Debuggen
Python-Code zum Schreiben von CSV-Daten in den DSX-Objektspeicher
Ändern Sie die Lautstärke von Pepper entsprechend der Umgebung (Ton).
Ändern Sie das Thema von Jupyter
Ändern Sie den Stil von matplotlib
Ich möchte die Natur von Python und Pip kennenlernen
So ändern Sie die Python-Version