이 페이지에서는 계층적 네임스페이스가 사용 설정된 버킷에서 폴더 이름을 바꾸는 방법을 설명합니다.
이름 바꾸기 작업은 폴더, 하위 폴더, 객체 및 관리 폴더를 포함한 관련 리소스의 이름을 단일 원자 작업으로 재귀적으로 바꿉니다.
이름 바꾸기 작업은 원자적입니다. 이 작업은 성공적으로 완료되고 리소스를 새 경로로 이동하거나 오류가 발생하여 실패합니다. 오류가 발생하면 모든 리소스가 원래 상태로 복원됩니다.
계층적 네임스페이스가 사용 설정된 버킷에서 폴더 이름 바꾸기는 메타데이터 전용 작업입니다. 폴더 내에서 객체를 물리적으로 이동하거나 복사하지 않으므로 객체 복사 비용이 발생하지 않습니다.
하지만 계층적 네임스페이스가 사용 설정되지 않은 버킷에서는 폴더가 시뮬레이션됩니다. 시뮬레이션된 폴더 이름을 바꾸거나 이동하려면 폴더 내의 각 객체를 복사하고 삭제해야 합니다. 폴더에 많은 객체가 포함되어 있는 경우 이름 바꾸기 프로세스가 비효율적이고 비용이 많이 들 수 있습니다. 시뮬레이션된 폴더의 이름 변경 또는 이동도 원자적이지 않습니다. 즉, 프로세스가 실패할 경우 일부 객체만 이동된 일관되지 않은 상태로 남아 있을 수 있습니다.
폴더 이름 변경 프로세스 중에 이름을 바꿀 리소스를 읽고 나열할 수 있습니다. 그러나 영향을 받는 리소스에서는 쓰기 작업을 실행할 수 없습니다.
폴더 이름 바꾸기 작업은 버킷에서 장기 실행 작업을 시작합니다.
필요한 역할
버킷의 폴더 이름을 바꾸는 데 필요한 권한을 얻으려면 관리자에게 버킷에 대한 스토리지 객체 사용자(roles/storage.objectUser
) IAM 역할을 부여해 달라고 요청하세요.
프로젝트에 대해 역할을 부여하는 방법에 대한 자세한 내용은 프로젝트에 대한 액세스 관리를 참조하세요.
필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
storage.folders.rename
- 이 권한은 소스 폴더에 필요합니다.
storage.folders.create
- 대상 폴더에 이 권한이 필요합니다.
다른 커스텀 역할이나 사전 정의된 역할을 사용하여 위의 권한을 얻을 수도 있습니다. 폴더 이름 변경 외에도 폴더를 관리할 수 있는 더 많은 권한이 있는 역할이 필요한 경우 관리자에게 다음 역할 중 하나를 부여해 달라고 요청하세요.
- 스토리지 폴더 관리자(
roles/storage.folderAdmin
) - 스토리지 객체 관리자(
roles/storage.objectAdmin
) - 스토리지 관리자(
roles/storage.admin
)
어떤 역할이 어떤 권한과 연결되어 있는지 확인하려면 Cloud Storage에 대한 IAM 역할을 참조하세요.
폴더 이름 바꾸기
클라이언트 라이브러리
C++
자세한 내용은 Cloud Storage C++ API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
자세한 내용은 Cloud Storage Go API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
자세한 내용은 Cloud Storage Java API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
자세한 내용은 Cloud Storage Node.js API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
자세한 내용은 Cloud Storage PHP API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
자세한 내용은 Cloud Storage Python API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
자세한 내용은 Cloud Storage Ruby API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여 폴더 이름 변경 요청으로 JSON API를 호출합니다.curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/folders/SOURCE_PATH/renameTo/folders/DESTINATION_PATH"
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
는 이름을 바꿀 폴더가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.SOURCE_PATH
는 소스 폴더의 URL 인코딩 경로입니다. 예를 들어my-src-folder/
는my-src-folder%2F
로 URL 인코딩됩니다.DESTINATION_PATH
는 대상 폴더의 URL 인코딩 경로입니다. 예를 들어my-dest-folder/
는my-dest-folder%2F
로 URL 인코딩됩니다.
다음 단계
직접 사용해 보기
Google Cloud를 처음 사용하는 경우 계정을 만들어 실제 시나리오에서 Cloud Storage의 성능을 평가할 수 있습니다. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
Cloud Storage 무료로 사용해 보기