2017-11-27 1 views
1

my-bucket-name/my-temp-dir-name 디렉토리가있는 GCS 버킷이 있습니다. 이 디렉토리에는 많은 서브 파일이 있습니다. 복사 명령을 실행하고 싶습니다. gsutil cp gs://my-bucket-name/my-temp-dir-name gs://my-bucket-name/my-dir-name.GCS에서 폴더를 복사 할 때 기본적으로 보장되는 사항은 무엇입니까?

이 작업과 관련하여 어떠한 보증이 있습니까? 모든 파일을 사용할 수 있기 전에 my-dir-name에서 일부 파일에 액세스 할 수 있습니까? my-dir-name이 이미 존재하면 어떻게 될까요?

답변

2

개별 개체 복사본은 원본이지만 GCS는 여러 개체에 걸쳐 복사본의 원 자성을 지원하지 않습니다.

0

your-dir-name은 복사하기 전에 존재해야합니다. 그렇지 않으면 cp 작업으로 인해 버킷을 찾으려고 할 때 404가됩니다.

개체는 (gsutil-m 플래그로 슈퍼 파워를 부여했는지 여부에 따라 한 번에 하나씩 또는 병렬로 복사됩니다. 따라서 파일이 클라우드를 시작하자 마자 your-dir-name에 파일이 표시되기 시작합니다.

GCS의 개체는 변경 불가능하며 개체 수준에서는 작업이 원자 적이라는 점에 유의하십시오. 즉, 최근에 업로드 된 개체가 승리합니다. 이전 개체가 대체됩니다. 이전 버전을 유지하는 데 관심이 있으시면 versioning을 활성화하면 N 개의 사본이 보관됩니다.

보너스 :

gsutil -m cp -r gs://my-bucket-name/my-temp-dir-name gs://my-bucket-name/my-dir-name
또는
gsutil -m cp gs://my-bucket-name/my-temp-dir-name/* gs://my-bucket-name/my-dir-name

: 한 번에 여러 파일을 복사하는 경우, 동시에 둘 이상의 개체를 업로드과 같이 할 수 -m 플래그를 사용
관련 문제