您可以使用 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
Java
您可以利用下列指令複製存放區:
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 控制台中開啟憑證清單。
按一下 [Create credentials] (建立憑證)。
選取 [Service account key] (服務帳戶金鑰)。
此時「Create service account key」(建立服務帳戶金鑰) 視窗會開啟。
按一下「服務帳戶」清單,然後選取「Compute Engine 預設服務帳戶」。
在「Key type」(金鑰類型) 下選取 [JSON]。
按一下 [Create] (建立)。
「New private key」(新的私密金鑰) 視窗隨即顯示,並且會自動下載此私密金鑰。
按一下 [關閉]。
編輯專案設定並安裝依附元件
Go
在 app.yaml
中設定 GCLOUD_STORAGE_BUCKET
。這個值是您先前建立的 Cloud Storage 值區名稱。
Java
在 app.yaml
中,將 BUCKET_NAME
設為先前為專案建立的 Cloud Storage。
在 pom.xml
中,將 com.google.cloud
設為依附元件,並指定 google-cloud-storage
做為該依附元件的成果 ID;這樣就能提供使用 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。
請注意,您必須在 Gemfile
中加入 gcloud
程式庫,才能使用 Cloud Storage 函式。
.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 擷取此檔案,您將需要指定值區名稱與檔案名稱。這些值應儲存在您的應用程式中,供日後使用。
Java
範例應用程式會顯示網頁,提示使用者提供要存放在 Cloud Storage 的檔案。使用者選取檔案並按一下提交按鈕後,doPost
要求處理常式會使用 Storage.create 將檔案寫入至 Cloud Storage 值區。
請注意,如要從 Cloud Storage 擷取此檔案,您將需要指定值區名稱與檔案名稱。這些值應儲存在您的應用程式中,供日後使用。
Node.js
範例應用程式會顯示網頁,提示使用者提供要存放在 Cloud Storage 的檔案。使用者只要選取檔案並按一下 [Submit] (提交),上傳處理常式就會將檔案內容載入 blob 並將其寫入 Cloud Storage。
請注意,檔案上傳至 Cloud Storage 後,系統會傳回該檔案的公用網址。您可以利用這個網址直接從 Cloud Storage 提供檔案。建議您將這個值儲存在應用程式中,方便日後使用。
PHP
範例應用程式會顯示網頁,提示使用者提供要存放在 Cloud Storage 的檔案。使用者只要選取檔案並按一下 [Submit] (提交),上傳處理常式就會將檔案內容載入 blob 並將其寫入 Cloud Storage。
請注意,檔案上傳至 Cloud Storage 後,系統會傳回該檔案的公用網址。您可以利用這個網址直接從 Cloud Storage 提供檔案。建議您將這個值儲存在應用程式中,方便日後使用。
Python
範例應用程式會顯示網頁,提示使用者提供要存放在 Cloud Storage 的檔案。使用者選取檔案並按一下「提交」後,上傳處理常式就會將檔案內容載入 Cloud Storage blob,並將其寫入 Cloud Storage 值區。
請注意,檔案上傳至 Cloud Storage 後,系統會傳回該檔案的公開網址,您可以利用這個網址直接從 Cloud Storage 提供檔案。建議您將這個值儲存在應用程式中,方便日後使用。
Ruby
範例應用程式會顯示網頁,提示使用者提供要存放在 Cloud Storage 的檔案。使用者只要選取檔案並按一下 [Submit] (提交),上傳處理常式就會將檔案內容載入 blob 並將其寫入 Cloud Storage。
請注意,檔案上傳至 Cloud Storage 後,系統會傳回該檔案的公用網址。您可以利用這個網址直接從 Cloud Storage 提供檔案。建議您將這個值儲存在應用程式中,方便日後使用。
.NET
範例應用程式會顯示網頁,提示使用者提供要存放在 Cloud Storage 的檔案。使用者只要選取檔案並按一下 [Submit] (提交),上傳處理常式就會將檔案內容載入 blob 並將其寫入 Cloud Storage。
請注意,檔案上傳至 Cloud Storage 後,系統會傳回該檔案的公用網址。您可以利用這個網址直接從 Cloud Storage 提供檔案。建議您將這個值儲存在應用程式中,方便日後使用。
瞭解詳情
如需 Cloud Storage 的完整資訊,請參閱 Cloud Storage 說明文件。