你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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 关联的授权策略 ID。 |
创建 ContentKey
可以使用 POST HTTP 请求创建 ContentKey。
方法 | 请求 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 保护内容,请使用 请求媒体服务 PlayReady 许可证获取 URL 1
keyDeliveryType
: {"keyDeliveryType":1}
。 如果要使用信封加密保护内容,请通过指定 2
来 keyDeliveryType
请求密钥获取 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 版本 |
---|---|---|
DELETE | 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
作业
作业模板
定位
MediaProcessor
任务
任务模板
配额和限制