[PYTHON] [Cloud-Funktionen] Dekomprimieren Sie automatisch im Speicher abgelegte GZIP-Dateien

Präambel

Quelle

Ich habe den Code (Referenzlink-3) geändert, der die Zip-Datei dekomprimiert, die mein Vorgänger gelöscht hat. Es wird davon ausgegangen, dass eine einzelne Datei mit Cloud-Funktionen (Python 3.7), die von einem Cloud-Speicher-Trigger gestartet wurden, Gzip-komprimiert ist.

main.py


from google.cloud import storage
import io,gzip

def hello_gcs(event, context):

    client = storage.Client()
    bucket_name = event['bucket']
    bucket = client.get_bucket(bucket_name)
    blob_name = event['name']
    blob = bucket.blob(blob_name)

    data = io.BytesIO(blob.download_as_string())
    with gzip.open(data) as gz:
        file = gz.read()
        blob_decompress = bucket.blob(blob_name.replace('.gz',''))
        blob_decompress.upload_from_string(file)

Großes Problem

⇒ Zum Zeitpunkt der Platzierung der GZIP-Datei konnte die Kapazität 2 GB oder mehr betragen, sodass es sich um einen Mist handelte. ..

Referenzlink

  1. Handbuch zu Cloud-Funktionen: Google Cloud Storage Trigger
  2. [Ich habe einen serverlosen Job erstellt, der Daten durch Ereignissteuerung in BigQuery lädt, wenn Dateien in GCS abgelegt werden](https://dev.classmethod.jp/articles/cloud-functions-gcs-trigger-load- data2bigquery /)
  3. [Wie entpacke ich die .Zip-Datei in Google Cloud Storage? ](Https://www.it-swarm.dev/ja/google-cloud-platform/google%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3% 82% B9% E3% 83% 88% E3% 83% AC% E3% 83% BC% E3% 82% B8% E3% 81% A7zip% E3% 83% 95% E3% 82% A1% E3% 82% A4% E3% 83% AB% E3% 82% 92% E8% A7% A3% E5% 87% 8D% E3% 81% 99% E3% 82% 8B% E3% 81% AB% E3% 81% AF% E3% 81% A9% E3% 81% 86% E3% 81% 99% E3% 82% 8C% E3% 81% B0% E3% 82% 88% E3% 81% 84% E3% 81% A7% E3% 81% 99% E3% 81% 8B% EF% BC% 9F / 837268170 /)

Recommended Posts

[Cloud-Funktionen] Dekomprimieren Sie automatisch im Speicher abgelegte GZIP-Dateien
Konvertieren Sie Dateien, die mit Cloud-Funktionen (Python) in den Cloud-Speicher hochgeladen wurden, so, dass sie in Excel nicht verstümmelt werden
Abrufen der Google Cloud Storage-Objektliste in Java
Holen Sie sich die Datei, Funktion, Zeilennummer in Python ausgeführt