Cloud Storage를 사용하여 영화, 이미지, 기타 정적 콘텐츠 등의 파일을 저장하고 제공할 수 있습니다.
이 문서에서는 앱에서 Cloud Storage용 Cloud 클라이언트 라이브러리를 사용하여 Cloud Storage에 데이터를 저장하고 여기에서 데이터를 검색하는 방법을 설명합니다.
시작하기 전에
- 개발 환경 설정의 안내에 따라 환경과 프로젝트를 설정하고 App Engine에서 앱이 구조화되는 방식을 이해합니다. 이 문서에 설명된 샘플 애플리케이션을 실행할 때 필요하므로 프로젝트 ID를 기록해 둡니다.
다음 명령어를 호출하여 애플리케이션용 Cloud Storage 버킷을 만듭니다.
gcloud storage buckets create gs://YOUR_BUCKET_NAME
공개 읽기 가능 버킷으로 만들어 파일을 제공할 수 있도록 합니다.
gcloud storage buckets add-iam-policy-binding gs://<var>YOUR_BUCKET_NAME</var> --member=allUsers --role=roles/storage.objectViewer
샘플 다운로드
Go
저장소를 복제하려면 다음을 사용하세요.
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
cd golang-samples/appengine_flexible/storage
자바
저장소를 복제하려면 다음을 사용하세요.
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
cd java-docs-samples/flexible/java-17/cloudstorage
Node.js
저장소를 복제하려면 다음을 사용하세요.
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples/
cd nodejs-docs-samples/appengine/storage/flexible
PHP
저장소를 복제하려면 다음을 사용하세요.
git clone https://github.com/GoogleCloudPlatform/php-docs-samples
cd php-docs-samples/appengine/flexible/storage
Python
저장소를 복제하려면 다음을 사용하세요.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/appengine/flexible/storage
Ruby
저장소를 복제하려면 다음을 사용하세요.
git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples
cd ruby-docs-samples/appengine/flexible/storage/
.NET
샘플 앱을 다운로드하고 압축을 풉니다.
명령줄을 사용하는 경우 다음 앱 디렉터리로 이동합니다.
dotnet-docs-samples\appengine\flexible\CloudStorage\CloudStorage.Sample
애플리케이션을 로컬에서 실행하려면 서비스 계정을 설정하고 사용자 인증 정보를 다운로드합니다.
Google Cloud 콘솔에서 사용자 인증 정보 목록을 엽니다.
사용자 인증 정보 만들기를 클릭합니다.
서비스 계정 키를 선택합니다.
서비스 계정 키 만들기 창이 열립니다.
서비스 계정 목록을 클릭하고 Compute Engine 기본 서비스 계정을 선택합니다.
키 유형은 JSON을 선택하세요.
만들기를 클릭합니다.
새 비공개 키 창이 표시되고 비공개 키가 자동으로 다운로드됩니다.
닫기를 클릭합니다.
프로젝트 구성 수정 및 종속 항목 설치
Go
app.yaml
에서 GCLOUD_STORAGE_BUCKET
을 설정합니다. 이 값은 이전에 만든 Cloud Storage 버킷의 이름입니다.
자바
app.yaml
에서 이전에 BUCKET_NAME
을
프로젝트용으로 만든 Cloud Storage로 설정합니다.
pom.xml
에서 com.google.cloud
를 종속 항목으로 설정하고 google-cloud-storage
를 해당 종속 항목의 artifactID로 지정합니다. 이 종속 항목은 Cloud Storage를 사용하기 위한 함수를 제공합니다.
Node.js
app.yaml
에서 프로젝트 ID를 GOOGLE_CLOUD_PROJECT
환경 값에 추가합니다. 그런 다음 GCLOUD_STORAGE_BUCKET
환경 값을 이전에 만든 Cloud Storage 버킷의 이름으로 설정합니다.
package.json
에서 @google-cloud/storage
를 종속 항목으로 추가합니다. 이 종속 항목은 Cloud Storage를 사용하기 위한 기능을 제공합니다.
로컬에서 실행 및 테스트하는 방법은 README.md
파일을 참조하세요.
PHP
app.yaml
에서 CLOUD_STORAGE_BUCKET
을 설정합니다. 이 값은 이전에 만든 Cloud Storage 버킷의 이름입니다.
composer.json
에서 Cloud 클라이언트 라이브러리를 포함해야 합니다. 이 라이브러리가 Cloud Storage 기능을 제공하기 때문입니다.
Python
app.yaml
에서 GOOGLE_STORAGE_BUCKET
을 설정합니다. 이 값은 이전에 만든 Cloud Storage 버킷의 이름입니다.
requirements.txt
에서 google-cloud-storage
라이브러리를 포함해야 합니다. Cloud Storage 기능을 제공하기 때문입니다.
Ruby
app.yaml
에서 이전에 GCLOUD_STORAGE_BUCKET
을
프로젝트용으로 만든 Cloud Storage로 설정합니다.
Cloud Storage 기능을 사용하려면 Gemfile
에 gcloud
라이브러리를 포함해야 합니다.
.NET
app.yaml
파일에서 TEST_GOOGLE_BUCKET_NAME
을 이전에 프로젝트용으로 만든 Cloud Storage로 설정합니다.
env_variables:
TEST_GOOGLE_BUCKET_NAME: [your-bucket-name]
애플리케이션 코드
Go
샘플 애플리케이션은 웹페이지를 통해 사용자에게 Cloud Storage에 저장할 파일을 제공하라는 메시지를 표시합니다. 사용자가 파일을 선택하고 제출을 클릭하면 업로드 핸들러가 Cloud Storage NewWriter 함수를 사용하여 파일을 Cloud Storage 버킷에 씁니다.
Cloud Storage에서 이 파일을 검색하려면 버킷 이름과 파일 이름을 지정해야 합니다. 나중에 사용할 수 있도록 이 값을 앱에 저장해야 합니다.
자바
샘플 애플리케이션은 웹페이지를 통해 사용자에게 Cloud Storage에 저장할 파일을 제공하라는 메시지를 표시합니다. 사용자가 파일을 선택하고 제출을 클릭하면 doPost
요청 핸들러가 Storage.create를 사용하여 파일을 Cloud Storage 버킷에 파일을 작성합니다.다.
Cloud Storage에서 이 파일을 검색하려면 버킷 이름과 파일 이름을 지정해야 합니다. 나중에 사용할 수 있도록 이 값을 앱에 저장해야 합니다.
Node.js
샘플 애플리케이션은 웹페이지를 통해 사용자에게 Cloud Storage에 저장할 파일을 제공하라는 메시지를 표시합니다. 사용자가 파일을 선택하고 제출을 클릭하면 업로드 핸들러가 파일 콘텐츠를 BLOB에 로드하고 이를 Cloud Storage에 작성합니다.
파일이 Cloud Storage에 업로드된 후에는 이 파일의 공개 URL이 반환되며, 이 URL을 사용하여 Cloud Storage에서 직접 파일을 제공할 수 있습니다. 나중에 사용할 수 있도록 이 값을 앱에 저장해야 합니다.
PHP
샘플 애플리케이션은 웹페이지를 통해 사용자에게 Cloud Storage에 저장할 파일을 제공하라는 메시지를 표시합니다. 사용자가 파일을 선택하고 제출을 클릭하면 업로드 핸들러가 파일 콘텐츠를 BLOB에 로드하고 이를 Cloud Storage에 작성합니다.
파일이 Cloud Storage에 업로드된 후에는 이 파일의 공개 URL이 반환되며, 이 URL을 사용하여 Cloud Storage에서 직접 파일을 제공할 수 있습니다. 나중에 사용할 수 있도록 이 값을 앱에 저장해야 합니다.
Python
샘플 애플리케이션은 웹페이지를 통해 사용자에게 Cloud Storage에 저장할 파일을 제공하라는 메시지를 표시합니다. 사용자가 파일을 선택하고 제출을 클릭하면 업로드 핸들러가 파일 콘텐츠를 Cloud Storage blob에 로드하고 Cloud Storage 버킷에 씁니다.
파일이 Cloud Storage에 업로드된 후에는 이 파일의 공개 URL이 반환되며, 이 URL을 사용하여 Cloud Storage에서 직접 파일을 제공할 수 있습니다. 나중에 사용할 수 있도록 이 값을 앱에 저장해야 합니다.
Ruby
샘플 애플리케이션은 웹페이지를 통해 사용자에게 Cloud Storage에 저장할 파일을 제공하라는 메시지를 표시합니다. 사용자가 파일을 선택하고 제출을 클릭하면 업로드 핸들러가 파일 콘텐츠를 BLOB에 로드하고 이를 Cloud Storage에 작성합니다.
파일이 Cloud Storage에 업로드된 후에는 이 파일의 공개 URL이 반환되며, 이 URL을 사용하여 Cloud Storage에서 직접 파일을 제공할 수 있습니다. 나중에 사용할 수 있도록 이 값을 앱에 저장해야 합니다.
.NET
샘플 애플리케이션은 웹페이지를 통해 사용자에게 Cloud Storage에 저장할 파일을 제공하라는 메시지를 표시합니다. 사용자가 파일을 선택하고 제출을 클릭하면 업로드 핸들러가 파일 콘텐츠를 BLOB에 로드하고 이를 Cloud Storage에 작성합니다.
파일이 Cloud Storage에 업로드된 후에는 이 파일의 공개 URL이 반환되며, 이 URL을 사용하여 Cloud Storage에서 직접 파일을 제공할 수 있습니다. 나중에 사용할 수 있도록 이 값을 앱에 저장해야 합니다.
추가 정보
Cloud Storage에 대한 자세한 내용은 Cloud Storage 문서를 참조하세요.