import argparse import json from google.cloud import storage from google.oauth2 import service_account def download_gcs_object(bucket_name: str, object_name: str): with open("/usr/src/app/credentials_object.json", "r") as f: credentials_dict = json.load(f) credentials = service_account.Credentials.from_service_account_info( credentials_dict ) client = storage.Client( credentials=credentials, project=credentials_dict["project_id"] ) blob = client.bucket(bucket_name).blob(object_name) blob.download_to_filename(object_name) if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("--bucket-name", type=str, required=True) parser.add_argument("--object-name", type=str, required=True) args = parser.parse_args() download_gcs_object(args.bucket_name, args.object_name)