附件

Azure Cosmos DB 是一個全域散發的多模型資料庫,可支援檔、圖形、cassandra 和資料表資料模型。 本節中的內容是透過 REST 使用SQL API來管理附件資源

附件是特殊文件,包含具有外部 Blob 或媒體檔案的參考和相關的中繼資料。

開發人員可以選擇將:

  • 由 Azure Cosmos DB 管理的附件媒體/Blob 或
  • 使用外部 Blob 服務提供者儲存它,例如 OneDrive、Dropbox 等。並將附件的參考中繼資料儲存在 Azure Cosmos DB 中。

附件資源是以 Azure Cosmos DB REST 資源模型中的附件表示。 附件資源有固定的資料結構。 無論原始媒體儲存在何處,都需要下列屬性。

下列範例說明文件附件的 JSON 結構。

{    
   "id":"image13d65101-90c4-4c2a-a423-fbf221c73233",  
   "contentType":"image/jpg",  
   "media":"www.bing.com",  
   "_rid":"rnYYAMVFUAUBAAAAAAAAAEC+LNM=",  
   "_ts":1408056025,  
   "_self":"dbs\/rnYYAA==\/colls\/rnYYAMVFUAU=\/docs\/rnYYAMVFUAUBAAAAAAAAAA==\/attachments\/rnYYAMVFUAUBAAAAAAAAAEC+LNM=",  
   "_etag":"00002a00-0000-0000-0000-53ed3ad90000"  
}  
  
屬性 描述
id 必要。 它是使用者可設定的屬性。 這是可識別附件的唯一名稱,也就是說,沒有兩個附件共用相同檔的相同識別碼。 識別碼不能超過 255 個字元。
contentType 必要。 它是使用者可設定的屬性。 指定附件的內容類型。 將附件位提交為本文時,Cosmos DB 會將 設定 contentType 為標頭中設定的類型 Content-Type 集。
Media 必要。 它是附件所在的 URL 連結或檔案路徑。
_rid 它是系統產生的屬性。 資源識別碼 () _rid 是資源模型上每個資源堆疊的階層式唯一識別碼。 供內部進行放置和導覽附件資源時使用。
_ts 它是系統產生的屬性。 代表資源的上次更新時間戳記。 值為時間戳記。
_self 它是系統產生的屬性。 代表資源的唯一可定址 URI。
_etag 它是系統產生的屬性,指定開放式並行控制所需的資源 etag。

常見的回應標頭

下列資訊常見於與附件相關的所有回應:

標頭 Description
x-ms-max-media-storage-usage-mb 使用 Cosmos DB 附件儲存體來儲存原始媒體時,此標頭會顯示帳戶的分配附件儲存體配額總計。
x-ms-media-storage-usage-mb 使用 Cosmos DB 附件儲存體來儲存原始媒體時,此標頭會顯示已取用的目前附件儲存體。

工作

您可以使用附件來執行這些工作:

附件內容無法編制索引或可搜尋;附件資源屬性會編制索引並可供搜尋。

這些作業類似于 Documents的作業。 它們不會對檔執行作業,而是針對特定檔下的附件資源路徑執行。 因此,我們不再詳述每個作業。 此外,在下一章節中,我們會討論如何以原始媒體張貼及僅中繼資料張貼來建立附件。

另請參閱