Programowanie przy użyciu interfejsu API usługi Media Services w wersji 3

Logo usługi Media Services w wersji 3


Ostrzeżenie

Usługa Azure Media Services zostanie wycofana 30 czerwca 2024 r. Aby uzyskać więcej informacji, zobacz Przewodnik po wycofaniu usługi AMS.

Jako deweloper możesz używać bibliotek klienckich (.NET, Python, Node.js, Java i Go), które umożliwiają interakcję z interfejsem API REST w celu łatwego tworzenia i obsługi niestandardowych przepływów pracy multimediów oraz zarządzania nimi. Interfejs API usługi Media Services w wersji 3 jest oparty na specyfikacji interfejsu OpenAPI (wcześniej znanej jako Swagger).

W tym artykule omówiono reguły dotyczące jednostek i interfejsów API podczas opracowywania za pomocą usługi Media Services w wersji 3.

Ostrzeżenie

Nie zaleca się próby zawijania interfejsu API REST dla usługi Media Services bezpośrednio do własnego kodu biblioteki, ponieważ w celach produkcyjnych wymagałoby zaimplementowania pełnej logiki ponawiania prób usługi Azure Resource Management i zrozumienia sposobu zarządzania długotrwałymi operacjami w interfejsach API usługi Azure Resource Management. Jest to obsługiwane przez zestawy SDK klienta dla różnych języków — .NET, Java, TypeScript, Python itp. — automatycznie i zmniejsza prawdopodobieństwo wystąpienia problemów z logiką ponawiania prób lub nieudanych wywołań interfejsu API. Wszystkie zestawy SDK klienta obsługują to już za Ciebie.

Uzyskiwanie dostępu do interfejsu API usługi Azure Media Services

Aby uzyskać prawa dostępu do zasobów usługi Media Services i do interfejsu API usługi Media Services, należy się najpierw uwierzytelnić. Usługa Media Services obsługuje uwierzytelnianie oparte na usłudze Azure Active Directory (Azure AD). Dostępne są dwie typowe opcje uwierzytelniania:

  • Uwierzytelnianie jednostki usługi: Służy do uwierzytelniania usług (na przykład: aplikacji internetowych, aplikacji funkcji, aplikacji logiki, interfejsu API i mikrousług). Aplikacje, które często korzystają z tej metody uwierzytelniania, to aplikacje uruchamiające usługi demonów, usługi warstwy środkowej lub zaplanowane zadania. Na przykład w przypadku aplikacji internetowych zawsze powinna istnieć warstwa środkowa łącząca się z usługą Media Services za pomocą jednostki usługi.
  • Uwierzytelnianie użytkowników: Służy do uwierzytelniania osoby korzystającej z aplikacji w celu współdziałania z zasobami usługi Media Services. Aplikacja interaktywna powinna najpierw monitować użytkownika o podanie poświadczeń. Przykładem jest aplikacja konsoli zarządzania używana przez autoryzowanych użytkowników do monitorowania zadań kodowania lub przesyłania strumieniowego na żywo.

Interfejs API usługi Media Services wymaga, aby użytkownik lub aplikacja wykonująca żądania interfejsu API REST mieli dostęp do zasobu konta usługi Media Services i korzystali z roli Współautor lub Właściciel. Dostęp do interfejsu API można uzyskać za pomocą roli Czytelnik , ale będą dostępne tylko operacje Pobierania lub wyświetlania listy . Aby uzyskać więcej informacji, zobacz Kontrola dostępu oparta na rolach (RBAC) platformy Azure dla kont usługi Media Services.

Zamiast tworzyć jednostkę usługi, należy rozważyć użycie tożsamości zarządzanych na potrzeby zasobów platformy Azure w celu uzyskania dostępu do interfejsu API usługi Media Services za pośrednictwem usługi Azure Resource Manager. Aby uzyskać więcej informacji na temat tożsamości zarządzanych na potrzeby zasobów platformy Azure, zobacz Czym są tożsamości zarządzane dla zasobów platformy Azure.

jednostka usługi Azure AD

Azure AD aplikacja i jednostka usługi powinny znajdować się w tej samej dzierżawie. Po utworzeniu aplikacji przyznaj aplikacji rolę Współautor lub Właściciel aplikacji do konta usługi Media Services.

Jeśli nie masz pewności, czy masz uprawnienia do tworzenia aplikacji Azure AD, zobacz Wymagane uprawnienia.

Na poniższej ilustracji liczby reprezentują przepływ żądań w kolejności chronologicznej:

Uwierzytelnianie aplikacji warstwy środkowej za pomocą usługi AAD z internetowego interfejsu API

  1. Aplikacja warstwy środkowej żąda tokenu dostępu Azure AD, który ma następujące parametry:

    • Azure AD punkt końcowy dzierżawy.
    • Identyfikator URI zasobu usługi Media Services.
    • Identyfikator URI zasobu dla usługi REST Media Services.
    • Azure AD wartości aplikacji: identyfikator klienta i klucz tajny klienta.

    Aby uzyskać wszystkie wymagane wartości, zobacz Access Azure Media Services API (Uzyskiwanie dostępu do interfejsu API usługi Azure Media Services).

  2. Token dostępu Azure AD jest wysyłany do warstwy środkowej.

  3. Warstwa środkowa wysyła żądanie do interfejsu API REST usługi Azure Media przy użyciu tokenu Azure AD.

  4. Warstwa środkowa pobiera dane z usługi Media Services.

Przykłady

Zapoznaj się z poniższymi przykładami, które pokazują, jak nawiązać połączenie z jednostką usługi Azure AD:

Konwencje nazewnictwa

Nazwy zasobów w usłudze Azure Media Services w wersji 3 (na przykład Zasoby, Zadania, Przekształcenia) podlegają ograniczeniom nazewnictwa usługi Azure Resource Manager. Zgodnie z zasadami usługi Azure Resource Manager nazwy zasobów są zawsze unikatowe. W związku z tym jako nazw zasobów można używać dowolnych ciągów będących unikatowymi identyfikatorami (na przykład identyfikatorów GUID).

Nazwy zasobów usługi Media Services nie mogą zawierać: '<', '>', '%', '&', ':', '\', '?', '/', '*', '+', '.', znaku pojedynczego cudzysłowu ani żadnych znaków kontrolnych. Wszystkie inne znaki są dozwolone. Maksymalna długość nazwy zasobu to 260 znaków.

Aby uzyskać więcej informacji na temat nazewnictwa usługi Azure Resource Manager, zobacz Wymagania dotyczące nazewnictwa i Konwencje nazewnictwa.

Nazwy plików/obiektów blob w obrębie elementu zawartości

Nazwy plików/obiektów blob w ramach zasobu muszą być zgodne zarówno z wymaganiami dotyczącymi nazwy obiektu blob , jak i wymaganiami dotyczącymi nazw NTFS. Przyczyną tych wymagań jest możliwość skopiowania plików z magazynu obiektów blob do lokalnego dysku NTFS na potrzeby przetwarzania.

Długotrwałe operacje

Operacje oznaczone za pomocą x-ms-long-running-operation polecenia w plikach struktury Swagger usługi Azure Media Services są długotrwałymi operacjami.

Aby uzyskać szczegółowe informacje na temat śledzenia asynchronicznych operacji platformy Azure, zobacz Operacje asynchroniczne.

Usługa Media Services ma następujące długotrwałe operacje:

Po pomyślnym przesłaniu długiej operacji otrzymasz komunikat "201 Created" (Utworzono 201) i musisz sondować ukończenie operacji przy użyciu zwróconego identyfikatora operacji.

W artykule track asynchronous Azure operations (Śledzenie asynchronicznych operacji platformy Azure) wyjaśniono szczegółowo, jak śledzić stan asynchronicznych operacji platformy Azure za pomocą wartości zwracanych w odpowiedzi.

Tylko jedna długotrwała operacja jest obsługiwana dla danego wydarzenia na żywo lub dowolnego ze skojarzonych z nim danych wyjściowych na żywo. Po uruchomieniu długotrwała operacja musi zostać ukończona przed rozpoczęciem kolejnej długotrwałej operacji na tym samym obiekcie LiveEvent lub skojarzonych danych wyjściowych na żywo. W przypadku wydarzeń na żywo z wieloma danymi wyjściowymi na żywo należy poczekać na ukończenie długotrwałej operacji na jednym danych wyjściowych na żywo przed wyzwoleniem długotrwałej operacji na innym danych wyjściowych na żywo.

Zestawy SDK

Uwaga

Zestawy SDK usługi Azure Media Services w wersji 3 nie mają gwarancji, że będą bezpieczne wątkowo. Podczas tworzenia aplikacji wielowątkowa należy dodać własną logikę synchronizacji wątków w celu ochrony klienta lub użyć nowego obiektu AzureMediaServicesClient na wątek. Należy również zachować ostrożność podczas problemów z wieloma wątkami wprowadzonymi przez opcjonalne obiekty dostarczane przez kod do klienta (na przykład wystąpienie HttpClient na platformie .NET).

SDK Odwołanie
Zestaw SDK platformy .NET Dokumentacja platformy .NET
Zestaw SDK Java Dokumentacja języka Java
Zestaw SDK dla języka Python Dokumentacja języka Python
Zestaw SDK dla platformy Node.js Dokumentacja środowiska Node.js
Zestaw SDK dla języka Go Dokumentacja języka Go

Zobacz też

Azure Media Services Explorer

Azure Media Services Explorer to narzędzie dostępne dla użytkowników systemu Windows, którzy chcą dowiedzieć się więcej o usłudze Media Services. Narzędzie AMSE to aplikacja Winforms/C# obsługująca przekazywanie, pobieranie, kodowanie oraz przesyłanie strumieniowe wideo na żądanie i na żywo zawartości za pomocą usługi Media Services. Narzędzie AMSE jest przeznaczone dla klientów, którzy chcą przetestować usługę Media Services bez konieczności pisania jakiegokolwiek kodu. Kod AMSE jest dostarczany jako zasób dla klientów, którzy chcą tworzyć aplikacje za pomocą usługi Media Services.

AMSE to projekt typu open source, pomoc techniczna jest dostarczana przez społeczność (problemy można zgłaszać do https://github.com/Azure/Azure-Media-Services-Explorer/issuesprogramu ). W tym projekcie przyjęto Kodeks postępowania oprogramowania Open Source firmy Microsoft. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące kodeksu postępowania lub skontaktuj się opencode@microsoft.com z innymi pytaniami lub komentarzami.

Filtrowanie, porządkowanie, stronicowanie jednostek usługi Media Services

Zobacz Filtrowanie, porządkowanie, stronicowanie jednostek usługi Azure Media Services.

Uzyskiwanie pomocy i obsługi technicznej

Możesz skontaktować się z usługą Media Services z pytaniami lub postępować zgodnie z naszymi aktualizacjami przy użyciu jednej z następujących metod: