Google Storage 버킷에서 로컬 폴더로 파일 및 폴더 다운로드 [닫힘]


답변:


150

gsutil 도구를 살펴보세요 . -R(recursive) 및 -m(multithreading) 옵션 과 함께 cp 명령을 사용할 수 있습니다 .

gsutil -m cp -R gs://<bucket_name> .

퍼블릭 버킷으로 시도하고 싶다면

gsutil -m cp -R gs://uspto-pair .

멀티 스레딩으로 인한 속도 향상은 매우 중요 할 수 있습니다.

$ time gsutil cp -R gs://uspto-pair/docs/2010-08-28 .
...

real    0m12.534s

vs

$ time gsutil -m cp -R gs://uspto-pair/docs/2010-08-28 .
...

real    0m3.345s

나는 좋을 것 없습니다 ...이 문서의 무리가 - 맹목적으로 USPTO 쌍 버킷 다운로드
Cebjyre

1
여기서 매우 중요한 것은 로컬 머신에 gsutil을 설치 하는 것입니다 . 예를 들어 Google Cloud SDK를 설치하면됩니다. 이 단계는 잊고 내 프로젝트의 로컬 VM에서 gsutil을 바보처럼 계속 사용했습니다.
Matthias

이 서비스는 무료입니까, 유료입니까? A 급 작전처럼?
Sudhanshu Gaur

2
버킷에서 기존 HDD (SSD 아님)로 여러 개의 대용량 파일을 다운로드하는 경우 -m다중 스레딩에 플래그를 사용하지 마십시오 . 이렇게하면 서로 다른 파일 사이에서 바늘이 계속 이동하므로 디스크의 응답 시간이 크게 감소합니다. -m처음에는 디스크가 병목 현상이되도록하기 위해 사용해 보았습니다 . -m플래그를 생략하면 HDD가 디스크의 동일한 물리적 위치에 계속 기록됩니다.
JR

이건 멋지다! 감사합니다
kninjaboi

66

와 같은 로컬 도구를 설치하지 않으려 gsutil는 경우 Google Cloud Storage에서 파일 폴더 를 완전히 브라우저에서 다운로드 하는 방법이 있습니다 .

  1. https://console.cloud.google.com/storage/browser/BUCKET_NAME로 이동합니다.
  2. 다운로드 할 폴더 / 파일을 찾습니다.
  3. 페이지 오른쪽 상단에서 코드 아이콘을 눌러 Cloud Shell을 엽니 다.
  4. Cloud Shell 가상 머신에 임시 폴더를 만듭니다. mkdir Data
  5. Cloud Storage 데이터를 임시 Data폴더에 복사합니다.gsutil -m cp -R gs://BUCKET_NAME/FOLDER_OR_FILE_PATH ./Data
  6. 데이터를 zip 파일로 복사합니다. zip -r Data.zip Data
  7. 를 실행 dl Data.zip하거나 도구 모음에서 "..."드롭 다운을 열고 "파일 다운로드"를 누르고을 입력 한 다음 Data.zip"다운로드"를 눌러 zip 파일을 다운로드합니다 .

6 단계와 7 단계의 대안으로 (또는 zip 대신 tar 파일을 원하는 경우) :

. . 6b. 툴바에서 컴퓨터 아이콘 (또는 연필)을 눌러 새 탭에서 Cloud Shell 환경 탐색기를 엽니 다.
. . 7b. Data왼쪽에있는 디렉토리 브라우저에서 폴더를 마우스 오른쪽 버튼으로 클릭하고 "다운로드"를 누릅니다. tar 파일이 로컬 컴퓨터에 다운로드되며 7-Zip 등을 사용하여 압축을 풀 수 있습니다 .


7
이것은 유료 패키지없이 나를 위해 매력처럼 작동했습니다!
nipunasudha

임시 폴더에 크기 제한이 있습니까? 내 쪽에서는 54 % 후에 복사가 중지됩니다. 8.4GB의 사진을 이동하여 다운로드하려고합니다.
toughQuestions

1
@toughQuestions 모르겠습니다. 그렇게 많은 콘텐츠를 다운로드하려고 한 적이 없습니다. (귀하의 의견을 통해) 가능하다고 가정하면 gsutil 프로그램을 로컬 컴퓨터에 설치하고 거기에서 실행하는 것이
좋습니다

나는 그것을 시도 할 것입니다, 감사합니다 :-)
toughQuestions

1
5GB의 제한이 있으므로 작은 것에 만 유용합니다. 그래도 멋진 솔루션.
user32149

16

경우 gsutil(예외를 던지고 CommandException: Wrong number of arguments for "cp" command.다음을 시도해보십시오) :

gsutil -m cp -R gs://BUCKETNAME ./LOCALFOLDERNAME

이 서비스는 무료입니까, 유료입니까? A 급 작전처럼?
Sudhanshu Gaur

2

제 경우에는 브라우저 GUI에서 버킷으로 이동하여 파일을 클릭하고 "파일 저장"을 클릭했습니다.
이것은 여러 파일에 대해 분명히 끔찍하지만 물론 하나의 파일로 압축 할 수 있습니다 (Google 클라우드 콘솔 사용).

스레드를 참조하십시오 .

또한 버킷이없는 경우 버킷을 만든 다음 gcloud 콘솔을 사용하여 업로드 할 수 있습니다.gsutil cp file.tgz gs://<bucket>


2
나는 Sebastian의 대답이 왜 나를 위해 작동하지 않는지 깨달았습니다. 어떤 이유로 나는 gsutil 을 내 로컬 컴퓨터에 설치 해야한다는 사실을 완전히 알지 못했습니다 . 내 프로젝트 VM에 다운로드하는 브라우저 내 gcloud 콘솔에서 계속 사용했습니다.
Matthias

브라우저 내 gcloud 셸은 vm 파일을 로컬 머신에 다운로드하는 것을 지원하므로 실제로 gsutil로컬 머신에 설치할 필요가 없습니다 . stackoverflow.com/a/59567734/2441655
Venryx

@Dilvane 어떻게 든 -m 옵션이 작동하지 않지만 -r은 아래와 같이 작동합니다 ... bharathkumarraju @ R77-NB193 raju % gsutil cp -r gs : // testbucket. gs : //testbucket/asset-manifest.json 복사 중 ...
BharathKumarRaju Dasararaju

2

나를 위해 일한 것은 다음과 같습니다.

1 단계 : 로컬 머신에 gsutil 설치 : https://cloud.google.com/storage/docs/gsutil_install?hl=fr

2 단계 : 다음 명령어를 실행하여 버킷에서 로컬 머신으로 파일을 복사합니다.gsutil cp [-r if repository] gs://[BUCKET_NAME]/[OBJECT_NAME] [OBJECT_DESTINATION_IN_LOCAL]

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.