資產
Asset
實體包含數位檔案 (包括視訊、音訊、影像、縮圖集合、文字播放軌、隱藏式輔助字幕檔案) 以及這些檔案的相關中繼資料。 將數位檔案上傳到資產之後,可以用於媒體服務編碼和串流工作流程。
當您為資產編碼時,在完成編碼工作時將會產生輸出資產。 在上述檔案中,輸出資產包含描述輸入資產和輸出資產的 XML 中繼資料檔案。 如需詳細資訊,請參閱輸入中繼資料和輸出中繼資料文章。
下列特性適用于媒體服務中的資產:
資產是邏輯單位,代表單一的視聽展示檔。
資產包含一或多個媒體檔案的集合。
資產的檔案位於單一的 Blob 儲存容器中。
資產的一些範例包括:完整電影、電視放映、特定編輯;電影、電視放映、動畫、相機 ISO 檔案或事件的剪輯;電影預告片或促銷影片;廣告;音訊檔案、無線電廣播、播客或聲音檔。
下列特性不適用於媒體服務中的資產:
只是儲存容器
組織及儲存同一份展示檔之多個版本的資料夾
將多個視聽展示檔的批次處理送出到 Azure Media Encoder 的資料夾
例如,不應該將電影、其預告片、廣告及同一部電影的國際剪輯版儲存在資產中。
本主題概述 Asset
實體,也會示範如何使用 Media Services REST API 執行各種作業。
重要
在媒體服務中存取實體時,您必須在 HTTP 要求中設定特定的標頭欄位和值。
如需詳細資訊,請參閱媒體服務 REST API 開發和使用媒體服務 REST API 連線到媒體服務。
Asset 實體屬性
屬性 | 類型 | 說明 |
---|---|---|
Id 唯讀。 建立時由媒體服務設定。 |
String | 唯一識別碼。 |
State 唯讀。 由 Media Services 設定。 |
Edm.Int32 | 描述資產之狀態的列舉值。 有效值是: - 初始化 = 0 - 已發佈 = 1 警告: 動作 Publish 已被取代。 移除檢查資產是否為 Published 狀態的程式碼。- 已刪除 = 2 在刪除之前,資產均為已初始狀態。 |
Created 唯讀。 建立時由媒體服務設定。 |
Edm.DateTime | 此值會在建立時由媒體服務設定。 |
LastModified 唯讀。 由 Media Services 設定。 |
Edm.DateTime | 進行任何屬性變更之後,媒體服務就會更新此值。 |
AlternateId 選擇性。 |
Edm.String | 對應到另內容管理系統中之識別碼的替代識別碼值。 最大長度為 4000。 |
Name 選擇性。 |
Edm.String | 資產的好記名稱。 最大長度為 512。 |
Options 必要。 無法在建立實體之後更新。 |
Edm.Int32 | 描述可用來建立資產之加密選項的列舉值。 有效值是以下清單中的值,而非清單中許多個值的組合: - 無 = 0:不指定任何資產建立選項。 - StorageEncrypted = 1:指定在建立資產時,資產的檔案應該加密以供上傳和儲存。 - CommonEncryptionProtected = 2:指定資產的檔案是使用一般加密方法保護, (例如 PlayReady) 。 - EnvelopeEncryptionProtected = 4 |
Uri 唯讀。 由 Media Services 設定。 |
Edm.String | 指定資產之 Blob 儲存體容器的 URI。 |
Locators 唯讀。 由 Media Services 設定。 |
Locator 實體集 | 傳回的實體集包含連結到指定之 Asset 的所有 Locator 實體。 |
ContentKeys 選擇性。 |
ContentKey 實體集 | 傳回的實體集包含連結到指定之 Asset 的所有 ContentKey 實體。 |
Files 唯讀。 由 Media Services 設定。 |
File 實體集 | 傳回的實體集包含連結到指定之 Asset 的所有 File 實體。 |
ParentAssets 選擇性。 |
上層 Assets 實體集 | 傳回的實體集包含連結到指定之 Asset 的所有上層 Asset 實體。 |
StorageAccountName 選擇性。 無法在建立實體之後更新。 |
Edm.String | 包含資產 Blob 容器的儲存體帳戶名稱。 如果未在建立時指定,媒體服務會設定預設的儲存體帳戶名稱。 |
StorageAccount 唯讀。 由 Media Services 設定。 |
StorageAccount 實體集 | 傳回的實體集包含連結到指定之 Asset 的所有 StorageAccount 實體。 |
DeliveryPolicies |
AssetDeliveryPolicy 實體集 | 傳回的實體集會包含與資產相關聯的傳遞原則。 |
FormatOption |
Edm.Int32 | 指定可以建立資產的不同格式選項。 允許的值為:0 (預設) - 未指定資產格式選項;1 - 指定資產的格式將會是 AdaptiveStreaming。 |
建立資產
資產可以使用 POST HTTP 要求及指定屬性值來建立。
方法 | 要求 URI | HTTP 版本 |
---|---|---|
POST | HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Assets > | HTTP/1.1 |
範例要求
若要取得最新的 x-ms-version:
,請參閱 媒體服務 REST。
POST https://<accountname>.restv2.<location>.media.azure.net/api/Assets HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.19
Authorization: Bearer <token value>
Host: media.windows.net
Content-Length: 27
Expect: 100-continue
{ "Name" : "NewJSONAsset" }
列出資產
資產可以使用 GET HTTP 要求擷取。
方法 | 要求 URI | HTTP 版本 |
---|---|---|
GET | HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Assets > | HTTP/1.1 |
方法 | 要求 URI | HTTP 版本 |
---|---|---|
GET | HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Assets ('assetid > ') | HTTP/1.1 |
範例要求
若要取得最新的 x-ms-version:
,請參閱 媒體服務 REST。
GET https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb:cid:UUID:fccb8cd9-7afa-4365-a36e-d5d68409bb64') HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.19
Authorization: Bearer <token value>
Host: media.windows.net
Content-Length: 0
更新資產
資產可以使用 MERGE HTTP 要求和您要變更的特定屬性來更新。
方法 | 要求 URI | HTTP 版本 |
---|---|---|
MERGE | HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Assets ('assetid > ') | HTTP/1.1 |
範例要求
若要取得最新的 x-ms-version:
,請參閱 媒體服務 REST。
MERGE https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb:cid:UUID:80782407-3f87-4e60-a43e-5e4454232f60') HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.19
Authorization: Bearer <token value>
Host: media.windows.net
Content-Length: 21
Expect: 100-continue
{"Name" : "NewName" }
刪除資產
可以參考資產識別值來刪除資產。 刪除資產時,所有定位器都會由Microsoft Azure 媒體服務刪除。 如果資產具有原始定位器,這些定位器也會遭到撤銷和刪除。 會刪除 ContentKey 的所有連結,以及未連結到其他資產的任何 ContentKey。
方法 | 要求 URI | HTTP 版本 |
---|---|---|
刪除 | HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Assets ('assetid > ') | HTTP/1.1 |
範例要求
若要取得最新的 x-ms-version:
,請參閱 媒體服務 REST。
DELETE https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb:cid:UUID:fccb8cd9-7afa-4365-a36e-d5d68409bb64') HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.19
Authorization: Bearer <token value>
Host: media.windows.net
Content-Length: 0
發行資產
注意
Publish
動作已被取代。 從最新的媒體服務版本開始, Publish
不應該使用。
如果您的程式碼使用 Publish
,請注意下列考量:
-
Publish
動作不會刪除與資產相關聯的定位器。 您必須在呼叫Publish
後明確刪除程式碼中的定位器。 -
Publish
動作不會將資產狀態設定為Published
。 移除檢查資產是否為Published
狀態的程式碼。 目前資產只能有Initialized
或Deleted
狀態。
將內容金鑰連結到資產
您可以藉由參考資產識別碼與 HTTP POST 要求,將 ContentKey 連結至資產。 要求的本文中必須包含 ContentKey 的 URI。 只能連結與資產之 CreationOptions 中指定之類型一樣的 ContentKey 類型。 例如,Asset 的選項若設定為 StorageEncrypted(1),ContentKey 的類型必須是 StorageEncryption(1)。
方法 | 要求 URI | HTTP 版本 |
---|---|---|
POST | HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Assets ('Asset > Id') /$links/ContentKeys | HTTP/1.1 |
範例要求
若要取得最新的 x-ms-version:
,請參閱 媒體服務 REST。
POST https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb:cid:UUID:3ac4c50a-09c1-4ea3-b39c-c336d97f5a13')/$links/ContentKeys HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.19
Authorization: Bearer <token value>
Host: media.windows.net
Content-Length: 121
Expect: 100-continue
{ "uri": "https://<accountname>.restv2.<location>.media.azure.net/api/ContentKeys('nb%3Akid%3AUUID%3A5db89211-c9d9-404b-a6bc-3e6b91c7a214')"}
移除 ContentKey 連結
您可以藉由參考 HTTP DELETE 要求中的資產識別碼和 ContentKey 識別碼,從資產移除 ContentKey 連結。 如果 ContentKey 並未連結到其他任何資產,則會遭到刪除。
方法 | 要求 URI | HTTP 版本 |
---|---|---|
刪除 | HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Assets ('Asset > Id') /$links/ContentKeys ('ContentKey Id') | HTTP/1.1 |
範例要求
若要取得最新的 x-ms-version:
,請參閱 媒體服務 REST。
DELETE https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb:cid:UUID:3ac4c50a-09c1-4ea3-b39c-c336d97f5a13')/$links/ContentKeys('nb:kid:UUID:5db89211-c9d9-404b-a6bc-3e6b91c7a214') HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.19
Authorization: Bearer <token value>
Host: media.windows.net
Content-Length: 0
另請參閱
AccessPolicy
ContentKey
AssetFile
工作 (Job)
JobTemplate
定位
MediaProcessor
Task
TaskTemplate
使用 Media Services REST API 擷取資產
配額和限制