Desarrollo con las API de Media Services v3

Logotipo de Media Services v3


Advertencia

Azure Media Services se retirará el 30 de junio de 2024. Para obtener más información, consulte la Guía de retirada de AMS.

Como desarrollador, puede usar las bibliotecas cliente para .NET, Python, Node.js, Java y Go, que le permitan interactuar con la API REST para crear, administrar y mantener fácilmente flujos de trabajo multimedia personalizados. La API de Media Services v3 se basa en la especificación OpenAPI (anteriormente conocida como Swagger).

En este artículo se analizan las reglas que se aplican a las entidades y las API cuando se desarrolla con Media Services v3.

Advertencia

No se recomienda intentar encapsular la API REST de Media Services directamente en su propio código de biblioteca, ya que hacerlo correctamente con fines de producción requeriría la implementación de la lógica de reintentos de Azure Resource Manager completa y comprender cómo administrar operaciones de larga duración en las API de Azure Resource Manager. Esto se controla automáticamente mediante los SDK de cliente de varios lenguajes (.NET, Java, TypeScript, Python, etc.) y reduce las posibilidades de que tenga problemas con la lógica de reintentos o las llamadas API con errores. Los SDK de cliente lo controlan todo automáticamente.

Acceso a la API de Azure Media Services

Para ser autorizado a acceder a recursos de Media Services y a Media Services API, se debe autenticar primero. Media Services admite la autenticación basada en Azure Active Directory (Azure AD). Dos opciones comunes de autenticación son:

  • Autenticación de la entidad de servicio: se usa para autenticar un servicio (por ejemplo: aplicaciones web, aplicaciones de funciones, aplicaciones lógicas, API y microservicios). Las aplicaciones que normalmente utilizan este método de autenticación son las que ejecutan servicios de demonio, servicios de nivel intermedio o trabajos programados. Por ejemplo, para las aplicaciones web, siempre debe haber un nivel intermedio que se conecte a Media Services con una entidad de servicio.
  • Autenticación de usuarios: se usa para autenticar a una persona que usa la aplicación para interactuar con recursos de Media Services. La aplicación interactiva debe pedir primero al usuario sus credenciales. Un ejemplo es una aplicación de consola de administración que usan los usuarios autorizados para supervisar trabajos de codificación o streaming en vivo.

La API de Media Services requiere que el usuario o la aplicación que realiza las solicitudes de API REST tengan acceso al recurso de la cuenta de Media Services y usen un rol de Colaborador o Propietario. Se puede acceder a la API con el rol Lector pero solo estarán disponibles las operaciones Obtener o Enumerar. Para obtener más información, vea Control de acceso basado en rol de Azure (RBAC de Azure) para cuentas de Media Services.

En lugar de crear una entidad de servicio, use las identidades administradas de los recursos de Azure para acceder a la API de Media Services a través de Azure Resource Manager. Para obtener más información sobre las identidades administradas para los recursos de Azure, consulte ¿Qué es Managed Identities for Azure Resources?.

Entidad de servicio de Azure AD

La aplicación de Azure AD y la entidad de servicio deben estar en el mismo inquilino. Después de crear la aplicación, asigne al rol Colaborador o Propietario de la aplicación acceso a la cuenta de Media Services.

Si no está seguro de tener permisos para crear una aplicación de Azure AD, consulte Permisos necesarios.

En la ilustración siguiente, los números representan el flujo de las solicitudes en orden cronológico:

Autenticación de aplicaciones de nivel intermedio con AAD desde una API web

  1. Una aplicación de nivel medio solicita un token de acceso de Azure AD que tiene los siguientes parámetros:

    • Punto de conexión de inquilino de Azure AD.
    • URI del recurso de Media Services.
    • URI del recurso de Media Services de REST.
    • Valores de aplicación de Azure AD: el identificador de cliente y el secreto de cliente.

    Para obtener todos los valores necesarios, consulte Acceso a la API de Azure Media Services.

  2. El token de acceso de Azure AD se envía al nivel intermedio.

  3. El nivel intermedio envía una solicitud a la API de REST de Azure Media Services con el token de Azure AD.

  4. El nivel intermedio recibe los datos de Media Services.

Ejemplos

Consulte los siguientes ejemplos que muestran cómo conectarse con la entidad de servicio de Azure AD:

Convenciones de nomenclatura

Los nombres de recursos de Azure Media Services v3 (por ejemplo, recursos, trabajos y transformaciones) están sujetos a las restricciones de nomenclatura de Azure Resource Manager. De acuerdo con Azure Resource Manager, los nombres de los recursos siempre son únicos. Por lo tanto, puede usar cualquier cadena de identificador único (por ejemplo, GUID) para los nombres de recursos.

Los nombres de recursos de Media Services no pueden incluir: '<', '>', '%', '&', ':', '\', '?', '/', '*', '+', '.', el carácter de comilla simple o cualquier carácter de control. Todos los demás caracteres se permiten. La longitud máxima de un nombre de recurso es de 260 caracteres.

Para más información sobre la nomenclatura de Azure Resource Manager, consulte: Convenciones de nomenclatura y Convenciones de nomenclatura.

Nombres de archivos o blobs dentro de un recurso

Los nombres de los archivos o blobs dentro de un recurso deben seguir los requisitos para los nombres de blobs y los requisitos para los nombres NTFS. La razón de estos requisitos es que los archivos se puedan copiar desde Blob Storage a un disco NTFS local para su procesamiento.

Operaciones de larga duración

Las operaciones marcadas con x-ms-long-running-operation en los archivos de Swagger de Azure Media Services son operaciones de larga duración.

Para obtener detalles sobre cómo realizar un seguimiento de las operaciones asincrónicas de Azure, consulte Operaciones asincrónicas.

Media Services tiene las siguientes operaciones de larga duración:

Si se envía correctamente una operación larga, recibirá un mensaje "201 Creado" y tendrá que sondear la finalización de la operación con el identificador de operación devuelto.

En el artículo Seguimiento de las operaciones asincrónicas de Azure se explica de forma detallada cómo realizar un seguimiento del estado de las operaciones asincrónicas de Azure mediante los valores devueltos en la respuesta.

Solo se admite una operación de larga duración para un LiveEvent determinado o para cualquiera de sus LiveOutput asociados. Una vez iniciada, la operación de larga duración se debe completar antes de iniciar una operación de larga duración posterior en el mismo LiveEvent o en cualquier LiveOutput asociado. En el caso de los LiveEvent con varios LiveOutput, debe esperar a que se complete una operación de larga duración en un LiveOutput antes de desencadenar una operación de larga duración en otro LiveOutput.

SDK

Nota

No se garantiza que los SDK de Azure Media Services v3 sean seguros para subprocesos. Al desarrollar una aplicación multiproceso, debe agregar su propia lógica de sincronización de subprocesos para proteger el cliente o usar un nuevo objeto AzureMediaServicesClient por subproceso. También debe tener cuidado con los problemas de subprocesos múltiples introducidos por objetos opcionales que proporciona el código al cliente (por ejemplo, una instancia de HttpClient en .NET).

SDK Referencia
SDK de .NET Referencia de .NET
SDK de Java Referencia de Java
SDK de Python Referencia de Python
SDK de Node.js Referencia de Node.js
Go SDK Referencia de Go

Consulte también

Explorador de Azure Media Services

Azure Media Services Explorer (AMSE) es una herramienta disponible para los clientes de Windows que desean obtener información acerca de Media Services. AMSE es una aplicación de Winforms o C# que permite cargar, descargar, codificar, transmitir vídeo bajo demanda y contenido en directo con Media Services. Esta herramienta es para aquellos clientes que deseen probar Media Services sin escribir ningún código. El código AMSE se proporciona como un recurso para los clientes que desean desarrollar con Media Services.

AMSE es un proyecto de código abierto en el que el soporte técnico lo facilita la comunidad (se pueden notificar los problemas a https://github.com/Azure/Azure-Media-Services-Explorer/issues). El proyecto ha adoptado el Código de conducta de código abierto de Microsoft. Para más información, consulte las preguntas frecuentes del código de conducta o escriba un correo electrónico a opencode@microsoft.com si tiene cualquier otra pregunta o comentario.

Filtrado, ordenación y paginación de entidades de Media Services

Consulte Filtrado, ordenación y paginación de entidades de Azure Media Services.

Obtener ayuda y soporte técnico

Puede ponerse en contacto con Media Services con preguntas o seguir nuestras actualizaciones mediante uno de los métodos siguientes: