이 페이지에서는 요청자 지불을 사용 설정 및 중지하는 방법과 버킷에서 요청자 지불이 사용 설정되었는지 여부를 확인하는 방법을 설명합니다.
필요한 역할
요청자 지불을 설정하고 관리하는 데 필요한 권한을 얻으려면 관리자에게 버킷이 포함된 프로젝트에 대한 스토리지 관리자(roles.storage.Admin
) 역할을 부여해 달라고 요청하세요.
이 역할에는 요청자 지불을 설정하고 관리하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 확장하세요.
필수 권한
storage.buckets.get
storage.buckets.update
resourcemanager.projects.createBillingAssignment
- 이 권한은 요청자 지불을 사용 중지할 때 사용할 결제 계정이 없는 경우에만 필요합니다. 자세한 내용은 사용 및 액세스 요구사항을 참조하세요.
다른 사전 정의된 역할이나 커스텀 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
프로젝트에 역할을 부여하는 방법은 역할 부여 또는 취소를 참조하세요.
요청자 지불 설정
버킷에서 요청자 지불을 사용 설정 또는 사용 중지하려면 다음 안내를 따르세요.
Console
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷 목록에서 설정하려는 버킷을 찾고 요청자 지불 열을 찾습니다.
열의 값은 해당 버킷에 대한 요청자 지불의 현재 상태를 나타냅니다.
버킷에 대해 요청자 지불의 현재 상태를 클릭합니다.
표시된 창에서 요청자 지불에 대해 설정하려는 상태에 따라 사용 설정 또는 사용 중지를 클릭합니다.
사용 설정되면 버킷의 요청자 지불 열에 녹색 풍선과 켜기가 나타납니다. 사용 중지되면 열에 회색 풍선과 끄기가 나타납니다.
Google Cloud 콘솔에서 실패한 Cloud Storage 작업에 대한 자세한 오류 정보를 가져오는 방법은 문제 해결을 참조하세요.
명령줄
gcloud storage buckets update
명령어를 적절한 플래그와 함께 사용합니다.
gcloud storage buckets update gs://BUCKET_NAME FLAG
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 관련 버킷의 이름입니다. 예를 들면my-bucket
입니다.FLAG
가--requester-pays
이면 요청자 지불을 사용 설정하고--no-requester-pays
이면 사용 중지합니다.
성공하면 다음 예시와 비슷한 응답이 표시됩니다.
Updating gs://my-bucket/... Completed 1
클라이언트 라이브러리
C++
자세한 내용은 Cloud Storage C++ API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 버킷에서 요청자 지불을 사용 설정합니다.
다음 샘플은 버킷에서 요청자 지불을 사용 중지합니다.
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
헤더에 포함할 수 있습니다.다음 정보를 포함하는 JSON 파일을 만듭니다.
{ "billing": { "requesterPays": STATE } }
여기서 STATE는
true
또는false
입니다.cURL
을 사용하여PATCH
버킷 요청으로 JSON API를 호출합니다.curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=billing"
각 항목의 의미는 다음과 같습니다.
JSON_FILE_NAME
은 2단계에서 만든 JSON 파일의 경로입니다.BUCKET_NAME
은 관련 버킷의 이름입니다. 예를 들면my-bucket
입니다.
XML API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.다음을 정보를 포함하는 XML 파일을 만듭니다.
<BillingConfiguration> <RequesterPays>STATE</RequesterPays> </BillingConfiguration>
여기서 STATE는
Enabled
또는Disabled
입니다.cURL
을 사용하여PUT
Bucket 요청 및billing
쿼리 문자열 매개변수로 XML API를 호출합니다.curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?billing"
각 항목의 의미는 다음과 같습니다.
XML_FILE_NAME
은 2단계에서 만든 XML 파일의 경로입니다.BUCKET_NAME
은 관련 버킷의 이름입니다. 예를 들면my-bucket
입니다.
요청자 지불의 사용 설정 여부 확인
버킷에서 요청자 지불이 사용 설정되었는지 확인하려면 다음 안내를 따르세요.
Console
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷 목록의 요청자 지불 열에 각 버킷의 요청자 지불 상태가 표시됩니다.
사용 설정된 경우 상태가 녹색이고 켜기라는 단어가 나타납니다.
명령줄
gcloud storage buckets describe
명령어를 --format
플래그와 함께 사용합니다.
gcloud storage buckets describe gs://BUCKET_NAME --format="default(requester_pays)"
여기서 BUCKET_NAME
은 상태를 보려는 버킷의 이름입니다. 예를 들면 my-bucket
입니다.
성공하면 다음 예시와 비슷한 응답이 표시됩니다.
requester_pays: true
클라이언트 라이브러리
C++
자세한 내용은 Cloud Storage C++ API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
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에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여GET
버킷 요청으로 JSON API를 호출합니다.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=billing"
여기서
BUCKET_NAME
은 관련 버킷의 이름입니다. 예를 들면my-bucket
입니다.
XML API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여GET
Bucket 요청 및billing
쿼리 문자열 매개변수로 XML API를 호출합니다.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?billing"
여기서
BUCKET_NAME
은 관련 버킷의 이름입니다. 예를 들면my-bucket
입니다.
요청자 지불 버킷 액세스
다음 예에서는 요청자 지불 버킷에 저장된 객체를 다운로드할 수 있게 결제 프로젝트를 포함하는 방법을 보여줍니다. 비슷한 절차에 따라 요청자 지불 버킷이나 버킷 내 객체에 대한 다른 요청을 수행합니다. 사전 고려사항은 요청자 지불 액세스 요구사항을 참조하세요.
Console
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷 목록에서 다운로드하려는 객체가 포함된 버킷 이름을 클릭합니다.
나타나는 창에서 드롭다운 메뉴를 사용하여 결제용 프로젝트를 선택합니다.
선택한 프로젝트를 결제 용도로 사용할 권한이 있는지 확인하는 체크박스를 선택합니다.
저장을 클릭합니다.
평소와 같이 객체를 다운로드합니다.
Google Cloud 콘솔에서 실패한 Cloud Storage 작업에 대한 자세한 오류 정보를 가져오는 방법은 문제 해결을 참조하세요.
명령줄
요청에 --billing-project
플래그를 사용합니다.
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME SAVE_TO_LOCATION --billing-project=PROJECT_IDENTIFIER
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 다운로드할 객체가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.OBJECT_NAME
은 다운로드할 객체의 이름입니다. 예를 들면pets/dog.png
입니다.SAVE_TO_LOCATION
은 객체를 저장할 로컬 경로입니다. 예를 들면Desktop/Images
입니다.PROJECT_IDENTIFIER
는 요금이 청구될 프로젝트의 ID 또는 번호입니다. 예를 들면my-project
입니다.
클라이언트 라이브러리
C++
자세한 내용은 Cloud Storage C++ API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
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
헤더에 포함할 수 있습니다.요금이 청구될 프로젝트의 ID로 설정된
userProject
쿼리 문자열 매개변수를 요청에 포함합니다.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media&userProject=PROJECT_IDENTIFIER"
각 항목의 의미는 다음과 같습니다.
SAVE_TO_LOCATION
은 객체를 저장할 위치입니다. 예를 들면Desktop/dog.png
입니다.BUCKET_NAME
은 관련 버킷의 이름입니다. 예를 들면my-bucket
입니다.OBJECT_NAME
은 다운로드할 객체의 URL 인코딩 이름입니다. 예를 들어pets/dog.png
는pets%2Fdog.png
로 URL 인코딩됩니다.PROJECT_IDENTIFIER
는 요금이 청구될 프로젝트의 ID 또는 번호입니다. 예를 들면my-project
입니다.
XML API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.요금이 청구될 프로젝트의 ID로 설정된
x-goog-user-project
헤더를 요청에 포함합니다.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: PROJECT_ID" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
각 항목의 의미는 다음과 같습니다.
PROJECT_ID
는 요금이 청구될 프로젝트의 ID입니다. 예를 들면my-project
입니다.SAVE_TO_LOCATION
은 객체를 저장할 위치입니다. 예를 들면Desktop/dog.png
입니다.BUCKET_NAME
은 관련 버킷의 이름입니다. 예를 들면my-bucket
입니다.OBJECT_NAME
은 다운로드할 객체의 URL 인코딩 이름입니다. 예를 들어pets/dog.png
는pets%2Fdog.png
로 URL 인코딩됩니다.
다음 단계
- 요청자 지불에 대해 자세히 알아보기
- 데이터를 공개적으로 사용 가능하게 설정하기