이 페이지에서는 요청자 지불 기능을 설정하는 방법을 설명하고, 요청자 지불 기능을 사용 설정한 버킷에 대한 요청을 만드는 예를 제공합니다.
요청자 지불 설정
다음 섹션에서는 요청자 지불을 설정하고 해제하는 방법과 버킷에서 요청자 지불이 사용 설정되었는지 여부를 확인하는 방법을 보여줍니다.
기본 요건
버킷에 대한 요청자 지불 상태를 제공하고 Google Cloud 콘솔 또는 Google Cloud CLI에서 요청자 지불을 사용 설정 또는 사용 중지하는 데 필요한
storage.buckets.get
권한이 있어야 합니다.요청자 지불을 사용 설정하거나 사용 중지할 때는
storage.buckets.update
권한이 있어야 합니다.요청자 지불을 사용 중지할 때는 요청에 결제 프로젝트를 포함하거나
resourcemanager.projects.createBillingAssignment
권한이 있어야 합니다. 자세한 내용은 요청자 지불 사용 및 액세스 요구사항을 참조하세요.
권한은 역할을 통해 사용자에게 제공됩니다. 예를 들어 스토리지 관리자 역할이 부여된 사용자는 위의 storage.buckets
권한을 모두 가집니다. 역할은 버킷을 포함하는 프로젝트에 부여될 수 있습니다.
요청자 지불 설정
버킷에서 요청자 지불을 사용 설정 또는 사용 중지하려면 다음 안내를 따르세요.
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
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
다음 정보를 포함하는 JSON 파일을 만듭니다.
{ "billing": { "requesterPays": STATE } }
여기서 STATE는
true
또는false
입니다.cURL
을 사용하여PATCH
버킷 요청으로 JSON API를 호출합니다.curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=billing"
각 항목의 의미는 다음과 같습니다.
JSON_FILE_NAME
은 2단계에서 만든 JSON 파일의 경로입니다.OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰의 이름입니다.BUCKET_NAME
은 관련 버킷의 이름입니다. 예를 들면my-bucket
입니다.
XML API
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
다음을 정보를 포함하는 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 OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME?billing"
각 항목의 의미는 다음과 같습니다.
XML_FILE_NAME
은 2단계에서 만든 XML 파일의 경로입니다.OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰의 이름입니다.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
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
cURL
을 사용하여GET
버킷 요청으로 JSON API를 호출합니다.curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=billing"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰의 이름입니다.BUCKET_NAME
은 관련 버킷의 이름입니다. 예를 들면my-bucket
입니다.
XML API
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
cURL
을 사용하여GET
Bucket 요청 및billing
쿼리 문자열 매개변수로 XML API를 호출합니다.curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME?billing"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰의 이름입니다.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
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
요금이 청구될 프로젝트의 ID로 설정된
userProject
쿼리 문자열 매개변수를 요청에 포함합니다.curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media&userProject=PROJECT_IDENTIFIER"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.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
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
요금이 청구될 프로젝트의 ID로 설정된
x-goog-user-project
헤더를 요청에 포함합니다.curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "x-goog-user-project: PROJECT_ID" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.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 인코딩됩니다.
다음 단계
- 요청자 지불에 대해 자세히 알아보기
- 데이터를 공개적으로 사용 가능하게 설정하기