ContentKey
ContentKey обеспечивает безопасный доступ к ресурсу. В дополнение к созданию сущности ContentKey необходимо также использовать ключ защиты для шифрования создаваемого ключа контента. Дополнительные сведения о получении ключа защиты см. в разделах Шифрование ресурса (необязательно) и Функции REST API.
В данном разделе приводится описание сущности ContentKey
и демонстрируется выполнение различных операций с API REST служб мультимедиа.
Важно!
При доступе к сущностям в службах мультимедиа необходимо задать определенные поля и значения заголовков в 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 | Отпечаток сертификата Х.509, который используется для шифрования хранилища, общего шифрования или конфигурации ключей шифрования. Это значение возвращается при вызове функции GetProtectionKeyId. Максимальная длина — 4000. |
ProtectionKeyType Необязательный элемент. |
Edm.Int32 | Значение перечисления, которое указывает на тип ключа защиты. Допустимые значения: - X509CertificateThumbprint = 0 |
Checksum Необязательный элемент. |
Edm.String | Контрольная сумма ContentKey. Максимальная длина — 4000. |
AuthorizationPolicyId |
Edm.String | Идентификатор политики авторизации, связанный с ContentKey. |
Создание ContentKey
ContentKey может быть создан с помощью HTTP-запроса POST.
Метод | Универсальный код ресурса (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, чтобы воспроизвести защищенное содержимое.
Укажите тип URL-адреса, который необходимо получить в тексте HTTP-запроса. Если вы защищаете содержимое с помощью PlayReady, запросите URL-адрес получения лицензии PlayReady служб мультимедиа, используя 1
для keyDeliveryType
: {"keyDeliveryType":1}
. Если вы защищаете содержимое с помощью шифрования конверта, запросите URL-адрес получения ключа, указав 2
для keyDeliveryType
: {"keyDeliveryType":2}
.
Метод | Универсальный код ресурса (URI) запроса | Версия HTTP |
---|---|---|
POST | <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys>('ContentkeyId')/GetKeyDeliveryUrl | HTTP/1.1 |
Пример
Вы можете опробовать следующий пример на вкладке Fiddler's Composer. В этом примере возвращается URL-адрес приобретения лицензии PlayReady.
Заголовки запроса:
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 можно получить с помощью HTTP-запроса GET.
Метод | Универсальный код ресурса (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 можно удалить с помощью HTTP-запроса DELETE.
Метод | Универсальный код ресурса (URI) запроса | Версия HTTP |
---|---|---|
DELETE | <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys>('contentkeyid') | HTTP/1.1 |
Пример запроса
Вы можете опробовать следующий пример на вкладке Fiddler's Composer.
Сведения о том, как получить последнюю версию 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
Задание
JobTemplate
Локатор
MediaProcessor
Задача
TaskTemplate
Квоты и ограничения