요청 엔드포인트

이 페이지에서는 Cloud Storage에 액세스하는 데 사용할 수 있는 여러 가지 요청 엔드포인트(URI)를 설명합니다.

일반적인 API 요청

Cloud Storage API 중 하나로 직접 요청을 하는 경우, 다음 URI를 사용합니다.

JSON API

  • 객체 업로드를 제외한 일반적인 JSON API 요청의 경우, 다음 엔드포인트를 사용하여 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.

    https://storage.googleapis.com/storage/v1/[PATH_TO_RESOURCE]
  • JSON API 객체 업로드에는 다음 엔드포인트를 사용합니다. 여기에서 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.

    https://storage.googleapis.com/upload/storage/v1/b/[BUCKET_NAME]/o
  • 일괄 요청의 경우 다음 엔드포인트를 사용합니다. 여기에서 [VALUES_IN_BRACKETS]는 적절한 값으로 바꿉니다.

    https://storage.googleapis.com/batch/storage/v1/[PATH_TO_RESOURCE]
  • JSON API 객체 다운로드의 경우 필요에 따라 다음 엔드포인트를 사용할 수 있습니다. 여기에서 [VALUES_IN_BRACKETS]는 적절한 값으로 바꿉니다.

    https://storage.googleapis.com/download/storage/v1/b/[BUCKET_NAME]/o/[OBJECT_NAME]?alt=media

JSON API 엔드포인트는 HTTPS 요청만 수용합니다.

XML API

  • 일반적인 XML API 요청의 경우, 가상 호스팅 스타일 또는 경로 스타일 엔트포인트를 사용하고 [VALUES_IN_BRACKETS]을 적절한 값으로 바꿉니다.

    가상 호스팅 스타일:

    https://[BUCKET_NAME].storage.googleapis.com/[OBJECT_NAME]
    경로 스타일:
    https://storage.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME]

Cloud Storage는 업로드 및 다운로드를 위해 전용 XML API 엔드포인트를 제공합니다(선택사항). 이러한 업로드 및 다운로드 엔드포인트는 대량의 데이터 전송 시 약간의 성능 이점을 제공할 수 있습니다.

  • 업로드의 경우, 가상 호스팅 스타일 또는 경로 스타일을 사용하고 [VALUES_IN_BRACKETS]을 적절한 값으로 바꿉니다.

    가상 호스팅 스타일:

    https://[BUCKET_NAME].storage-upload.googleapis.com/[OBJECT_NAME]
    경로 스타일:
    https://storage-upload.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME]

  • 다운로드의 경우, 가상 호스팅 스타일 또는 경로 스타일을 사용하고 [VALUES_IN_BRACKETS]을 적절한 값으로 바꿉니다.

    가상 호스팅 스타일:

    https://[BUCKET_NAME].storage-download.googleapis.com/[OBJECT_NAME]
    경로 스타일:
    https://storage-download.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME]

모든 XML API 엔드포인트는 보안 소켓 레이어(SSL) 암호화를 지원하므로, HTTP 또는 HTTPS를 사용할 수 있습니다. 특히 OAuth 2.0을 사용하여 Cloud Storage에 인증한다면 HTTPS를 사용하는 것이 좋습니다.

프록시를 통해 연결할 때의 권장 사례에 대한 문제해결 주제를 참조하세요.

URI 경로 부분 인코딩

버킷 이름 지정객체 이름 지정에 대한 일반적인 고려사항 외에도, Cloud Storage 도구 간의 호환성을 보장하기 위해 다음 문자가 요청 URI의 객체 이름 또는 쿼리 문자열에 표시되는 경우 이를 인코딩해야 합니다.

!, #, $, &, ', (, ), *, +, ,, /, :, ;, =, ?, @, [, ], 공백 문자

예를 들어 example-bucket 버킷에서 foo??bar라는 객체에 JSON API GET 요청을 보내려면 요청 URI는 다음과 같아야 합니다.

GET https://storage.googleapis.com/storage/v1/b/example-bucket/o/foo%3f%3fbar

나열된 문자 중 일부는 시나리오에 따라 인코딩하지 않아도 되는 경우도 있습니다. 예를 들어 / 문자는 JSON API로 재작성 또는 복사할 때와 이러한 재작성/복사 시 소스 객체에서만 인코딩되어야합니다.

URI에 백분율 인코딩을 사용하는 방법에 대한 자세한 내용은 RFC 3986의 섹션 3.3 경로를 참조하세요. 일반적으로 인코딩은 Cloud Storage 클라이언트 라이브러리와 같은 클라이언트 라이브러리에서 처리되므로 원시 객체 이름을 전달할 수 있습니다.

CNAME 리디렉션

CNAME 리디렉션은 고유 도메인의 URI를 사용하여 실제 XML API URI를 드러내지 않고 XML API를 통해 Cloud Storage의 리소스에 액세스할 수 있게 해주는 특수 DNS 레코드입니다. 이를 위해 다음 URI를 CNAME 레코드의 호스트 이름 부분에 추가해야 합니다.

c.storage.googleapis.com.

예를 들어 도메인이 example.com이고 고객에게 여행 지도를 제공하고자 한다고 가정해 보겠습니다. Cloud Storage에 travel-maps.example.com이라는 버킷을 만든 다음 CNAME의 요청을 Cloud Storage URI로 리디렉션하는 travel-maps.example.com 레코드를 DNS에 만들 수 있습니다. 이렇게 하려면 DNS에 다음 CNAME 레코드를 게시합니다.

NAME                      TYPE     DATA
travel-maps.example.com   CNAME    c.storage.googleapis.com.

이렇게 함으로써 고객은 다음 URL을 사용하여 파리 지도에 액세스할 수 있습니다.

http://travel-maps.example.com/paris.jpg

도메인 등록 서비스에는 CNAME 리소스 레코드 추가를 포함하여 도메인을 관리하기 위한 수단이 있어야 합니다. 예를 들어 Google Domains를 사용하는 경우 Google Domains 도움말 페이지리소스 레코드 드롭다운 섹션에서 리소스 레코드 추가 안내를 확인할 수 있습니다.

인증된 브라우저 다운로드

인증된 브라우저 다운로드는 쿠키 기반 인증을 사용합니다. 쿠키 기반 인증은 사용자에게 신원 확인을 위해 Google 계정에 로그인할 것을 요청합니다. 지정된 Google 계정은 IAM 정책 또는 액세스제어 목록(ACL)을 통해 부여되는 적합한 리소스 액세스 권한을 가지고 있어야 브라우저 다운로드를 수행할 수 있습니다.

쿠키 기반 인증을 사용하여 객체를 다운로드하려면 다음 URL을 사용하고 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.

https://storage.cloud.google.com/[BUCKET_NAME]/[OBJECT_NAME]

예를 들어 example-maps 버킷에서 london.jpg 이미지를 공유한 경우 URL은 다음과 같습니다.

https://storage.cloud.google.com/example-maps/london.jpg

인증된 브라우저 다운로드를 수행하려면 HTTPS를 사용해야 합니다. HTTPS에 대한 HTTP 리디렉션을 사용하려고 시도합니다. 인증된 브라우저 다운로드에 대한 자세한 내용은 쿠키 기반 인증을 참조하세요.

공개 객체에 액세스

storage.cloud.google.com URI에 대한 모든 요청은 인증되어야 합니다. allUsers에 객체 액세스 권한이 있는 경우에도 마찬가지입니다. 사용자가 인증 없이 익명 액세스가 가능한 객체를 다운로드할 수 있게 하려면 직접 API 요청에서 설명하는 storage.googleapis.com URI를 사용합니다. 자세한 내용과 예시는 공개 데이터 액세스를 참조하세요.

다음 단계