Streaming Policies - Create
Creación de una directiva de streaming en la Media Services de streaming
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies/{streamingPolicyName}?api-version=2020-05-01
Parámetros de identificador URI
| Name | In | Required | Type | Description |
|---|---|---|---|---|
|
account
|
path | True |
|
Nombre Media Services cuenta. |
|
resource
|
path | True |
|
Nombre del grupo de recursos dentro de la suscripción de Azure. |
|
streaming
|
path | True |
|
Nombre de la directiva de streaming. |
|
subscription
|
path | True |
|
Identificador único de una Microsoft Azure suscripción. |
|
api-version
|
query | True |
|
La versión de la API que se va a usar con la solicitud de cliente. |
Cuerpo de la solicitud
| Name | Type | Description |
|---|---|---|
| properties.commonEncryptionCbcs |
Configuración de CommonEncryptionCbcs |
|
| properties.commonEncryptionCenc |
Configuración de CommonEncryptionCenc |
|
| properties.defaultContentKeyPolicyName |
|
ContentKey predeterminada que utiliza la directiva de streaming actual |
| properties.envelopeEncryption |
Configuración de EnvelopeEncryption |
|
| properties.noEncryption |
Configuraciones de NoEncryption |
Respuestas
| Name | Type | Description |
|---|---|---|
| 201 Created |
Creado |
|
| Other Status Codes |
Información detallada del error. |
Ejemplos
Creates a Streaming Policy with clear streaming
Sample Request
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/streamingPolicies/UserCreatedClearStreamingPolicy?api-version=2020-05-01
{
"properties": {
"noEncryption": {
"enabledProtocols": {
"download": true,
"dash": true,
"hls": true,
"smoothStreaming": true
}
}
}
}
Sample Response
{
"name": "UserCreatedClearStreamingPolicy",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedClearStreamingPolicy",
"type": "Microsoft.Media/mediaservices/streamingPolicies",
"properties": {
"created": "2018-08-08T18:29:31.1535417Z",
"noEncryption": {
"enabledProtocols": {
"download": true,
"dash": true,
"hls": true,
"smoothStreaming": true
}
}
}
}
Creates a Streaming Policy with commonEncryptionCbcs only
Sample Request
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly?api-version=2020-05-01
{
"properties": {
"defaultContentKeyPolicyName": "PolicyWithMultipleOptions",
"commonEncryptionCbcs": {
"enabledProtocols": {
"download": false,
"dash": false,
"hls": true,
"smoothStreaming": false
},
"contentKeys": {
"defaultKey": {
"label": "cbcsDefaultKey"
}
},
"drm": {
"fairPlay": {
"customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}",
"allowPersistentLicense": true
}
}
}
}
}
Sample Response
{
"name": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly",
"type": "Microsoft.Media/mediaservices/streamingPolicies",
"properties": {
"created": "2018-08-08T18:29:31.6197199Z",
"defaultContentKeyPolicyName": "PolicyWithMultipleOptions",
"commonEncryptionCbcs": {
"enabledProtocols": {
"download": false,
"dash": false,
"hls": true,
"smoothStreaming": false
},
"clearTracks": [],
"contentKeys": {
"defaultKey": {
"label": "cbcsDefaultKey"
},
"keyToTrackMappings": []
},
"drm": {
"fairPlay": {
"customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}",
"allowPersistentLicense": true
}
}
}
}
}
Creates a Streaming Policy with commonEncryptionCenc only
Sample Request
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly?api-version=2020-05-01
{
"properties": {
"defaultContentKeyPolicyName": "PolicyWithPlayReadyOptionAndOpenRestriction",
"commonEncryptionCenc": {
"enabledProtocols": {
"download": false,
"dash": true,
"hls": false,
"smoothStreaming": true
},
"clearTracks": [
{
"trackSelections": [
{
"property": "FourCC",
"operation": "Equal",
"value": "hev1"
}
]
}
],
"contentKeys": {
"defaultKey": {
"label": "cencDefaultKey"
}
},
"drm": {
"playReady": {
"customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}",
"playReadyCustomAttributes": "PlayReady CustomAttributes"
},
"widevine": {
"customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId"
}
}
}
}
}
Sample Response
{
"name": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly",
"type": "Microsoft.Media/mediaservices/streamingPolicies",
"properties": {
"created": "2018-08-08T18:29:31.4678543Z",
"defaultContentKeyPolicyName": "PolicyWithPlayReadyOptionAndOpenRestriction",
"commonEncryptionCenc": {
"enabledProtocols": {
"download": false,
"dash": true,
"hls": false,
"smoothStreaming": true
},
"clearTracks": [
{
"trackSelections": [
{
"property": "FourCC",
"operation": "Equal",
"value": "hev1"
}
]
}
],
"contentKeys": {
"defaultKey": {
"label": "cencDefaultKey"
},
"keyToTrackMappings": []
},
"drm": {
"playReady": {
"customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}",
"playReadyCustomAttributes": "PlayReady CustomAttributes"
},
"widevine": {
"customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId"
}
}
}
}
}
Creates a Streaming Policy with envelopeEncryption only
Sample Request
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly?api-version=2020-05-01
{
"properties": {
"defaultContentKeyPolicyName": "PolicyWithClearKeyOptionAndTokenRestriction",
"envelopeEncryption": {
"enabledProtocols": {
"download": false,
"dash": true,
"hls": true,
"smoothStreaming": true
},
"contentKeys": {
"defaultKey": {
"label": "aesDefaultKey"
}
},
"customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}"
}
}
}
Sample Response
{
"name": "UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly",
"type": "Microsoft.Media/mediaservices/streamingPolicies",
"properties": {
"created": "2018-08-08T18:29:31.3055712Z",
"defaultContentKeyPolicyName": "PolicyWithClearKeyOptionAndTokenRestriction",
"envelopeEncryption": {
"enabledProtocols": {
"download": false,
"dash": true,
"hls": true,
"smoothStreaming": true
},
"clearTracks": [],
"contentKeys": {
"defaultKey": {
"label": "aesDefaultKey"
},
"keyToTrackMappings": []
},
"customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}"
}
}
}
Creates a Streaming Policy with secure streaming
Sample Request
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicy?api-version=2020-05-01
{
"properties": {
"defaultContentKeyPolicyName": "PolicyWithMultipleOptions",
"envelopeEncryption": {
"enabledProtocols": {
"download": false,
"dash": true,
"hls": true,
"smoothStreaming": true
},
"contentKeys": {
"defaultKey": {
"label": "aesDefaultKey"
}
},
"customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}"
},
"commonEncryptionCenc": {
"enabledProtocols": {
"download": false,
"dash": true,
"hls": false,
"smoothStreaming": true
},
"clearTracks": [
{
"trackSelections": [
{
"property": "FourCC",
"operation": "Equal",
"value": "hev1"
}
]
}
],
"contentKeys": {
"defaultKey": {
"label": "cencDefaultKey"
}
},
"drm": {
"playReady": {
"customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}",
"playReadyCustomAttributes": "PlayReady CustomAttributes"
},
"widevine": {
"customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId"
}
}
},
"commonEncryptionCbcs": {
"enabledProtocols": {
"download": false,
"dash": false,
"hls": true,
"smoothStreaming": false
},
"contentKeys": {
"defaultKey": {
"label": "cbcsDefaultKey"
}
},
"drm": {
"fairPlay": {
"customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}",
"allowPersistentLicense": true
}
}
}
}
}
Sample Response
{
"name": "UserCreatedSecureStreamingPolicy",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicy",
"type": "Microsoft.Media/mediaservices/streamingPolicies",
"properties": {
"created": "2018-08-08T18:29:31.7715696Z",
"defaultContentKeyPolicyName": "PolicyWithMultipleOptions",
"envelopeEncryption": {
"enabledProtocols": {
"download": false,
"dash": true,
"hls": true,
"smoothStreaming": true
},
"clearTracks": [],
"contentKeys": {
"defaultKey": {
"label": "aesDefaultKey"
},
"keyToTrackMappings": []
},
"customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}"
},
"commonEncryptionCenc": {
"enabledProtocols": {
"download": false,
"dash": true,
"hls": false,
"smoothStreaming": true
},
"clearTracks": [
{
"trackSelections": [
{
"property": "FourCC",
"operation": "Equal",
"value": "hev1"
}
]
}
],
"contentKeys": {
"defaultKey": {
"label": "cencDefaultKey"
},
"keyToTrackMappings": []
},
"drm": {
"playReady": {
"customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}",
"playReadyCustomAttributes": "PlayReady CustomAttributes"
},
"widevine": {
"customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId"
}
}
},
"commonEncryptionCbcs": {
"enabledProtocols": {
"download": false,
"dash": false,
"hls": true,
"smoothStreaming": false
},
"clearTracks": [],
"contentKeys": {
"defaultKey": {
"label": "cbcsDefaultKey"
},
"keyToTrackMappings": []
},
"drm": {
"fairPlay": {
"customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}",
"allowPersistentLicense": true
}
}
}
}
}
Definiciones
|
Api |
Error de API. |
|
Cbcs |
Clase para especificar configuraciones DRM del esquema CommonEncryptionCbcs en la directiva de streaming |
|
Cenc |
Clase para especificar configuraciones DRM del esquema CommonEncryptionCenc en la directiva de streaming |
|
Common |
Clase para el esquema de cifrado CommonEncryptionCbcs |
|
Common |
Clase para el esquema de cifrado de sobres |
|
created |
Tipo de identidad que creó el recurso. |
|
Default |
Clase para especificar las propiedades de la clave de contenido predeterminada para cada esquema de cifrado |
|
Enabled |
Clase para especificar qué protocolos están habilitados |
|
Envelope |
Clase para el esquema de cifrado EnvelopeEncryption |
|
No |
Clase para el esquema NoEncryption |
|
OData |
Información sobre un error. |
|
Streaming |
Un recurso de directiva de streaming |
|
Streaming |
Clase para especificar las propiedades de la clave de contenido |
|
Streaming |
Clase para especificar las propiedades de todas las claves de contenido en la directiva de streaming |
|
Streaming |
Clase para especificar las configuraciones de FairPlay en la directiva de streaming |
|
Streaming |
Clase para especificar configuraciones de PlayReady en la directiva de streaming |
|
Streaming |
Clase para especificar configuraciones de Widevine en la directiva de streaming |
|
system |
Metadatos relacionados con la creación y la última modificación del recurso. |
|
Track |
Seguimiento de la operación de condición de propiedad |
|
Track |
Clase para especificar una condición de propiedad de seguimiento |
|
Track |
Seguimiento del tipo de propiedad |
|
Track |
Clase para seleccionar una pista |
ApiError
Error de API.
| Name | Type | Description |
|---|---|---|
| error |
Propiedades de error. |
CbcsDrmConfiguration
Clase para especificar configuraciones DRM del esquema CommonEncryptionCbcs en la directiva de streaming
| Name | Type | Description |
|---|---|---|
| fairPlay |
Configuraciones de FairPlay |
|
| playReady |
Configuraciones de PlayReady |
|
| widevine |
Configuraciones de Widevine |
CencDrmConfiguration
Clase para especificar configuraciones DRM del esquema CommonEncryptionCenc en la directiva de streaming
| Name | Type | Description |
|---|---|---|
| playReady |
Configuraciones de PlayReady |
|
| widevine |
Configuraciones de Widevine |
CommonEncryptionCbcs
Clase para el esquema de cifrado CommonEncryptionCbcs
| Name | Type | Description |
|---|---|---|
| clearTracks |
Representación de las pistas que no se deben cifrar |
|
| contentKeys |
Representación de la clave de contenido predeterminada para cada esquema de cifrado y claves de contenido independientes para pistas específicas |
|
| drm |
Configuración de DRM para el esquema de cifrado actual |
|
| enabledProtocols |
Representación de protocolos admitidos |
CommonEncryptionCenc
Clase para el esquema de cifrado de sobres
| Name | Type | Description |
|---|---|---|
| clearTracks |
Representación de las pistas que no se deben cifrar |
|
| contentKeys |
Representación de la clave de contenido predeterminada para cada esquema de cifrado y claves de contenido independientes para pistas específicas |
|
| drm |
Configuración de DRM para el esquema de cifrado CommonEncryptionCenc |
|
| enabledProtocols |
Representación de protocolos admitidos |
createdByType
Tipo de identidad que creó el recurso.
| Name | Type | Description |
|---|---|---|
| Application |
|
|
| Key |
|
|
| ManagedIdentity |
|
|
| User |
|
DefaultKey
Clase para especificar las propiedades de la clave de contenido predeterminada para cada esquema de cifrado
| Name | Type | Description |
|---|---|---|
| label |
|
La etiqueta se puede usar para especificar la clave de contenido al crear un localizador de streaming |
| policyName |
|
Directiva usada por clave predeterminada |
EnabledProtocols
Clase para especificar qué protocolos están habilitados
| Name | Type | Description |
|---|---|---|
| dash |
|
Habilitar o no el protocolo DASH |
| download |
|
Habilitar o no el protocolo de descarga |
| hls |
|
Habilitar o no el protocolo HLS |
| smoothStreaming |
|
Habilitar el protocolo SmoothStreaming o no |
EnvelopeEncryption
Clase para el esquema de cifrado EnvelopeEncryption
| Name | Type | Description |
|---|---|---|
| clearTracks |
Representación de las pistas que no se deben cifrar |
|
| contentKeys |
Representación de la clave de contenido predeterminada para cada esquema de cifrado y claves de contenido independientes para pistas específicas |
|
| customKeyAcquisitionUrlTemplate |
|
Plantilla para la dirección URL del servicio personalizado que entrega claves a los reproductores de usuario final. No se requiere cuando se usa Azure Media Services para la emisión de claves. La plantilla admite tokens reemplazables que el servicio actualizará en tiempo de ejecución con el valor específico de la solicitud. Los valores de token que se admiten actualmente son {AlternativeMediaId}, que se reemplaza por el valor de StreamingLocatorId.AlternativeMediaId, y {ContentKeyId}, que se reemplaza por el valor de identificador de la clave solicitada. |
| enabledProtocols |
Representación de protocolos admitidos |
NoEncryption
Clase para el esquema NoEncryption
| Name | Type | Description |
|---|---|---|
| enabledProtocols |
Representación de protocolos admitidos |
ODataError
Información sobre un error.
| Name | Type | Description |
|---|---|---|
| code |
|
Nombre de error independiente del idioma. |
| details |
Los detalles del error. |
|
| message |
|
El mensaje de error. |
| target |
|
Destino del error (por ejemplo, el nombre de la propiedad en error). |
StreamingPolicy
Un recurso de directiva de streaming
| Name | Type | Description |
|---|---|---|
| id |
|
Identificador de recurso completo del recurso. Por ejemplo, /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} |
| name |
|
Nombre del recurso. |
| properties.commonEncryptionCbcs |
Configuración de CommonEncryptionCbcs |
|
| properties.commonEncryptionCenc |
Configuración de CommonEncryptionCenc |
|
| properties.created |
|
Hora de creación de la directiva de streaming |
| properties.defaultContentKeyPolicyName |
|
ContentKey predeterminada que utiliza la directiva de streaming actual |
| properties.envelopeEncryption |
Configuración de EnvelopeEncryption |
|
| properties.noEncryption |
Configuraciones de NoEncryption |
|
| systemData |
Metadatos del sistema relacionados con este recurso. |
|
| type |
|
Tipo de recurso. Por ejemplo, "Microsoft.Compute/virtualMachines" o "Microsoft. Storage/storageAccounts" |
StreamingPolicyContentKey
Clase para especificar las propiedades de la clave de contenido
| Name | Type | Description |
|---|---|---|
| label |
|
La etiqueta se puede usar para especificar la clave de contenido al crear un localizador de streaming |
| policyName |
|
Directiva usada por la clave de contenido |
| tracks |
Seguimientos que usan esta clave de contenido |
StreamingPolicyContentKeys
Clase para especificar las propiedades de todas las claves de contenido en la directiva de streaming
| Name | Type | Description |
|---|---|---|
| defaultKey |
Clave de contenido predeterminada para un esquema de cifrado |
|
| keyToTrackMappings |
La representación de pistas necesita una clave de contenido independiente |
StreamingPolicyFairPlayConfiguration
Clase para especificar las configuraciones de FairPlay en la directiva de streaming
| Name | Type | Description |
|---|---|---|
| allowPersistentLicense |
|
Todas las licencias deben ser persistentes o no |
| customLicenseAcquisitionUrlTemplate |
|
Plantilla para la dirección URL del servicio personalizado que entrega licencias a los reproductores de usuario final. No se requiere cuando se usa Azure Media Services para emitir las licencias. La plantilla admite tokens reemplazables que el servicio actualizará en tiempo de ejecución con el valor específico de la solicitud. Los valores de token que se admiten actualmente son {AlternativeMediaId}, que se reemplaza por el valor de StreamingLocatorId.AlternativeMediaId, y {ContentKeyId}, que se reemplaza por el valor de identificador de la clave solicitada. |
StreamingPolicyPlayReadyConfiguration
Clase para especificar configuraciones de PlayReady en la directiva de streaming
| Name | Type | Description |
|---|---|---|
| customLicenseAcquisitionUrlTemplate |
|
Plantilla para la dirección URL del servicio personalizado que entrega licencias a los reproductores de usuario final. No se requiere cuando se usa Azure Media Services para emitir las licencias. La plantilla admite tokens reemplazables que el servicio actualizará en tiempo de ejecución con el valor específico de la solicitud. Los valores de token que se admiten actualmente son {AlternativeMediaId}, que se reemplaza por el valor de StreamingLocatorId.AlternativeMediaId, y {ContentKeyId}, que se reemplaza por el valor de identificador de la clave solicitada. |
| playReadyCustomAttributes |
|
Atributos personalizados para PlayReady |
StreamingPolicyWidevineConfiguration
Clase para especificar configuraciones de Widevine en la directiva de streaming
| Name | Type | Description |
|---|---|---|
| customLicenseAcquisitionUrlTemplate |
|
Plantilla para la dirección URL del servicio personalizado que entrega licencias a los reproductores de usuario final. No se requiere cuando se usa Azure Media Services para emitir las licencias. La plantilla admite tokens reemplazables que el servicio actualizará en tiempo de ejecución con el valor específico de la solicitud. Los valores de token que se admiten actualmente son {AlternativeMediaId}, que se reemplaza por el valor de StreamingLocatorId.AlternativeMediaId, y {ContentKeyId}, que se reemplaza por el valor de identificador de la clave solicitada. |
systemData
Metadatos relacionados con la creación y la última modificación del recurso.
| Name | Type | Description |
|---|---|---|
| createdAt |
|
Marca de tiempo de creación de recursos (UTC). |
| createdBy |
|
Identidad que creó el recurso. |
| createdByType |
Tipo de identidad que creó el recurso. |
|
| lastModifiedAt |
|
Marca de tiempo de la última modificación del recurso (UTC) |
| lastModifiedBy |
|
Identidad que modificó por última vez el recurso. |
| lastModifiedByType |
Tipo de identidad que modificó por última vez el recurso. |
TrackPropertyCompareOperation
Seguimiento de la operación de condición de propiedad
| Name | Type | Description |
|---|---|---|
| Equal |
|
Operación igual |
| Unknown |
|
Operación de comparación de propiedades de pista desconocidas |
TrackPropertyCondition
Clase para especificar una condición de propiedad de seguimiento
| Name | Type | Description |
|---|---|---|
| operation |
Seguimiento de la operación de condición de propiedad |
|
| property |
Realizar un seguimiento del tipo de propiedad |
|
| value |
|
Seguimiento del valor de propiedad |
TrackPropertyType
Seguimiento del tipo de propiedad
| Name | Type | Description |
|---|---|---|
| FourCC |
|
Seguimiento de FourCC |
| Unknown |
|
Propiedad de pista desconocida |
TrackSelection
Clase para seleccionar una pista
| Name | Type | Description |
|---|---|---|
| trackSelections |
TrackSelections es una lista de condiciones de propiedad de pista que puede especificar las pistas |