참고: Python 2.7은 2024년 1월 31일 지원 종료됩니다. 기존 Python 2.7 애플리케이션을 계속 실행하고 트래픽을 받을 수 있습니다. 그러나 지원 종료 날짜 이후에는 해당 런타임을 사용하는 애플리케이션의 재배포를 App Engine에서 차단할 수 있습니다.
지원되는 최신 Python 버전으로 마이그레이션하는 것이 좋습니다.
버킷은 파일을 읽어오거나 쓸 수 있는 스토리지 위치입니다. Cloud Storage의 App Engine 클라이언트 라이브러리를 사용할 때는 버킷을 항상 지정해야 합니다. 프로젝트는 여러 버킷에 액세스할 수 있습니다. 참고로, 클라이언트 라이브러리는 버킷 만들기를 지원하지 않습니다.
액세스 제어 목록(ACL)은 버킷 및 버킷에 포함된 객체에 대한 액세스를 제어합니다. 프로젝트에 버킷을 만들면 버킷 액세스를 허용하는 ACL에 해당 프로젝트 및 App Engine 앱이 자동으로 추가됩니다.
버킷 액세스를 허용하는 ACL은 해당 버킷에 있는 객체를 제어하는 여러 ACL과는 완전히 다릅니다. 이처럼 앱은 활성화된 버킷에 대해서는 읽기 및 쓰기 권한을 갖지만, 객체의 경우 버킷에서 앱이 생성한 것에 한해서만 전체 권한을 갖습니다. 다른 앱 또는 다른 사람이 만든 객체에 대한 사용자 앱의 액세스 권한은 해당 객체의 생성자가 사용자의 앱에 부여한 권한으로 제한됩니다.
ACL을 명시적으로 정의하지 않고 버킷에서 객체를 만든 경우 버킷 소유자가 버킷에 할당한 기본 객체 ACL이 사용됩니다. 버킷 소유자가 기본 객체 ACL을 지정하지 않은 경우 객체 기본값이 public-read로 설정되어 버킷 액세스 권한이 있는 모든 사용자가 객체를 읽을 수 있습니다.
ACL 및 클라이언트 라이브러리
클라이언트 라이브러리를 사용하는 앱은 버킷 ACL을 변경할 수 없지만, 생성되는 객체에 대한 액세스 권한을 제어하는 ACL을 지정할 수 있습니다.
사용 가능한 ACL 설정은 open 메서드 문서에 설명되어 있습니다.
Cloud Storage 객체 수정
버킷에서 객체를 만든 다음에는 객체를 수정하거나 객체에 추가할 수 없습니다. 그 대신 원하는 변경사항이 포함된 객체를 동일한 이름으로 새로 만들어 해당 객체를 덮어써야 합니다.
Cloud Storage 및 하위 디렉터리
Cloud Storage용 App Engine 클라이언트 라이브러리를 사용하면 객체를 만들 때 하위 디렉터리 구분 기호를 사용할 수 있지만, Cloud Storage에는 실제 하위 디렉터리가 없습니다. Cloud Storage의 하위 디렉터리는 객체 파일 이름의 일부입니다.
예를 들어 somewhere/over/the/rainbow.mp3 객체를 만들면 rainbow.mp3 파일이 하위 디렉터리 somewhere/over/the/에 저장된다고 가정할 수 있습니다. 대신 객체 이름이 somewhere/over/the/rainbow.mp3로 설정됩니다.
listbucket 필터링을 사용하는 경우 이 개념을 반드시 이해하고 있어야 합니다.
이러한 방식이 맞지 않는 경우 listbucket에 포함된 선택적인 디렉터리 에뮬레이션 모드를 사용할 수 있습니다. 자세한 내용은 listbucket을 참조하세요.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-03-06(UTC)"],[[["This API is compatible with first-generation runtimes and can be used when upgrading to corresponding second-generation runtimes, with a migration guide available for those moving to the App Engine Python 3 runtime."],["A bucket is a designated storage location for reading and writing files, and it is required to be specified when using the App Engine client library for Cloud Storage, although this library does not allow bucket creation."],["Access control lists (ACLs) determine who can access buckets and their contents, and while the client library cannot change bucket ACLs, it can specify ACLs for newly created objects."],["Cloud Storage does not support true subdirectories; instead, what appears to be a subdirectory is simply included in the object's filename, which affects how filtering with `listbucket` functions."],["The App Engine client library for Cloud Storage includes an automatic request retry mechanism with exponential backoff to manage timeouts when interacting with Cloud Storage."]]],[]]