ContentKey

Una ContentKey proporciona un acceso seguro a un recurso. Además de crear una entidad de ContentKey, debe usar una clave de protección para cifrar la clave de contenido que genere. Para obtener más información sobre cómo recuperar la clave de protección, vea Cifrar el recurso (opcional) y las funciones de la API REST.

En este tema encontrará un resumen de la entidad ContentKey y una demostración de cómo ejecutar distintas operaciones con la API de REST de Media Services.

Importante

Al obtener acceso a las entidades de Media Services, debe establecer los campos de encabezado específicos y los valores en las solicitudes HTTP.
Para obtener más información, consulte Configuración del desarrollo de la API de REST de Media Services y Conexión a Media Services con la API de REST de Media Services.

Propiedades de la entidad ContentKey

Propiedad Tipo Descripción
Id

Necesario. Media Services no establece este valor.
Edm.String Identificador único que define el usuario.
Created

Solo lectura. Se establece por Media Services en el momento de la creación.
Edm.DateTime Media Services establece este valor en el momento de la creación.
LastModified

Solo lectura. Establecido por Servicios multimedia.
Edm.DateTime Media Services actualiza este valor después de realizar cualquier cambio de propiedad.
ContentKeyType

Opcional.
Edm.Int32 Valor de enumeración que especifica el tipo de clave de contenido. Los valores válidos son:

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

Opcional.
Edm.String Clave de contenido cifrada con la clave pública del certificado X.509. La longitud máxima es 4000.
Name

Opcional.
Edm.String Nombre descriptivo para ContentKey. La longitud máxima es 4000.
ProtectionKeyId

Opcional.
Edm.String Huella digital del certificado X.509 que se usa para cifrar el almacenamiento, el cifrado común o las claves de cifrado de configuración. El valor se devuelve al invocar la función GetProtectionKeyId. La longitud máxima es 4000.
ProtectionKeyType

Opcional.
Edm.Int32 Valor de enumeración que especifica el tipo de clave de protección. Los valores válidos son:

- X509CertificateThumbprint = 0
Checksum

Opcional.
Edm.String Suma de comprobación de ContentKey. La longitud máxima es 4000.
AuthorizationPolicyId Edm.String Identificador de directiva de autorización asociado a ContentKey.

Creación de ContentKey

Para crear ContentKeys, puede usar una solicitud HTTP POST.

Método URI de solicitud Versión HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys> HTTP/1.1

Solicitud de ejemplo

Para obtener la versión más reciente x-ms-version:, consulte REST de Media Services.

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=" }  
  

Obtener dirección URL de entrega de clave

Obtiene la dirección URL de entrega clave para el método de entrega especificado de la clave de contenido. Un cliente usa la dirección URL devuelta para solicitar una clave AES o una licencia de PlayReady para reproducir el contenido protegido.

Especifique el tipo de la dirección URL que se obtendrá en el cuerpo de la solicitud HTTP. Si va a proteger el contenido con PlayReady, solicite una dirección URL de adquisición de licencias de PlayReady de Media Services, mediante 1 para : keyDeliveryType{"keyDeliveryType":1}. Si va a proteger el contenido con el cifrado de sobre, solicite una dirección URL de adquisición de claves especificando 2 para keyDeliveryType: {"keyDeliveryType":2}.

Método URI de solicitud Versión HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys>('ContentkeyId')/GetKeyDeliveryUrl HTTP/1.1

Muestra

Puede probar el ejemplo siguiente en la pestaña Compositor de Fiddler. En el ejemplo se obtiene la dirección URL de adquisición de licencias de PlayReady.

Encabezados de solicitud:

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  
  

Cuerpo de la solicitud:

{"keyDeliveryType":1}  

Si funciona correctamente, esta operación devuelve un código de estado 200 - Correcto y la dirección URL especificada. Por ejemplo: https://account001.keydelivery.mediaservices.windows.net/PlayReady/.

Lista de ContentKeys

Para recuperar ContentKeys, use una solicitud HTTP GET.

Método URI de solicitud Versión HTTP
GET <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys> HTTP/1.1
Método URI de solicitud Versión HTTP
GET <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys>('contentkeyid') HTTP/1.1
Método URI de solicitud Versión HTTP
GET <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('assetid')/ContentKeys HTTP/1.1

Solicitud de ejemplo

Para obtener la versión más reciente x-ms-version:, consulte REST de Media Services.

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  
  

Eliminación de ContentKey

Para eliminar ContentKeys, puede usar una solicitud DELETE HTTP.

Método URI de solicitud Versión HTTP
Delete <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys>('contentkeyid') HTTP/1.1

Solicitud de ejemplo

Puede probar el ejemplo siguiente en la pestaña Compositor de Fiddler.

Para obtener la versión más reciente x-ms-version:, consulte REST de Media Services.

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  
  

Consulte también

AccessPolicy
Recurso
AssetFile
Trabajo
JobTemplate
Localizador
MediaProcessor
Task
TaskTemplate
Cuotas y limitaciones