결과를 페이지로 나누기

이 페이지에서는 여러 다른 Cloud Storage 도구 및 라이브러리가 결과를 페이지로 나누는 방법을 설명합니다. 많은 수의 객체 또는 버킷을 나열할 때 페이지로 나누기가 필요합니다.

콘솔

Google Cloud 콘솔은 버킷버킷 세부정보 페이지에서 버킷 및 객체 목록을 자동으로 페이지로 나눕니다.


버킷 페이지 열기

명령줄

Google Cloud CLI는 버킷 및 객체 목록을 자동으로 페이지로 나눕니다.

클라이언트 라이브러리

C++

클라이언트 라이브러리는 기본적으로 페이지로 나누기를 수행합니다. 페이지로 나누기를 지원하는 함수를 호출하면 응답에 iterator가 반환됩니다. 이 iterator가 사용되는 방식에 대한 자세한 내용은 ListObjects()의 C++ 참조 문서를 참조하세요.

C#

클라이언트 라이브러리는 기본적으로 페이지로 나누기를 수행합니다. 페이지로 나누기를 지원하는 함수를 호출하면 응답에 iterator가 반환됩니다. 이 iterator가 사용되는 방식에 대한 자세한 내용은 ListObjects()의 C# 참조 문서를 참조하세요.

Go

클라이언트 라이브러리는 기본적으로 페이지로 나누기를 수행합니다. 페이지로 나누기를 지원하는 함수를 호출하면 응답에 iterator가 반환됩니다. 이 iterator가 사용되는 방식에 대한 자세한 내용은 Bucket.Objects의 Go 참조 문서를 참조하세요.

자바

클라이언트 라이브러리는 기본적으로 페이지로 나누기를 수행합니다. 페이지로 나누기를 지원하는 함수를 호출하면 응답에 iterator가 반환됩니다. 이 iterator가 사용되는 방식에 대한 자세한 내용은 Storage.Objects.list의 자바 참조 문서를 참조하세요.

Node.js

클라이언트 라이브러리는 기본적으로 페이지로 나누기를 수행합니다. 페이지로 나누기를 지원하는 함수를 호출하면 응답에 iterator가 반환됩니다. 이 iterator가 사용되는 방식에 대한 자세한 내용은 getFiles()의 Node.js 참조 문서를 참조하세요.

PHP

클라이언트 라이브러리는 기본적으로 페이지로 나누기를 수행합니다. 페이지로 나누기를 지원하는 함수를 호출하면 응답에 iterator가 반환됩니다. 이 iterator가 사용되는 방식에 대한 자세한 내용은 Objects의 PHP 참조 문서를 참조하세요.

Python

클라이언트 라이브러리는 기본적으로 페이지로 나누기를 수행합니다. 페이지로 나누기를 지원하는 함수를 호출하면 응답에 iterator가 반환됩니다. 이 iterator가 사용되는 방식에 대한 자세한 내용은 의 Python 참조 문서를 참조하세요.

Ruby

클라이언트 라이브러리는 기본적으로 페이지로 나누기를 수행합니다. 페이지로 나누기를 지원하는 함수를 호출하면 응답에 iterator가 반환됩니다. 이 iterator가 사용되는 방식에 대한 자세한 내용은 Google::Cloud::Storage::File::List의 Ruby 참조 문서를 참조하세요.

REST API

JSON API

페이지 나누기를 지원하는 함수를 호출할 때 목록이 불완전한 경우 연속 토큰 nextPageToken이 응답에 반환됩니다. nextPageToken은 마지막으로 반환된 결과를 나타냅니다. 후속 요청의 pageToken 매개변수에 nextPageToken 값을 전달하면 마지막 결과 이후에 시작하여 결과의 다음 페이지를 반환합니다.

응답 예시

{
  "kind": "storage#objects",
  "nextPageToken": "CgtzaGliYS0yLmpwZw==",
  "items": [
    objects Resource
    …
  ]
}

objects Resource에 대한 자세한 내용은 객체 참조 문서를 참조하세요.

요청 예시

GET https://storage.googleapis.com/storage/v1/b/BUCKET_NAME&pageToken=NEXT_PAGE_TOKEN HTTP/1.1

Authorization: Bearer ACCESS_TOKEN
Accept: application/json

각 항목의 의미는 다음과 같습니다.

  • NEXT_PAGE_TOKEN은 이전 응답의 nextPageToken 값입니다.
  • BUCKET_NAME은 스토리지 버킷의 이름입니다.
  • ACCESS_TOKENOAuth 2.0 Playground에서 수신되는 액세스 토큰입니다.

결과를 페이지로 나누기에 대한 자세한 내용은 Objects: list 또는 Buckets: list의 JSON 참조 문서를 참조하세요.

XML API

페이지 나누기를 지원하는 함수를 호출할 때 목록이 불완전한 경우 응답 토큰 NextContinuationToken이 응답에 반환됩니다. NextContinuationToken은 마지막으로 반환된 결과를 나타냅니다. 후속 요청의 continuation-token 매개변수에 NextContinuationToken 값을 전달하면 마지막 결과 이후에 시작하여 결과의 다음 페이지를 반환합니다.

응답 예시

HTTP/1.1 200 OK
X-goog-metageneration: 5
Content-location: https://example-bucket.storage.googleapis.com?max-keys=2&list-type=2
Expires: Wed, 02 Mar 2022 15:58:11 GMT
Content-length: 781
X-guploader-uploadid: ADPycdvFss2qs9wyMrrM2fIIZzTFFnZZM9i9k8TMbHipsxz8PqUjS5Xh_4tLsvb3_YYHTT0HmSYVv1Gtr816HQFnk28HMglyWA
Cache-control: private, max-age=0
Date: Wed, 02 Mar 2022 15:58:11 GMT
Content-type: application/xml; charset=UTF-8

<?xml version='1.0' encoding='UTF-8'?>
<ListBucketResult xmlns='http://doc.s3.amazonaws.com/2006-03-01'>
  <Name>example_bucket</Name>
  <NextContinuationToken>CgtzaGliYS0yLmpwZw==</NextContinuationToken>
  <KeyCount>2</KeyCount>
  <MaxKeys>2</MaxKeys>
  <IsTruncated>true</IsTruncated>
  <Contents>
    ...
  </Contents>
  ...
</ListBucketResult>

NextContinuationToken을 반환하려면 list-type2로 설정해야 합니다.

요청 예시

GET /?continuation-token=NEXT_CONTINUATION_TOKEN&prefix=t&marker=test&list-type=2 HTTP/1.1 \
  Host: BUCKET_NAME.storage.googleapis.com
  Date: Wed, 02 Mar 2022 16:00:00 GMT
  Content-Length: 0
  Authorization: AUTHENTICATION_STRING

각 항목의 의미는 다음과 같습니다.

  • NEXT_CONTINUATION_TOKEN은 이전 응답에서 수신한 NextContinuationToken 값입니다.
  • BUCKET_NAME은 스토리지 버킷의 이름입니다.
  • AUTHENTICATION_STRINGOAuth 2.0 Playground에서 수신되는 액세스 토큰입니다.

버킷 결과를 페이지로 나누기에 대한 자세한 안내는 List Objects의 XML 참조 문서를 참조하세요.

다음 단계