Développer avec les API Media Services v3Develop with Media Services v3 APIs

En tant que développeur, vous pouvez utiliser l’API REST ou les bibliothèques clientes de Media Services qui vous permettent d’interagir avec l’API REST afin de créer, gérer et mettre à jour facilement les workflows multimédias personnalisés.As a developer, you can use Media Services REST API or client libraries that allow you to interact with the REST API to easily create, manage, and maintain custom media workflows. L’API Media Services v3 s’appuie sur la spécification OpenAPI (anciennement appelée Swagger).The Media Services v3 API is based on the OpenAPI specification (formerly known as a Swagger).

Cet article décrit les règles qui s’appliquent aux entités et API lors du développement avec Media Services v3.This article discusses rules that apply to entities and APIs when you develop with Media Services v3.

Accéder à l'API Azure Media ServicesAccessing the Azure Media Services API

Pour être autorisé à accéder aux ressources Media Services et à l’API Media Services, vous devez tout d’abord être authentifié.To be authorized to access Media Services resources and the Media Services API, you must first be authenticated. Media Services prend en charge l’authentification avec Azure Active Directory (Azure AD).Media Services supports Azure Active Directory (Azure AD)-based authentication. Parmi les options d’authentification courantes figurent les suivantes :Two common authentication options are:

  • Authentification d’un principal de service : Utilisée pour authentifier un service (applications web, applications de fonction, applications logiques, API et microservices, par exemple).Service principal authentication: Used to authenticate a service (for example: web apps, function apps, logic apps, API, and microservices). Les applications qui utilisent généralement cette méthode d’authentification sont des applications qui exécutent des services démon, des services de niveau intermédiaire ou des travaux planifiés,Applications that commonly use this authentication method are apps that run daemon services, middle-tier services, or scheduled jobs. Par exemple, pour les applications web, un niveau intermédiaire devrait toujours se connecter à Media Services avec un principal de service.For example, for web apps there should always be a mid-tier that connects to Media Services with a Service Principal.
  • Authentification utilisateur : Utilisée pour authentifier une personne qui utilise l’application pour interagir avec les ressources Media Services.User authentication: Used to authenticate a person who is using the app to interact with Media Services resources. L’application interactive invite tout d’abord l’utilisateur à entrer ses informations d’identification.The interactive app should first prompt the user for the user's credentials. Par exemple, une application de console de gestion peut être utilisée par les utilisateurs autorisés pour contrôler les travaux d’encodage ou de streaming en direct.An example is a management console app used by authorized users to monitor encoding jobs or live streaming.

L’API Media Services implique que l’utilisateur ou l'application à l'origine des requêtes API REST ait accès à la ressource de compte Media Services et utilise un rôle Contributeur ou Propriétaire.The Media Services API requires that the user or app making the REST API requests have access to the Media Services account resource and use a Contributor or Owner role. L’API est accessible avec le rôle Lecteur, mais seules les opérations Get ou List sont disponibles.The API can be accessed with the Reader role but only Get or List operations will be available. Pour plus d'informations, consultez Contrôle d’accès en fonction du rôle pour les comptes Media Services. For more information, see Role-based access control for Media Services accounts.

Au lieu de créer un principal de service, envisagez d’utiliser des identités gérées pour permettre aux ressources Azure d'accéder à l’API Media Services via Azure Resource Manager.Instead of creating a service principal, consider using managed identities for Azure resources to access the Media Services API through Azure Resource Manager. Pour en savoir plus sur les identités managées pour les ressources Azure, consultez Que sont les identités managées pour les ressources Azure ?To learn more about managed identities for Azure resources, see What is managed identities for Azure resources.

Principal du service Azure ADAzure AD service principal

Si vous créez une application Azure AD et un principal de service, l’application doit se trouver dans son propre client.If you're creating an Azure AD app and service principal, the app has to be in its own tenant. Après avoir créé l’application, attribuez à l'application le rôle Contributeur ou Propriétaire pour accéder au compte Media Services.After you create the app, give the app Contributor or Owner role access to the Media Services account.

Si vous ne savez pas si vous disposez des autorisations pour créer une application Azure AD, consultez Autorisations requises.If you're not sure whether you have permissions to create an Azure AD app, see Required permissions.

Dans la figure suivante, les nombres représentent le flux des requêtes dans l’ordre chronologique :In the following figure, the numbers represent the flow of the requests in chronological order:

Authentification d’application de niveau intermédiaire avec AAD à partir d’une API web

  1. Une application de niveau intermédiaire nécessite un jeton d’accès Azure AD qui possède les paramètres suivants :A middle-tier app requests an Azure AD access token that has the following parameters:

    • Point de terminaison de locataire Azure AD.Azure AD tenant endpoint.
    • URI de ressource Media Services.Media Services resource URI.
    • URI de ressource pour REST Media Services.Resource URI for REST Media Services.
    • Valeurs de l’application Azure AD : ID client et secret client.Azure AD app values: the client ID and client secret.

    Pour obtenir toutes les valeurs nécessaires, consultez Accéder à l’API Azure Media Services avec Azure CLI.To get all the needed values, see Access Azure Media Services API with the Azure CLI.

  2. Le jeton d’accès Azure AD est envoyé au niveau intermédiaire.The Azure AD access token is sent to the middle tier.

  3. Le niveau intermédiaire envoie une requête à l’API REST Azure Media avec le jeton Azure AD.The middle tier sends request to the Azure Media REST API with the Azure AD token.

  4. Le niveau intermédiaire récupère les données de Media Services.The middle tier gets back the data from Media Services.

ExemplesSamples

Les exemples suivants montrent comment se connecter à un principal de service Azure AD :See the following samples that show how to connect with Azure AD service principal:

Conventions d’affectation de nomsNaming conventions

Les noms de ressources Azure Media Services v3 (par exemple Assets, Jobs, Transforms) sont sujets à des restrictions d’appellation par Azure Resource Manager.Azure Media Services v3 resource names (for example, Assets, Jobs, Transforms) are subject to Azure Resource Manager naming constraints. Conformément à Azure Resource Manager, les noms des ressources sont toujours uniques.In accordance with Azure Resource Manager, the resource names are always unique. Ainsi, vous pouvez utiliser n’importe quelle chaîne d’identificateur unique (par exemple des GUID) pour les noms de vos ressources.Thus, you can use any unique identifier strings (for example, GUIDs) for your resource names.

Les noms de ressources Media Services ne peuvent pas contenir : '<', '>', '%', '&', ':', '\', '?', '/', '*', '+', '.', le caractère de citation unique ou tout caractère de commande.Media Services resource names can't include: '<', '>', '%', '&', ':', '\', '?', '/', '*', '+', '.', the single quote character, or any control characters. Tous les autres caractères sont autorisés.All other characters are allowed. La longueur maximale d’un nom de ressources est de 260 caractères.The max length of a resource name is 260 characters.

Pour en savoir plus sur l’affectation de noms avec Azure Resource Manager, consultez : Exigences d’affectation des noms et Convention d’affectation de noms.For more information about Azure Resource Manager naming, see Naming requirements and Naming conventions.

Noms des fichiers/objets blob dans une ressourceNames of files/blobs within an asset

Les noms des fichiers/objets blob au sein d’une ressource doivent respecter les exigences en matière de nom d’objet blob et de nom NTFS.The names of files/blobs within an asset must follow both the blob name requirements and the NTFS name requirements. La raison de ces exigences est que les fichiers peuvent être copiés du stockage d’objets blob vers un disque NTFS local à des fins de traitement.The reason for these requirements is the files can get copied from blob storage to a local NTFS disk for processing.

Opérations de longue duréeLong-running operations

Les opérations marquées par x-ms-long-running-operation dans les fichiers swagger Azure Media Services exécutent des opérations de longue durée.The operations marked with x-ms-long-running-operation in the Azure Media Services swagger files are long running operations.

Pour plus d’informations sur le suivi des opérations asynchrones Azure, consultez Opérations asynchrones.For details about how to track asynchronous Azure operations, see Async operations.

Media Services propose les opérations de longue durée suivantes :Media Services has the following long-running operations:

En cas de soumission réussie d’une longue opération, vous recevez un message « 202 accepté » et devez interroger la fin de l’opération à l’aide de l’ID d’opération retourné.On successful submission of a long operation, you receive a '202 Accepted' and must poll for operation completion using the returned operation ID.

L’article Suivre les opérations asynchrones Azure explique en détail comment suivre l’état des opérations asynchrones Azure à l’aide des valeurs retournées dans la réponse.The track asynchronous Azure operations article explains in depth how to track the status of asynchronous Azure operations through values returned in the response.

Une seule opération de longue durée est prise en charge pour un événement en direct donné ou l’une de ses sorties en temps réel associées.Only one long-running operation is supported for a given Live Event or any of its associated Live Outputs. Une fois démarrée, une opération de longue durée doit se terminer avant de commencer une opération de longue durée ultérieure sur le même LiveEvent ou sur les sorties en temps réel associées.Once started, a long running operation must complete before starting a subsequent long-running operation on the same LiveEvent or any associated Live Outputs. Pour les événements en direct avec plusieurs sorties en temps réel, vous devez attendre la fin de l’exécution d’une opération de longue durée sur une sortie en temps réel avant de déclencher une opération de longue durée sur une autre sortie en temps réel.For Live Events with multiple Live Outputs, you must await the completion of a long running operation on one Live Output before triggering a long running operation on another Live Output.

Kits SDKSDKs

Notes

Les kits SDK Azure Media Services v3 ne sont pas garantis thread-safe.The Azure Media Services v3 SDKs aren't guaranteed to be thread-safe. Lorsque vous développez une application multithread, vous devez ajouter votre propre logique de synchronisation de thread pour protéger le client, ou utiliser un objet AzureMediaServicesClient différent pour chaque thread.When developing a multi-threaded app, you should add your own thread synchronization logic to protect the client or use a new AzureMediaServicesClient object per thread. Vous devez également faire attention aux problèmes liés au multithreading provoqués par les objets facultatifs qui sont fournis au client par votre code (comme une instance HttpClient dans .NET, par exemple).You should also be careful of multi-threading issues introduced by optional objects provided by your code to the client (like an HttpClient instance in .NET).

Kit SDKSDK Informations de référenceReference
Kit de développement logiciel (SDK) .NET.NET SDK Ref de .NET.NET ref
Kit SDK JavaJava SDK Ref de JavaJava ref
Kit de développement logiciel (SDK) PythonPython SDK Ref de PythonPython ref
Kit de développement logiciel (SDK) Node.jsNode.js SDK Ref de Node.js Node.js ref
Kit de développement logiciel (SDK) GoGo SDK Ref de GoGo ref
Kit de développement logiciel (SDK) RubyRuby SDK

Voir aussiSee also

Azure Media Services ExplorerAzure Media Services Explorer

Azure Media Services Explorer (AMSE) est un outil disponible pour les clients Windows qui souhaitent en savoir plus sur Media Services.Azure Media Services Explorer (AMSE) is a tool available to Windows customers who want to learn about Media Services. AMSE est une application Winforms/C# qui charge, télécharge, encode, diffuse en continu du contenu VOD et en direct avec Media Services.AMSE is a Winforms/C# application that does upload, download, encode, stream VOD and live content with Media Services. L’outil AMSE est destiné aux clients qui souhaitent tester Media Services sans écrire de code.The AMSE tool is for clients who want to test Media Services without writing any code. Le code AMSE est fourni en tant que ressource pour les clients qui souhaitent développer avec Media Services.The AMSE code is provided as a resource for customers who want to develop with Media Services.

AMSE est un projet Open Source, son support est assuré par la Communauté (les problèmes peuvent être signalés sur https://github.com/Azure/Azure-Media-Services-Explorer/issues).AMSE is an Open Source project, support is provided by the community (issues can be reported to https://github.com/Azure/Azure-Media-Services-Explorer/issues). Ce projet a adopté le Code de conduite open source de Microsoft.This project has adopted the Microsoft Open Source Code of Conduct. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any other questions or comments.

Filtrage, classement et pagination d’entités Media ServicesFiltering, ordering, paging of Media Services entities

Consultez Filtrage, tri et pagination des entités Azure Media Services.See Filtering, ordering, paging of Azure Media Services entities.

Poser des questions, envoyer des commentaires, obtenir des mises à jourAsk questions, give feedback, get updates

Découvrez l’article Communauté Azure Media Services pour découvrir les différentes façons dont vous pouvez poser des questions, faire des commentaires et obtenir des mises à jour sur Media Services.Check out the Azure Media Services community article to see different ways you can ask questions, give feedback, and get updates about Media Services.

Voir aussiSee also

Interface de ligne de commande AzureAzure CLI

Étapes suivantesNext steps