Google Cloud Storage からファイルをダウンロードする方法
Google Cloud Storage から、pythonスクリプトにより複数ファイルを一括ダウンロードしたときのメモ
1. 認証情報の作成
※ここでは「サービス アカウント」を利用
2. ダウンロードスクリプト
#クライアントの生成 SCOPES = ['https://www.googleapis.com/auth/devstorage.full_control'] credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES) client = storage.Client(project=DL_FROM_PROJECT, credentials=credentials) #バケット bucket = client.get_bucket(DL_FROM_BUCKET) #バケット内のファイルリストを取得して、フォルダ以外をダウンロード all_blobs = list(client.list_blobs(bucket)) for blob in all_blobs: blob_name = blob.name if blob_name[len(blob_name)-1:len(blob_name)] != '/': with open(DL_TO_FOLDER + blob.name, 'wb') as file_obj: blob.download_to_file(file_obj)
※SERVICE_ACCOUNT_FILEはサービスアカウントファイルのパス、DL_FROM_PROJECTはGCPのプロジェクト名、DL_FROM_BUCKETはバケット名、DL_TO_FOLDER はダウンロード先フォルダを環境に応じて指定する。