How do I unzip a .zip file in Goolge Cloud Storage Bucket? (If we have some other tool like 'CloudBerry Explorer' for AWS, that will be great.)
There are Data flow templates in google Cloud data flow which helps to Zip/unzip the files in cloud storage.
1) Copy the file from Cloud Storage to the Cloud Shell file system using gsutil. 2) Unzip the downloaded file. 3) The program unzip does not contain drivers to support the Cloud Storage gs: namespace.
You can use Python, e.g. from a Cloud Function:
from google.cloud import storage from zipfile import ZipFile from zipfile import is_zipfile import io def zipextract(bucketname, zipfilename_with_path): storage_client = storage.Client() bucket = storage_client.get_bucket(bucketname) destination_blob_pathname = zipfilename_with_path blob = bucket.blob(destination_blob_pathname) zipbytes = io.BytesIO(blob.download_as_string()) if is_zipfile(zipbytes): with ZipFile(zipbytes, 'r') as myzip: for contentfilename in myzip.namelist(): contentfile = myzip.read(contentfilename) blob = bucket.blob(zipfilename_with_path + "/" + contentfilename) blob.upload_from_string(contentfile) zipextract("mybucket", "path/file.zip") # if the file is gs://mybucket/path/file.zip
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With