Google Cloud Storageからファイルをダウンロードする方法

Google Cloud Storage(以降GCS)からファイルをダウンロードしたときのメモ 

 

1.認証情報の作成

※ここでは「サービス アカウント」を利用

GCPメニューから

  IAMと管理 > サービスアカウント より新規サービスアカウントを作成

作成したサービスアカウントから、サービスアカウントファイルを作成

  操作 > 鍵を作成 > JSON

 

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 はダウンロード先フォルダを環境に応じて指定する。