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