이 페이지에서는 Cloud Storage의 버킷에서 객체를 복사하고 객체의 이름을 변경하거나 버킷 간에 객체를 이동하는 방법을 설명합니다. 객체에 대한 개요는 핵심 용어와 객체 이름 지정 요구사항을 참조하세요.
객체 복사
Cloud Storage 버킷 중 하나에서 객체를 복사하려면 다음 안내를 따르세요.
Console
- Google Cloud Console에서 Cloud Storage 브라우저를 엽니다.
Cloud Storage 브라우저 열기 버킷 목록에서 복사할 객체가 포함된 버킷의 이름을 클릭합니다.
객체 탭이 선택된 상태로 버킷 세부정보 페이지가 열립니다.
객체(폴더에 있을 수 있음)로 이동합니다.
객체와 연결된 추가 작업 메뉴(
)를 클릭합니다.
복사를 클릭합니다.
객체 복사 창이 나타납니다.
대상 텍스트 상자에 대상 버킷의 이름과 복사된 객체의 이름을 입력합니다.
또는 둘러보기를 클릭하여 대상을 선택할 수 있지만 둘러보기 옵션은 현재 프로젝트의 버킷으로 제한됩니다.
복사를 클릭합니다.
Cloud Storage 브라우저에서 실패한 작업에 대한 자세한 오류 정보를 가져오는 방법은 문제 해결을 참조하세요.
gsutil
gsutil cp
명령어를 사용합니다.
gsutil cp gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/NAME_OF_COPY
각 항목의 의미는 다음과 같습니다.
SOURCE_BUCKET_NAME
은 복사할 객체가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.SOURCE_OBJECT_NAME
은 복사할 객체의 이름입니다. 예를 들면pets/dog.png
입니다.DESTINATION_BUCKET_NAME
은 객체를 복사할 버킷의 이름입니다. 예를 들면another-bucket
입니다.NAME_OF_COPY
는 객체의 사본에 지정할 이름입니다. 예를 들면shiba.png
입니다.
성공하면 응답은 다음 예시와 같습니다.
Operation completed over 1 objects/58.8 KiB.
코드 샘플
C++
자세한 내용은 Cloud Storage C++ API 참조 문서를 확인하세요.
C#
자세한 내용은 Cloud Storage C# API 참조 문서를 확인하세요.
Go
자세한 내용은 Cloud Storage Go API 참조 문서를 확인하세요.
자바
자세한 내용은 Cloud Storage 자바 API 참조 문서를 확인하세요.
Node.js
자세한 내용은 Cloud Storage Node.js API 참조 문서를 확인하세요.
PHP
자세한 내용은 Cloud Storage PHP API 참조 문서를 확인하세요.
Python
자세한 내용은 Cloud Storage Python API 참조 문서를 확인하세요.
Ruby
자세한 내용은 Cloud Storage Ruby API 참조 문서를 확인하세요.
REST API
JSON API
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 플레이그라운드를 구성합니다.
cURL
을 사용하여POST
객체 요청으로 JSON API를 호출합니다.curl -X POST \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Length: 0" \ "https://storage.googleapis.com/storage/v1/b/SOURCE_BUCKET_NAME/o/SOURCE_OBJECT_NAME/rewriteTo/b/DESTINATION_BUCKET_NAME/o/NAME_OF_COPY"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰의 이름입니다.SOURCE_BUCKET_NAME
은 복사할 객체가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.SOURCE_OBJECT_NAME
은 복사할 객체의 이름입니다. 예를 들면pets/dog.png
입니다.DESTINATION_BUCKET_NAME
은 객체를 복사할 버킷의 이름입니다. 예를 들면another-bucket
입니다.NAME_OF_COPY
는 객체의 사본에 지정할 이름입니다. 예를 들면shiba.png
입니다.
rewrite
메서드는 제한된 크기의 청크로 데이터를 복사하므로 특히 큰 객체의 경우 복사본에 여러 개의 요청이 필요할 수 있습니다.예를 들어
rewrite
요청에 다음과 같은 응답이 반환되면 추가rewrite
요청을 수행해야 한다는 의미입니다.{ "kind": "storage#rewriteResponse", "totalBytesRewritten": 1048576, "objectSize": 10000000000, "done": false, "rewriteToken": TOKEN_VALUE }
이후 요청에서
rewriteToken
을 사용하여 데이터를 계속 복사합니다.curl -X POST \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Length: 0" \ -d '{"rewriteToken": "TOKEN_VALUE"}' \ "https://storage.googleapis.com/storage/v1/b/SOURCE_BUCKET_NAME/o/SOURCE_OBJECT_NAME/rewriteTo/b/DESTINATION_BUCKET_NAME/o/NAME_OF_COPY"
각 항목의 의미는 다음과 같습니다.
TOKEN_VALUE
는 이전 요청에서 반환된rewriteToken
값입니다.- 다른 모든 값은 이전 요청에서 사용된 값과 일치합니다.
객체가 완전히 복사되면 마지막 응답에
true
(으)로 설정된done
속성이 있고rewriteToken
속성은 없으며resource
속성에 복사본의 메타데이터가 포함됩니다.{ "kind": "storage#rewriteResponse", "totalBytesRewritten": 10000000000, "objectSize": 10000000000, "done": true, "resource": objects Resource }
XML API
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다.
cURL
을 사용하여PUT
객체 요청으로 XML API를 호출합니다.curl -X PUT \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "x-goog-copy-source: SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME" \ "https://storage.googleapis.com/DESTINATION_BUCKET_NAME/NAME_OF_COPY"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰의 이름입니다.SOURCE_BUCKET_NAME
은 복사할 객체가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.SOURCE_OBJECT_NAME
은 복사할 객체의 이름입니다. 예를 들면pets/dog.png
입니다.DESTINATION_BUCKET_NAME
은 객체를 복사할 버킷의 이름입니다. 예를 들면another-bucket
입니다.NAME_OF_COPY
는 객체의 사본에 지정할 이름입니다. 예를 들면shiba.png
입니다.
객체 이름 변경
Cloud Storage 버킷 중 하나에서 기존 객체의 이름을 바꾸려면 다음 안내를 따르세요.
Console
- Google Cloud Console에서 Cloud Storage 브라우저를 엽니다.
Cloud Storage 브라우저 열기 버킷 목록에서 이름을 바꿀 객체가 포함된 버킷의 이름을 클릭합니다.
객체 탭이 선택된 상태로 버킷 세부정보 페이지가 열립니다.
객체(폴더에 있을 수 있음)로 이동합니다.
객체와 연결된 추가 작업 메뉴(
)를 클릭합니다.
이름 바꾸기를 클릭합니다.
나타나는 오버레이 창에서 객체의 새 이름을 입력합니다.
이름 바꾸기를 클릭합니다.
Cloud Storage 브라우저에서 실패한 작업에 대한 자세한 오류 정보를 가져오는 방법은 문제 해결을 참조하세요.
gsutil
gsutil mv
명령어를 사용합니다.
gsutil mv gs://BUCKET_NAME/OLD_OBJECT_NAME gs://BUCKET_NAME/NEW_OBJECT_NAME
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 이름을 바꿀 객체가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.OLD_OBJECT_NAME
은 이름을 바꿀 객체의 이름입니다. 예를 들면pets/dog.png
입니다.NEW_OBJECT_NAME
은 객체에 지정할 새 이름입니다. 예를 들면pets/shiba.png
입니다.
성공하면 응답은 다음 예시와 같습니다.
Operation completed over 1 objects/58.8 KiB.
코드 샘플
C++
자세한 내용은 Cloud Storage C++ API 참조 문서를 확인하세요.
C#
자세한 내용은 Cloud Storage C# API 참조 문서를 확인하세요.
Go
자세한 내용은 Cloud Storage Go API 참조 문서를 확인하세요.
자바
자세한 내용은 Cloud Storage 자바 API 참조 문서를 확인하세요.
Node.js
자세한 내용은 Cloud Storage Node.js API 참조 문서를 확인하세요.
PHP
자세한 내용은 Cloud Storage PHP API 참조 문서를 확인하세요.
Python
자세한 내용은 Cloud Storage Python API 참조 문서를 확인하세요.
Ruby
자세한 내용은 Cloud Storage Ruby API 참조 문서를 확인하세요.
REST API
JSON API
JSON API를 사용하여 직접 객체의 이름을 변경하려면 먼저 객체를 복사하고 복사된 버전에 원하는 새 이름을 지정한 다음 객체의 원래 버전을 삭제합니다.
XML API
XML API를 사용하여 직접 객체의 이름을 변경하려면 먼저 객체를 복사하고 복사된 버전에 원하는 새 이름을 지정한 다음 객체의 원래 버전을 삭제합니다.
객체 이동
Cloud Storage에서 객체를 이동하려면 다음 안내를 따르세요.
Console
- Google Cloud Console에서 Cloud Storage 브라우저를 엽니다.
Cloud Storage 브라우저 열기 버킷 목록에서 이동할 객체가 포함된 버킷의 이름을 클릭합니다.
객체 탭이 선택된 상태로 버킷 세부정보 페이지가 열립니다.
객체(폴더에 있을 수 있음)로 이동합니다.
객체와 연결된 추가 작업 메뉴(
)를 클릭합니다.
이동을 클릭합니다.
오버레이 창이 나타나면 찾아보기를 클릭합니다.
이동할 객체의 대상 위치를 선택합니다.
선택을 클릭합니다.
이동을 클릭합니다.
Cloud Storage 브라우저에서 실패한 작업에 대한 자세한 오류 정보를 가져오는 방법은 문제 해결을 참조하세요.
gsutil
gsutil mv
명령어를 사용합니다.
gsutil mv gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/DESTINATION_OBJECT_NAME
각 항목의 의미는 다음과 같습니다.
SOURCE_BUCKET_NAME
은 이동할 객체가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.SOURCE_OBJECT_NAME
은 이동할 객체의 이름입니다. 예를 들면pets/dog.png
입니다.DESTINATION_BUCKET_NAME
은 객체를 이동할 버킷의 이름입니다. 예를 들면another-bucket
입니다.DESTINATION_OBJECT_NAME
은 새 위치의 객체에 지정할 이름입니다. 예를 들면shiba.png
입니다.
성공하면 응답은 다음 예시와 같습니다.
Operation completed over 1 objects/58.8 KiB.
코드 샘플
C++
자세한 내용은 Cloud Storage C++ API 참조 문서를 확인하세요.
C#
자세한 내용은 Cloud Storage C# API 참조 문서를 확인하세요.
Go
자세한 내용은 Cloud Storage Go API 참조 문서를 확인하세요.
자바
자세한 내용은 Cloud Storage 자바 API 참조 문서를 확인하세요.
PHP
자세한 내용은 Cloud Storage PHP API 참조 문서를 확인하세요.
Ruby
자세한 내용은 Cloud Storage Ruby API 참조 문서를 확인하세요.
REST API
JSON API
JSON API를 사용하여 직접 객체를 이동하려면 먼저 객체를 복사하고 복사된 버전에 원하는 새 위치를 지정한 다음 객체의 원래 버전을 삭제합니다.
XML API
XML API를 사용하여 직접 객체의 이동하려면 먼저 객체를 복사하고 복사된 버전에 원하는 새 위치를 지정한 다음 객체의 원래 버전을 삭제합니다.