上傳及下載儲存空間物件

Google Distributed Cloud (GDC) 實體隔離方案的物件儲存庫,可讓您在專案範圍的 bucket 之間,移轉及擷取檔案、目錄和版本化資料。您可以透過 GDC 控制台或 gdcloud CLI 執行單一檔案或多部分作業,並使用自訂AEADKey加密保護物件。

事前準備

Storage bucket 是特定專案範圍內的資源。專案就像容器,可將 bucket 分組,並透過 Management API 伺服器管理。您必須先建立新專案,或選取具備足夠權限的現有專案,才能執行這個頁面的作業。

必要的 IAM 角色

請與 IAM 專案管理員聯絡,要求在專案命名空間中取得下列角色:

  • 專案 bucket 管理員 (project-bucket-admin):建立、更新及刪除儲存空間 bucket。
  • 專案 bucket 物件檢視者 (project-bucket-object-viewer):查看及檢查儲存空間 bucket 和物件的詳細資料。

詳情請參閱「授予 bucket 存取權」。

準備環境

如要對管理 API 伺服器或全域 API 伺服器執行指令,請按照下列步驟操作:

  1. 如果您沒有可用於可用區管理 API 伺服器的 kubeconfig 檔案,請登入並產生該檔案。
  2. 如果是雙可用區 bucket,請按照下列步驟操作:

物件命名指南

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

  • 命名物件時,請使用 UTF-8 字元。
  • 長度介於 1 至 55 個字元之間。
  • 請勿加入任何個人識別資訊 (PII)。

將物件上傳至 Storage bucket

控制台

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

gdcloud

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

gdcloud storage cp LOCAL_PATH s3://REMOTE_PATH
gdcloud storage cp s3://FULLY_QUALIFIED_SOURCE_BUCKET_NAME s3://FULLY_QUALIFIED_DESTINATION_BUCKET_NAME
gdcloud storage mv s3://FULLY_QUALIFIED_SOURCE_BUCKET_NAME s3://FULLY_QUALIFIED_DESTINATION_BUCKET_NAME

下列指令需要 FULLY_QUALIFIED_BUCKET_NAME。使用「查看 bucket 設定」部分的 GET 或 DESCRIBE 指令,取得完整的 bucket 名稱。

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

gdcloud storage cp *.txt s3://FULLY_QUALIFIED_BUCKET_NAME

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

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

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

gdcloud storage cp DIRECTORY_NAME 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. 在導覽選單中,按一下「Object Storage」(物件儲存空間)。
  2. 按一下物件所在 bucket 的名稱。
  3. 找出要下載的物件,然後選取名稱旁的核取方塊。
  4. 點選 [下載]。

gdcloud

如要從 bucket 取得物件,請按照下列步驟操作:

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 從 bucket 下載到目前的目錄,請執行下列指令:

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

接著,從 bucket 下載特定版本的文字檔案 abc.txt 到目前的目錄:

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

使用自訂 AEADKey

如要進一步自訂,您可以建立自己的 AEADKey,並在加密 bucket 中的物件時直接使用。這樣一來,您就能完全控管加密金鑰,不必使用預設金鑰。按照「建立金鑰」一節的說明建立新的 AEADKey,並確認該金鑰與要使用的 bucket 位於相同的 Namespace。接著,每次傳送要求時,請務必將 HEADER 設為 x-amz-server-side-encryption: SSE-KMS 和 x-amz-server-side-encryption-aws-kms-key-id: NAMESPACE_NAME/AEADKey_NAME