S3 API 作業

IBM Spectrum Protect 支援基本 S3 應用程式設計介面 (API) 作業,以用於資料備份及擷取。 然而,IBM Spectrum Protect 不支援部分 S3 API 用戶端函數呼叫。

IBM Spectrum Protect 伺服器隨附 IBM Spectrum Protect S3 API。 IBM Spectrum Protect S3 API 啟用 S3 用戶端應用程式,以使用儲存器進行儲存管理。 API 包括您可以在應用程式中使用的函數呼叫,以執行數個作業。

IBM Spectrum Protect 會按照 表 1 中的總結實作部分 S3 通訊協定。IBM Spectrum Protect 會盡可能嚴格地遵循 Amazon Web Services (AWS) 實作。 然而,S3 通訊協定未完全標準化,並且存在限制。 一個範例是在要求與回應中使用的 HTTP 標頭。 HTTP 通訊協定指定不區分大小寫的標頭金鑰。 一個 S3 用戶端可能傳送 ETag 作為標頭金鑰,而另一個 S3 用戶端傳送 Etag。 標頭中的大小寫不一致是已知的 S3 用戶端問題。
提示: 使用現有的 S3 用戶端軟體開發套件 (SDK)。 您可以使用 S3 SDK 以解決標題及其他問題,以及管理通訊協定。 如果您使用應用程式,並且不知道它如何實作物件用戶端通訊協定,請使用「AWS S3 指令行介面 (CLI)」指令或另一個測試良好的應用程式來嘗試作業。
表 1. S3 REST API 作業、參數及準則
S3 REST API 作業 功能 受支援的參數 需求
放置儲存區 IBM Spectrum Protect 伺服器上的物件用戶端節點建立檔案空間。 此檔案空間用作所有用戶端物件的儲存區。 儲存區

儲存區名稱必須遵循 Amazon S3 儲存區名稱準則,但名稱必須在全局內唯一的需求除外。 儲存區名稱在用戶端節點內必須是唯一的。 Amazon S3 儲存區規則的限制大於 IBM Spectrum Protect 伺服器的檔案空間名稱限制。 如需 Amazon S3 儲存區規則的相關資訊,請參閱儲存區限制

儲存區名稱必須遵循下列準則:
  • 名稱長度必須是 3 到 63 個字元。
  • 名稱中僅容許小寫字母 (a-z)、數字、句點及連字號。
  • 名稱必須以字母或數字開頭及結尾。
  • 名稱不能格式化為 IP 位址。
限制: 儲存區名稱的字集受限,以支援用戶端相容性上限。 然而,物件金鑰中允許 UTF-8 字元。
刪除儲存區 IBM Spectrum Protect 中刪除儲存區。 在 IBM Spectrum Protect 中,檔案空間代表儲存區。 Bucket
確保儲存區是空的,然後才能刪除儲存區。
  • 刪除儲存區會在 IBM Spectrum Protect 伺服器上啟動 DELETE FILESPACE 作業。
  • 在伺服器上啟動的 DELETE FILESPACE 指令是非同步作業,可能需要一些時間才能完成。 啟動 DELETE FILESPACE 作業之後,DeleteBucket 作業會要求儲存區名稱。
  • 僅當透過 S3 介面呼叫 DELETE bucket 函數時,才會限制要清空的儲存區的需求。 如果直接在伺服器上發出 DELETE FILESPACE 指令,則不會套用此類限制。
列出儲存區

提供這個物件用戶端節點的儲存區的清單。 在 IBM Spectrum Protect 中,檔案空間代表儲存區。

沒有可用的參數。 IBM Spectrum Protect 不儲存檔案空間建立日期,因此儲存區的建立日期不是精確的時間戳記。
放置物件 IBM Spectrum Protect 中建立物件。
  • Bucket
  • Key
  • Content-MD5
  • Content-Length
  • x-amz-storage-class

物件名稱:物件金鑰必須遵循物件金鑰中的物件命名準則。 物件金鑰長度必須為 1 至 1024 個字元,並且由有效的 UTF-8 字元組成。 如準則中所述,必須避免數個字元。 可以接受這些字元,作為物件金鑰的一部分。 然而,為了避免應用程式可能出現的問題,不要在物件金鑰中使用這些字元。

物件大小:S3 標準將單一物件 PUT 要求限制為 5 GB。 系統會拒絕更大的要求。 多組件物件的每一部分都限制為 5 GB。 雖然 PUT 要求中的每個單一物件都容許大小 5 GB,請使用超出 100 MB 的物件的多組件物件作業。

僅支援 STANDARD 儲存類別。

取得物件 IBM Spectrum Protect 中的物件內擷取物件或一定範圍內的資料。
  • Bucket
  • Key
  • Range
  • If-Match
  • If-Modified-Since
  • If-None-Match
  • If-Unmodified-Since
發出多個小型 GET 要求時,可能影響伺服器效能。 最佳的 GET 要求大小是 5 MB 或更大。 對於超出 5 GB 的 GET 要求,透過單一 IBM Spectrum Protect 階段作業傳送資料。 在此情況下,用戶端無法足夠快速地取得資料。 若要避免此問題,請考量平行要求多個範圍的相同物件。
標頭物件 傳回指定物件的相關資訊。
  • Bucket
  • Key
  • If-Match
  • If-None-Match
  • If-Modified-Since
  • If-Unmodified-Since
請參閱清單物件中受支援回應元素的清單。
刪除物件 刪除單一物件或多個物件。
  • Bucket
  • Key
 
列出物件 擷取指定儲存區的物件或目錄的清單。
  • Bucket
  • Continuation-Token
  • Delimiter
  • Prefix
  • Start-After
受支援的回應元素:
  • 名稱
  • CommonPrefixes
  • Contents
  • ContinuationToken
  • Delimiter
  • IsTruncated
  • KeyCount
  • MaxKeys
  • NextContinuation
    記號
  • Prefix
  • StartAfter
儲存區對映於伺服器上的檔案空間。 定界字元可以用來指定字元以分組金鑰,如 S3 API 中所定義。 字首用來搜尋現行節點定義下具有指定字首的物件代理程式檔案。 與定界字元搭配使用時,此作業可以產生目錄結構的階層式表示法。
建立多組件上傳 指出多組件物件的建構。
  • Bucket
  • Key
  • x-am-storage-class

多組件物件作業用來上傳更大的物件。 必須透過使用多組件物件作業來上傳大於 100 MB 的物件。 透過此方法,可以在平行串流中上傳物件。 可以在多組件物件內建立大小為 5 TB 的物件。

單一組件最多可以為 5 GB。 物件必須至少為 5 MB,最後一個部件除外。 S3 通訊協定最多容許 10,000 個組件。

IBM Spectrum Protect 中,每一個組件都儲存為物件,並新增標頭物件。 然後,使用標頭物件分組這些物件。 例如,使用 10 個組件備份的多組件物件在 IBM Spectrum Protect 查詢中顯示為 11 個物件,例如 QUERY OCCUPANCY 指令。

透過使用 S3 通訊協定確定物件之後,它在 S3 API 中顯示為單一物件,但是您可能在 IBM Spectrum Protect 中看到多個物件。

重要: S3 用戶端必須確定或中斷多組件物件,否則作業可能無法完成處理:
  • 如果未確定多組件物件,則 S3 API 不會將物件作為物件進行檢視,並且不會對物件進行處理。
  • 如果未中斷多組件物件,則會繼續使用組件使用的空間,並且不會刪除組件。
請確定沒有多組件物件仍然存在,未確定或未中斷。

物件名稱中的所有規則都適用。

僅支援 STANDARD 儲存類別。

上傳組件 上傳多組件物件的一個組件。
  • Bucket
  • Key
  • partNumber
  • UploadID
  • Content-Length
  • Content-MD5
 
完成多組件上傳 透過組合先前上傳的組件,完成多組件上傳。
  • Bucket
  • Key
  • UploadID
 
中斷多組件上傳 在多組件上傳啟動之後進行中止。 系統會刪除所指定非確定物件的所有組件。
  • Bucket
  • Key
  • UploadID
 
列出組件 列出為特定多組件上傳而上傳的組件。
  • Bucket
  • Key
  • UploadID
受支援的回應元素:
  • Bucket
  • Key
  • Part
  • StorageClass
  • UploadId
儲存區對映於伺服器上的檔案空間。 使用在列出組件清單作業中發出的金鑰和上傳 ID,來啟動多組件上傳。
列出多組件上傳 列出所指定儲存區的多組件上傳。
  • Bucket
  • Delimiter
  • Key-Marker
  • Max-Uploads
  • Prefix
受支援的回應元素:
  • Bucket
  • Delimiter
  • IsTruncated
  • KeyMarker
  • MaxUploads
  • NextKeyMarker
  • Prefix
  • Upload

該作業會傳回符合使用選用定界字元之指定字首的所有物件。

儲存區對映於伺服器上的檔案空間。 清單包括已建立但未確定或中斷的上傳。