이 문서에서는 Cloud Storage 클라이언트 라이브러리를 사용하여 데이터를 저장 및 검색하는 방법을 설명합니다. 여기서는 Cloud Storage 설정에 설명된 작업을 완료하여 Cloud Storage 버킷을 활성화하고 클라이언트 라이브러리를 다운로드했다고 가정합니다. 또한 App Engine 애플리케이션을 빌드하는 방법을 알고 있다고 가정합니다.
추가 코드 샘플은 Cloud Storage 클라이언트 라이브러리를 참조하세요.
필수 가져오기
클라이언트 라이브러리를 사용하여 Cloud Storage에 액세스하려면 아래의 코드 스니펫을 사용합니다.
Cloud Storage 버킷 지정
Cloud Storage에서 작업을 수행하기 전에 버킷 이름을 제공해야 합니다.버킷 이름을 지정하는 가장 쉬운 방법은 프로젝트에 기본 버킷을 사용하는 것입니다.
프로젝트의 기본 버킷을 생성한 경우에만 get_default_gcs_bucket_name
호출이 성공합니다.
Cloud Storage에 쓰기
다음 샘플은 버킷에 쓰는 방법을 보여줍니다.
다음에 유의하세요.
쓰기 위해 파일을 열기 위한 호출에서 이 샘플은 파일의 커스텀 메타데이터를 쓰는 특정 Cloud Storage 헤더를 지정합니다.
cloudstorage.stat()
을 사용하여 이 메타데이터를 검색할 수 있습니다.cloudstorage.open()
참조 문서에서 지원되는 헤더 목록을 확인할 수 있습니다.x-goog-acl
헤더가 설정되지 않았습니다. 즉, 기본 Cloud Storage ACL의 공개 읽기는 버킷에 기록될 때 객체에 적용됩니다.쓰기를 마친 후에는 파일을 닫는 함수를 호출해야 합니다. 그렇지 않으면 파일이 Cloud Storage에 기록되지 않습니다. Python 파일 함수
close()
를 호출한 후에는 파일에 아무 것도 추가할 수 없습니다. 파일을 수정해야 하는 경우 Python 파일 함수open()
을 호출하여 쓰기 모드로 파일을 다시 열어야 하며, 이 경우 파일을 추가하지 않고 덮어씁니다.
Cloud Storage에서 읽기
다음 샘플은 버킷에서 전체 파일을 읽는 방법을 보여줍니다.
두 예시에서 cloudstorage.open()
에 전달하는 blob_name
인수는 YOUR_BUCKET_NAME/PATH_IN_GCS
형식의 파일 경로입니다. cloudstorage.open()
의 기본값은 읽기 전용 모드입니다. 파일을 읽기 위해 파일을 열 때 모드를 지정할 필요는 없습니다.
버킷 콘텐츠 나열
샘플 코드는 blob
유형 콘텐츠를 사용해서 버킷을 통해 페이징하는 방법을 보여줍니다.
전체 파일 이름은 디렉터리 구분 기호 없이 문자열 하나로 표시됩니다. 보기 쉽게 디렉터리 계층 구조로 파일을 표시하려면 사용할 디렉터리 구분 기호로 delimiter
매개변수를 설정합니다.
Cloud Storage의 파일 삭제
아래 코드는 cloudstorage.delete()
메서드(gcs
로 가져옴)를 사용하여 Cloud Storage에서 파일을 삭제하는 방법을 보여줍니다.
이 예는 Cloud Storage에 쓰기 섹션의 버킷에 기록된 파일을 정리합니다.
다음 단계
- API 참조 문서 확인
- 추가 가이드 및 튜토리얼은 Cloud Storage 문서를 참조하세요.