共用方式為


ContentKey

ContentKey 提供資產的安全存取。 除了建立 ContentKey 實體之外,您還必須使用保護金鑰將產生的內容金鑰加密。 如需擷取保護金鑰的詳細資訊,請參閱 加密資產 (選擇性) REST API 函式

本主題概述 ContentKey 實體,也會示範如何使用 Media Services REST API 執行各種作業。

重要

在媒體服務中存取實體時,您必須在 HTTP 要求中設定特定的標頭欄位和值。
如需詳細資訊,請參閱媒體服務 REST API 開發和使用媒體服務 REST API 連線到媒體服務

ContentKey 實體屬性

屬性 類型 描述
Id

必要。 這個值不是由媒體服務所設定。
Edm.String 使用者定義的唯一識別碼。
Created

唯讀。 建立時由媒體服務設定。
Edm.DateTime 此值會在建立時由媒體服務設定。
LastModified

唯讀。 由 Media Services 設定。
Edm.DateTime 進行任何屬性變更之後,媒體服務就會更新此值。
ContentKeyType

選擇性。
Edm.Int32 指定內容金鑰類型的列舉值。 有效值為:

- CommonEncryption = 0
- StorageEncryption = 1
- ConfigurationEncryption = 2
- EnvelopeEncryption = 4
EncryptedContentKey

選擇性。
Edm.String 使用 X.509 憑證之公開金鑰加密的內容金鑰。 最大長度為 4000。
Name

選擇性。
Edm.String ContentKey 的好記名稱。 最大長度為 4000。
ProtectionKeyId

選擇性。
Edm.String 用來將儲存體、一般加密或組態加密金鑰加密之 X.509 憑證的指紋。 呼叫 GetProtectionKeyId 函數時會傳回此值給您。 最大長度為 4000。
ProtectionKeyType

選擇性。
Edm.Int32 指定保護金鑰類型的列舉值。 有效值為:

- X509CertificateThumbprint = 0
Checksum

選擇性。
Edm.String ContentKey 的總和檢查碼。 最大長度為 4000。
AuthorizationPolicyId Edm.String 與 ContentKey 相關聯的授權原則識別碼。

建立 ContentKey

ContentKey 可以使用 POST HTTP 要求來建立。

方法 要求 URI HTTP 版本
POST HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/ContentKeys > HTTP/1.1

範例要求

若要取得最新的 x-ms-version: ,請參閱 媒體服務 REST

POST https://<accountname>.restv2.<location>.media.azure.net/api/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: 572  
Expect: 100-continue  
  
{"Id" : "nb:kid:UUID:316d14d4-b603-4d90-b8db-0fede8aa48f8", "ContentKeyType" : 1, "EncryptedContentKey" : "Y4NPej7heOFa2vsd8ZEOcjjpu/qOq3RJ6GRfxa8CCwtAM83d6J2mKOeQFUmMyVXUSsBCCOdufmieTKi+hOUtNAbyNM4lY4AXI537b9GaY8oSeje0NGU8+QCOuf7jGdRac5B9uIk7WwD76RAJnqyep6U/OdvQV4RLvvZ9w7nO4bY8RHaUaLxC2u4aIRRaZtLu5rm8GKBPy87OzQVXNgnLM01I8s3Z4wJ3i7jXqkknDy4VkIyLBSQvIvUzxYHeNdMVWDmS+jPN9ScVmolUwGzH1A23td8UWFHOjTjXHLjNm5Yq+7MIOoaxeMlKPYXRFKofRY8Qh5o5tqvycSAJ9KUqfg==", "ProtectionKeyId" : "7D9BB04D9D0A4A24800CADBFEF232689E048F69C", "ProtectionKeyType" : 1, "Checksum" : "TfXtjCIlq1Y=" }  
  

取得金鑰傳遞 URL

取得內容金鑰指定傳遞方法的金鑰傳遞 URL。 用戶端會使用傳回的 URL 要求 AES 金鑰或 PlayReady 授權,以便播放受保護的內容。

指定要在 HTTP 要求主體中取得的 URL 類型。 如果您要使用 PlayReady 保護內容,請使用 要求 keyDeliveryType 媒體服務 PlayReady 授權取得 URL:。 1{"keyDeliveryType":1} 如果您要使用信封加密來保護內容,請針對 指定 2keyDeliveryType 來要求金鑰取得 URL: {"keyDeliveryType":2}

方法 要求 URI HTTP 版本
POST HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/ContentKeys ('ContentkeyId> ') /GetKeyDeliveryUrl HTTP/1.1

範例

您可以在 Fiddler的 [編輯器] 索引標籤中試用下列範例。此範例會取得 PlayReady 授權取得 URL。

要求標頭:

POST https://<accountname>.restv2.<location>.media.azure.net/api/ContentKeys('nb:kid:UUID:14e7e815-5db3-4027-9578-a55a416a3367')/GetKeyDeliveryUrl HTTP/1.1  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json  
Accept-Charset: UTF-8  
User-Agent: Microsoft ADO.NET Data Services  
Authorization:  Bearer <token value>  
x-ms-version: 2.19  
Content-Type: application/json  
Host: media.windows.net  
Content-Length: 21  
  

要求本文:

{"keyDeliveryType":1}  

如果成功,此作業會傳回 [200 確定]狀態碼和指定的 URL。 例如:https://account001.keydelivery.mediaservices.windows.net/PlayReady/

列出 ContentKey

ContentKey 是使用 GET HTTP 要求來擷取。

方法 要求 URI HTTP 版本
GET HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/ContentKeys > HTTP/1.1
方法 要求 URI HTTP 版本
GET HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/ContentKeys ('contentkeyid> ') HTTP/1.1
方法 要求 URI HTTP 版本
GET HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/Assets ('assetid > ') /ContentKeys HTTP/1.1

範例要求

若要取得最新的 x-ms-version: ,請參閱 媒體服務 REST

GET https://<accountname>.restv2.<location>.media.azure.net/api/ContentKeys('nb:kid:UUID:58b522a5-be4e-4988-8958-ee0cdb179273') 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  
  

刪除 ContentKey

ContentKey 會透過 DELETE HTTP 要求來刪除。

方法 要求 URI HTTP 版本
刪除 HTTPs:// < accountname.restv2 > 。 <location.media.azure.net/api/ContentKeys ('contentkeyid> ') HTTP/1.1

範例要求

您可以在 Fiddler的 [編輯器] 索引標籤中試用下列範例。

若要取得最新的 x-ms-version: ,請參閱 媒體服務 REST

DELETE https://<accountname>.restv2.<location>.media.azure.net/api/ContentKeys('nb:kid:UUID:58b522a5-be4e-4988-8958-ee0cdb179273') 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
資產
AssetFile
工作 (Job)
JobTemplate
定位
MediaProcessor
Task
TaskTemplate
配額和限制