Ontwikkelen met Media Services v3-API’s
Waarschuwing
Azure Media Services wordt op 30 juni 2024 buiten gebruik gesteld. Zie de Handleiding voor buitengebruikstelling van AMS voor meer informatie.
Als ontwikkelaar kunt u clientbibliotheken gebruiken voor (.NET, Python, Node.js, Java en Go) waarmee u eenvoudig aangepaste mediawerkstromen kunt maken, beheren en onderhouden met de REST API. De Media Services v3-API is gebaseerd op de OpenAPI-specificatie (voorheen bekend als een Swagger).
In dit artikel worden regels besproken die van toepassing zijn op entiteiten en API's wanneer u ontwikkelt met Media Services v3.
Waarschuwing
Het is niet raadzaam om de REST API voor Media Services rechtstreeks in uw eigen bibliotheekcode te verpakken, omdat u voor productiedoeleinden de volledige logica voor opnieuw proberen van Azure Resource Management moet implementeren en begrijpt hoe u langlopende bewerkingen in Azure Resource Management-API's beheert. Dit wordt automatisch verwerkt door de client-SDK's voor verschillende talen ( .NET, Java, TypeScript, Python, enzovoort) en vermindert de kans dat u problemen ondervindt met logica voor opnieuw proberen of mislukte API-aanroepen. De client-SDK's verwerken dit allemaal al voor u.
Toegang tot de API van Azure Media Services
Om te worden geautoriseerd voor toegang tot Media Services-resources en de API van Media Services, moet u eerst worden geverifieerd. Media Services biedt ondersteuning voor verificatie op basis van Azure AD (Azure Active Directory). Twee algemene verificatieopties zijn:
- Verificatie van service-principal: Wordt gebruikt om een service te verifiëren (bijvoorbeeld: web-apps, functie-apps, logische apps, API en microservices). Toepassingen die meestal gebruikmaken van deze verificatiemethode, zijn apps waarmee daemonservices, services uit de middelste laag, of geplande taken worden uitgevoerd. Voor web-apps moet er bijvoorbeeld altijd een middellaag zijn die verbinding maakt met Media Services met een service-principal.
- Gebruikersverificatie: Wordt gebruikt om een persoon te verifiëren die de app gebruikt om te communiceren met Media Services-resources. De interactieve app moet de gebruiker eerst vragen om zijn/haar referenties. Een voorbeeld is een beheerconsole-app die door geautoriseerde gebruikers wordt gebruikt om coderingstaken of livestreams te bewaken.
Voor de API van Media Services is vereist dat de gebruiker of app die de REST API-aanvragen doet, toegang heeft tot het Media Services-account en beschikt over de rol Inzender of Eigenaar. De API kan worden geopend met de rol Lezer , maar alleen get - of list-bewerkingen zijn beschikbaar. Zie Op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) voor Media Services-accounts voor meer informatie.
In plaats van een service-principal te maken, kunt u overwegen beheerde identiteiten te gebruiken voor Azure-resources, om via Azure Resource Manager toegang te krijgen tot de API van Media Services. Zie Wat zijn beheerde identiteiten voor Azure-resources voor meer informatie over beheerde identiteiten voor Azure-resources.
Azure AD service-principal
De Azure AD app en service-principal moeten zich in dezelfde tenant bevinden. Nadat u de app hebt gemaakt, geeft u de rol Inzender of Eigenaar van de app toegang tot het Media Services-account.
Als u niet zeker weet of u machtigingen hebt om een Azure AD-app te maken, raadpleegt u Vereiste machtigingen.
In de volgende afbeelding vertegenwoordigen de getallen de stroom van de aanvragen in chronologische volgorde:
Een app in de middelste laag vraagt een Azure AD toegangstoken aan met de volgende parameters:
- Azure AD tenanteindpunt.
- Media Services-resource-URI.
- Resource-URI voor REST Media Services.
- Azure AD app-waarden: de client-id en het clientgeheim.
Zie Toegang tot azure Media Services API om alle benodigde waarden op te halen.
Het Azure AD toegangstoken wordt verzonden naar de middelste laag.
De middelste laag verzendt een aanvraag naar de Azure Media REST API met het token Azure AD.
De middelste laag krijgt de gegevens terug van Media Services.
Voorbeelden
Bekijk de volgende voorbeelden die laten zien hoe u verbinding maakt met Azure AD service-principal:
- Verbinding maken met .NET
- Verbinding maken met Node.js
- Verbinding maken met Python
- Verbinding maken met Java
Naamconventies
Namen van Azure Media Services v3-resources (bijvoorbeeld activa, taken, transformaties) zijn onderhevig aan de naamgevingsbeperkingen van Azure Resource Manager. In overeenstemming met Azure Resource Manager zijn de resourcenamen altijd uniek. U kunt dus alle unieke id-strings (bijvoorbeeld GUID's) gebruiken voor uw resourcenamen.
Media Services-resourcenamen kunnen niet bestaan uit: '<', '>', '%', '&', ':', '\', '?', '/', '*', '+', '.', het enkele aanhalingsteken of besturingstekens. Alle andere tekens zijn toegestaan. De maximale lengte van een resourcenaam is 260 tekens.
Zie Naamgevingsvereisten en Naamconventies voor meer informatie over naamgeving in Azure Resource Manager.
Namen van bestanden/blobs in een asset
De namen van bestanden/blobs in een asset moeten voldoen aan de vereisten voor blobnaam en NTFS-naam. De reden voor deze vereisten is dat de bestanden kunnen worden gekopieerd van blobopslag naar een lokale NTFS-schijf voor verwerking.
Langlopende bewerkingen
De bewerkingen die zijn gemarkeerd met x-ms-long-running-operation
in de Azure Media Services-swagger-bestanden , zijn langdurige bewerkingen.
Zie Asynchrone bewerkingen voor meer informatie over het bijhouden van asynchrone Azure-bewerkingen.
Media Services heeft de volgende langlopende bewerkingen:
-
Gebruik de
removeOutputsOnStop
parameter om alle gekoppelde live-uitvoer te verwijderen wanneer u de gebeurtenis stopt.
Wanneer een lange bewerking is verzonden, ontvangt u een '201 Gemaakt' en moet u een poll uitvoeren om de bewerking te voltooien met behulp van de geretourneerde bewerkings-id.
In het artikel Asynchrone Azure-bewerkingen volgen wordt uitvoerig beschreven hoe de status van asynchrone Azure-bewerkingen wordt gevolgd aan de hand van waarden die zijn geretourneerd in het antwoord.
Er wordt slechts één langlopende bewerking ondersteund voor een bepaalde livegebeurtenis of een van de bijbehorende live-uitvoers. Zodra een langlopende bewerking is gestart, moet deze worden voltooid voordat een volgende langlopende bewerking wordt gestart op dezelfde LiveEvent of een bijbehorende live-uitvoer. Voor livegebeurtenissen met meerdere live-uitvoer moet u wachten op de voltooiing van een langdurige bewerking op de ene live-uitvoer voordat u een langdurige bewerking activeert op een andere live-uitvoer.
SDK's
Notitie
De Sdk's van Azure Media Services v3 zijn niet gegarandeerd thread-veilig. Wanneer u een app met meerdere threads ontwikkelt, moet u uw eigen threadsynchronisatielogica toevoegen om de client te beveiligen of een nieuw AzureMediaServicesClient-object per thread gebruiken. U moet ook voorzichtig zijn met multithreadingproblemen die worden veroorzaakt door optionele objecten die door uw code aan de client worden geleverd (zoals een HttpClient-exemplaar in .NET).
SDK | Referentie |
---|---|
.NET SDK | .NET-ref |
Java SDK | Java-ref |
Python SDK | Python-ref |
Node.js SDK | Node.js-ref |
Go-SDK | Go-ref |
Zie ook
- EventGrid .NET SDK die Media Service-gebeurtenissen bevat
- Definities van Media Services-gebeurtenissen
Azure Media Services Explorer
Azure Media Services Explorer (AMSE) is een hulpprogramma beschikbaar voor Windows-klanten die kennis willen maken met Media Services. AMSE is een Winforms/C#-toepassing voor het uploaden, downloaden, coderen en streamen van VOD en live-inhoud met Media Services. Het AMSE-hulpprogramma is voor clients die Media Services willen testen zonder code te schrijven. De AMSE-code wordt geleverd als een bron voor klanten die willen ontwikkelen met Media Services.
AMSE is een opensource-project. Ondersteuning wordt geboden door de community (problemen kunnen worden gerapporteerd aan https://github.com/Azure/Azure-Media-Services-Explorer/issues). Op dit project is de Microsoft Open Source Code of Conduct (Microsoft Open Source-gedragscode) van toepassing. Zie de veelgestelde vragen over de gedragscode voor meer informatie of neem contact op opencode@microsoft.com met eventuele andere vragen of opmerkingen.
Filteren, ordenen, paging van Media Services-entiteiten
Zie Filteren, ordenen, paging van Azure Media Services-entiteiten.
Help en ondersteuning
U kunt contact opnemen met Media Services met vragen of onze updates op een van de volgende manieren volgen:
- Q & A
-
Stack Overflow. Tag vragen met
azure-media-services
. - @MSFTAzureMedia of gebruik @AzureSupport om ondersteuning aan te vragen.
- Open een ondersteuningsticket via de Azure Portal.