이 페이지는 Cloud Storage 버킷에 저장된 객체를 이름별 사전순으로 정리하여 나열하는 방법을 설명합니다.
시작하기 전에
객체를 나열하는 데 필요한 권한을 얻으려면 관리자에게 나열할 객체가 포함된 버킷에 대한 스토리지 객체 뷰어(roles/storage.objectViewer
) IAM 역할을 부여해달라고 요청하세요.
객체 ACL을 요청의 일부로 반환하거나 Google Cloud 콘솔을 사용하여 이 페이지의 태스크를 수행하려면 대체 역할이 필요합니다.
요청의 일부로 객체 ACL을 반환하려면 관리자에게 스토리지 객체 뷰어(
roles/storage.objectViewer
) 대신 스토리지 객체 관리자(roles/storage.objectAdmin
) 역할을 부여해 달라고 요청하세요.Google Cloud 콘솔을 사용하여 이 페이지의 태스크를 수행하려면 관리자에게 스토리지 객체 뷰어(
roles/storage.objectViewer
) 대신 스토리지 관리자(roles/storage.admin
) 역할을 부여해 달라고 요청하세요.또는 관리자에게 스토리지 객체 뷰어(
roles/storage.objectViewer
) 역할 외에도 뷰어(roles/viewer
) 기본 역할을 부여해 달라고 요청할 수 있습니다.
이러한 역할에는 객체를 나열하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 확장하세요.
필수 권한
storage.objects.list
storage.objects.getIamPolicy
- 이 권한은 객체 ACL을 반환하려는 경우에만 필요합니다.
storage.buckets.list
- 이 권한은 Google Cloud 콘솔을 사용하여 이 페이지의 태스크를 수행하려는 경우에만 필요합니다.
다른 사전 정의된 역할이나 커스텀 역할을 사용하여 이러한 권한을 얻을 수도 있습니다.
버킷의 역할 부여에 대한 자세한 내용은 버킷에 IAM 사용을 참조하세요.
버킷의 객체 나열
버킷의 객체를 나열하려면 다음 단계를 완료하세요.
콘솔
명령줄
gcloud storage ls
명령어를 --recursive
플래그와 함께 사용합니다.
gcloud storage ls --recursive gs://BUCKET_NAME/**
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 객체를 나열할 버킷의 이름입니다. 예를 들면my-bucket
입니다.
응답은 다음 예시와 같습니다.
gs://my-bucket/cats.jpeg gs://my-bucket/dogs.jpeg gs://my-bucket/thesis.txt ...
클라이언트 라이브러리
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
헤더에 포함할 수 있습니다.cURL
을 사용하여 객체 나열 요청으로 JSON API를 호출합니다.curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o"
여기서
BUCKET_NAME
은 객체를 나열할 버킷의 이름입니다. 예를 들면my-bucket
입니다.includeFoldersAsPrefixes=True
쿼리 매개변수를 사용하여 관리형 폴더를 목록 결과의 일부로 반환할 수 있습니다.includeFoldersAsPrefixes
매개변수를 사용할 경우delimiter
매개변수를/
로 설정해야 합니다.객체 ACL을 반환하려면
full
값과 함께projection
쿼리 매개변수를 요청에 추가합니다. 버킷에 균일한 버킷 수준 액세스가 사용 설정된 경우 ACL이 사용 중지되고 반환될 수 없습니다.
XML API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여GET
버킷 요청으로 XML API를 호출합니다.curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?list-type=2"
여기서
BUCKET_NAME
은 객체를 나열할 버킷의 이름입니다. 예를 들면my-bucket
입니다.prefix=PREFIX
쿼리 문자열 매개변수를 사용하여 결과를 지정된 프리픽스가 있는 객체로 제한할 수 있습니다.
객체 필터링
콘솔
Google Cloud 콘솔을 사용하여 이름 프리픽스로 객체를 필터링하려면 버킷 세부정보 페이지의 객체 및 폴더 필터링 필드를 사용합니다.
Google Cloud 콘솔을 사용하여 사용할 수 있는 추가 필터링 옵션은 필터링 및 정렬을 참고하세요.
명령줄
Google Cloud CLI를 사용하여 객체를 나열할 때는 와일드 카드를 사용해서 지정된 프리픽스로 시작하거나 지정된 서픽스로 끝나는 객체를 필터링할 수 있습니다. 예를 들어 다음 명령어는 image
로 시작하고 .png
로 끝나는 객체와 일치합니다.
gcloud storage ls gs://my-bucket/image*.png
Google Cloud CLI를 사용하는 필터링에 대한 자세한 내용은 gcloud storage ls
문서를 참조하세요.
REST API
JSON API
Cloud Storage JSON API를 사용하여 객체를 나열할 때는 prefix
또는 matchGlob
쿼리 문자열 매개변수를 사용하여 결과를 필터링할 수 있습니다. 이러한 쿼리 문자열 매개변수를 사용하는 방법에 대한 자세한 내용은 객체 목록 JSON API 참고 문서를 참조하세요.
프리픽스로 필터링
prefix=PREFIX
또는 쿼리 문자열 매개변수를 사용하여 지정된 프리픽스가 있는 객체나 관리형 폴더로 결과를 제한할 수 있습니다. 예를 들어 프리픽스 folder/subfolder/
가 있는 my-bucket
버킷의 모든 객체를 나열하려면 "https://storage.googleapis.com/storage/v1/b/my-bucket/o?prefix=folder/subfolder/"
URL을 사용하여 객체 나열 요청을 보냅니다.
prefix
를 사용하여 관리형 폴더의 콘텐츠를 나열하는 것은 관리형 폴더의 객체를 나열할 수 있는 권한만 있는 경우에 유용하지만 전체 버킷에는 그렇지 않습니다. 예를 들어 관리형 폴더 my-bucket/my-managed-folder-a/
에 대한 스토리지 객체 뷰어(roles/storage.objectViewer
) IAM 역할이 있지만 관리형 폴더 my-bucket/my-managed-folder-b/
에는 그렇지 않습니다. my-managed-folder-a
의 객체만 반환하려면 prefix=my-managed-folder-a/
를 지정하면 됩니다.
결과를 관리형 폴더와 해당 폴더 내 객체로 제한할 경우 PREFIX
를 /
로 종료해야 합니다(예: prefix=my-managed-folder/
). 그렇지 않으면 관리형 폴더에 인접한 객체가 결과에 포함될 수 있습니다. 이 예시에는 다음 객체가 포함된 버킷이 있습니다.
my-bucket/abc.txt
my-bucket/abc/object.txt
prefix=abc/
를 지정하면 my-bucket/abc/object.txt
객체가 반환될 수 있고 prefix=abc
를 지정하면 my-bucket/abc.txt
및 my-bucket/abc/object.txt
모두 반환될 수 있습니다.
glob 표현식으로 필터링
matchGlob=GLOB_PATTERN
쿼리 문자열 매개변수를 사용하여 특정 glob 표현식과 일치하는 객체로만 결과를 필터링할 수 있습니다. 예를 들어 matchGlob=**.jpeg
를 사용하면 .jpeg
로 끝나는 모든 객체를 일치시킬 수 있습니다.
matchGlob
매개변수를 사용하는 요청은 /
이외의 값으로 설정된 delimiter
매개변수가 포함된 경우 실패합니다.