在專案中上傳及下載儲存空間物件

本頁說明如何將物件上傳至 Google Distributed Cloud (GDC) 氣隙儲存空間值區,以及從該值區下載物件。

事前準備

專案命名空間可管理 Management API 伺服器中的 bucket 資源。您必須擁有專案,才能使用 bucket 和物件。

您也必須具備適當的 bucket 權限,才能執行下列作業。請參閱「授予 bucket 存取權」。

物件命名指南

請按照下列規範為物件命名:

  • 為物件命名時,請使用 UTF-8 字元。
  • 請勿加入任何個人識別資訊 (PII)。

將物件上傳至儲存空間 bucket

控制台

  1. 在導覽選單中,按一下「物件儲存空間」
  2. 按一下要上傳物件的值區名稱。
  3. 選用:如要建立資料夾來儲存物件,請依序按一下「建立資料夾」 > 輸入資料夾名稱 > 按一下「建立」
  4. 直接按一下「上傳檔案」,或前往剛建立的資料夾,然後按一下「上傳檔案」
  5. 選取所需檔案,然後按一下「開啟」
  6. 等待系統顯示上傳成功的確認訊息。

CLI

如要上傳物件,請執行下列指令:

gdcloud storage cp LOCAL_PATH s3://REMOTE_PATH
gdcloud storage cp s3://REMOTE_SOURCE_PATH s3://REMOTE_MOVE_DESTINATION_PATH
gdcloud storage mv s3://REMOTE_SOURCE_PATH s3://REMOTE_MOVE_DESTINATION_PATH

下列指令需要 FULLY_QUALIFIED_BUCKET_NAME。使用「查看值區設定」一節中的 GETDESCRIBE 指令,取得完整值區名稱。

下列指令會將本機目錄中的所有文字檔上傳至值區:

gdcloud storage cp *.txt s3://FULLY_QUALIFIED_BUCKET_NAME

下列指令會將本機目錄中的多個檔案上傳至值區:

gdcloud storage cp abc1.txt abc2.txt s3://FULLY_QUALIFIED_BUCKET_NAME

如要將資料夾上傳至值區,請使用 --recursive 選項複製整個目錄樹狀結構。下列指令會上傳目錄樹 dir:

gdcloud storage cp dir s3://FULLY_QUALIFIED_BUCKET_NAME --recursive

針對大型物件執行多部分上傳作業,或在要上傳的檔案大於 15 MB 時,自動使用多部分上傳作業。在這種情況下,檔案會分割成多個部分,每個部分的大小為 15 MB。 最後一部分較小。每個部分會分別上傳,並在轉移完成時於目的地重建。

如果某個部分上傳失敗,您可以重新啟動上傳程序,不會影響已上傳的其他部分。

與多部分上傳相關的選項有兩種:

  • --disable-multipart:停用所有檔案的多部分上傳功能。
  • --multipart-chunk-size-mb=SIZE:設定多部分上傳作業中每個區塊的大小。

如果檔案大於 SIZE,系統會自動以多執行緒多部分上傳方式上傳。使用傳統方法上傳較小的檔案。SIZE 的單位為 MB。預設的區塊大小為 15 MB。允許的最小區塊大小為 5 MB,最大為 5 GB。

從儲存空間 bucket 下載物件

控制台

  1. 在導覽選單中,按一下「物件儲存空間」
  2. 按一下包含物件的值區名稱。
  3. 選取要下載的物件名稱旁的核取方塊。
  4. 點選 [下載]

CLI

如要從值區取得物件:

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/OBJECT LOCAL_FILE_TO_SAVE

如要將 bucket 中的所有文字檔下載到目前目錄:

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/*.txt .

如要從值區將文字檔案 abc.txt 下載至目前目錄,請執行下列指令:

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt .

如要下載舊版檔案,請先列出檔案的所有版本:

gdcloud storage ls s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt --all-versions

輸出內容範例:

s3://my-bucket/abc.txt#OEQxNTk4MUEtMzEzRS0xMUVFLTk2N0UtQkM4MjAwQkJENjND
s3://my-bucket/abc.txt#ODgzNEYzQ0MtMzEzRS0xMUVFLTk2NEItMjI1MTAwQkJENjND
s3://my-bucket/abc.txt#ODNCNDEzNzgtMzEzRS0xMUVFLTlDOUMtQzRDOTAwQjg3RTg3

然後,從值區將特定版本的文字檔 abc.txt 下載到目前目錄:

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt#OEQxNTk4MUEtMzEzRS0xMUVFLTk2N0UtQkM4MjAwQkJENjND .

使用自訂 AEADKey

如要進一步自訂,您可以建立自己的 AEADKey,並在加密 bucket 中的物件時直接使用。這樣一來,您就能完全掌控加密金鑰,略過預設值。按照「建立金鑰」一文的說明建立新的 AEADKey,並確認該金鑰與您要使用的值區位於同一個 Namespace。然後,每次傳送要求時,請確保 HEADER 已設定 x-amz-server-side-encryption: SSE-KMSx-amz-server-side-encryption-aws-kms-key-id: NAMESPACE_NAME/AEADKey_NAME