Google Cloud Storage에 Object 다운로드하는 방법

Juheon Oh·2023년 1월 25일
0
post-thumbnail

상황

  • GCS에 업로드한 여러 파일을 로컬 및 서버에 다운로드해야 함
  • airflow로 해당 기능을 구현

Options

1. GCSToLocalFilesystemOperator

airflow.provider.googleGCSToLocalFilesystemOperator 기능을 제공하지만
단일 파일에 한정

2. google.cloud python 패키지

google.cloud 패키지를 통해서 구현 가능하지만 번거로움

3. Google Cloud CLI

Google Cloud CLI를 이용하면 한줄로 해결 가능

가이드라인을 참고해서 서버 및 로컬 환경에 Google Cloud CLI를 설치

gsutil -m cp -r gs://{bucket A}/{폴더 a}/ .
# 현 위치에 bucket A의 폴더 a를 다운로드하겠다는 의미
  • 파일이 대용량일수록 -m 옵션 추가해주면 좋음
    • parallel multi-threaded/multi-processing 지원

단일 파일 다운로드 시
gsutil cp gs://{bucket A}/{폴더 a}/{파일 F} .
특정 확장자 파일 다운로드 시
gsutil cp gs://{bucket A}/{폴더 a}/*.png .

0개의 댓글