Nawiązywanie połączenia z interfejsem API usługi Media Services w wersji 3 — Node.js
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.
W tym artykule pokazano, jak nawiązać połączenie z zestawem SDK usługi Azure Media Services w wersji 3 w wersji node.js 3 przy użyciu metody logowania jednostki usługi. Będziesz pracować z plikami w repozytorium przykładów media-services-v3-node-tutorials . Przykład HelloWorld-ListAssets zawiera kod umożliwiający nawiązanie połączenia, a następnie wyświetlenie listy zasobów na koncie.
Wymagania wstępne
- Instalacja Visual Studio Code.
- Zainstaluj Node.js.
- Zainstaluj język TypeScript.
- Utwórz konto usługi Media Services. Pamiętaj, aby pamiętać nazwę grupy zasobów i nazwę konta usługi Media Services.
- Utwórz jednostkę usługi dla aplikacji. Zobacz access APIs (Interfejsy API dostępu).
Pro tip! Pozostaw to okno otwarte lub skopiuj wszystko na karcie JSON do Notatnika. - Upewnij się, że masz najnowszą wersję zestawu AZUREMediaServices SDK dla języka JavaScript.
Ważne
Zapoznaj się z konwencjami nazewnictwa usługi Azure Media Services, aby poznać ważne ograniczenia nazewnictwa jednostek.
Klonowanie repozytorium przykładów Node.JS
Będziesz pracować z niektórymi plikami w przykładach platformy Azure. Sklonuj repozytorium przykładów Node.JS.
git clone https://github.com/Azure-Samples/media-services-v3-node-tutorials.git
Instalowanie pakietów Node.js
Zainstalować @azure/arm-mediaservices
npm install @azure/arm-mediaservices
W tym przykładzie package.json
użyjesz następujących pakietów w pliku .
Pakiet | Opis |
---|---|
@azure/arm-mediaservices |
Zestaw SDK usługi Azure Media Services. Aby upewnić się, że używasz najnowszego pakietu usługi Azure Media Services, sprawdź npm install @azure/arm-mediaservicespolecenie . |
@azure/identity |
Wymagane do uwierzytelniania Azure AD przy użyciu jednostki usługi lub tożsamości zarządzanej |
@azure/storage-blob |
Zestaw SDK usługi Storage. Używany podczas przekazywania plików do zasobów. |
@azure/abort-controller |
Używany wraz z klientem magazynu do przekroczenia limitu długotrwałych operacji pobierania |
Tworzenie pliku package.json
- Utwórz
package.json
plik przy użyciu ulubionego edytora. - Otwórz plik i wklej następujący kod:
{
"name": "media-services-node-sample",
"version": "0.1.0",
"description": "",
"main": "./index.ts",
"dependencies": {
"@azure/arm-mediaservices": "^10.0.0",
"@azure/abort-controller": "^1.0.2",
"@azure/identity": "^2.0.0",
"@azure/storage-blob": "^12.4.0"
}
}
Nawiązywanie połączenia z klientem Node.js przy użyciu języka TypeScript
Przykładowy plik env
Wartości uwierzytelniania będą przechowywane w pliku o nazwie env. (To prawda, brak nazwy pliku, tylko rozszerzenie). Przeczytaj artykuł Dostęp do interfejsu API, aby dowiedzieć się, jak uzyskać i skopiować te wartości. Wartości możesz uzyskać na stronie dostęp do interfejsu API dla konta usługi Media Services w portalu lub użyć interfejsu wiersza polecenia, aby uzyskać wymagane wartości.
Skopiuj i wklej wartości do pliku o nazwie .env. Plik powinien być przechowywany w katalogu głównym roboczego repozytorium.
Po utworzeniu pliku env możesz rozpocząć pracę z przykładami.
Uruchamianie przykładowej aplikacji HelloWorld-ListAssets
- Uruchom Visual Studio Code z folderu głównego.
cd media-services-v3-node-tutorials
code .
- Instalowanie pakietów używanych w pliku package.json z poziomu terminalu
npm install
Utwórz kopię pliku sample.env , zmień jego nazwę na env i zaktualizuj wartości w pliku w celu dopasowania ich do informacji o koncie i subskrypcji. Może być konieczne zebranie tych informacji z Azure Portal.
Zmień katalog na folder HelloWorld-ListAssets
cd HelloWorld-ListAssets
- Otwórz plik list-assets.ts w folderze HelloWorld-ListAssets i naciśnij klawisz F5 w programie Visual Studio Code, aby rozpocząć uruchamianie skryptu. Powinna zostać wyświetlona lista zasobów, jeśli masz już zasoby na koncie. Jeśli konto jest puste, zostanie wyświetlona pusta lista.
Aby szybko wyświetlić zasoby na liście, użyj portalu, aby przekazać kilka plików wideo. Zasoby zostaną automatycznie utworzone, a uruchomienie tego skryptu spowoduje zwrócenie ich nazw.
Przyjrzyj się bliżej przykładowi HelloWorld-ListAssets
W przykładzie HelloWorld-ListAssets pokazano, jak nawiązać połączenie z klientem usługi Media Services za pomocą jednostki usługi i wyświetlić listę zasobów na koncie. Zobacz komentarze w kodzie, aby uzyskać szczegółowe wyjaśnienie tego, co robi.
import { DefaultAzureCredential } from "@azure/identity";
import {
AzureMediaServices
} from '@azure/arm-mediaservices';
// Load the .env file if it exists
import * as dotenv from "dotenv";
dotenv.config();
export async function main() {
// Copy the samples.env file and rename it to .env first, then populate it's values with the values obtained
// from your Media Services account's API Access page in the Azure portal.
const clientId: string = process.env.AADCLIENTID as string;
const secret: string = process.env.AADSECRET as string;
const tenantDomain: string = process.env.AADTENANTDOMAIN as string;
const subscriptionId: string = process.env.SUBSCRIPTIONID as string;
const resourceGroup: string = process.env.RESOURCEGROUP as string;
const accountName: string = process.env.ACCOUNTNAME as string;
// This sample uses the default Azure Credential object, which relies on the environment variable settings.
// If you wish to use User assigned managed identity, see the samples for v2 of @azure/identity
// Managed identity authentication is supported via either the DefaultAzureCredential or the ManagedIdentityCredential classes
// https://learn.microsoft.com/javascript/api/overview/azure/identity-readme?view=azure-node-latest
// See the following examples for how to authenticate in Azure with managed identity
// https://github.com/Azure/azure-sdk-for-js/blob/@azure/identity_2.0.1/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-in-azure-with-managed-identity
// const credential = new ManagedIdentityCredential("<USER_ASSIGNED_MANAGED_IDENTITY_CLIENT_ID>");
const credential = new DefaultAzureCredential();
let mediaServicesClient = new AzureMediaServices(credential, subscriptionId)
// List Assets in Account
console.log("Listing assets in account:")
for await (const asset of mediaServicesClient.assets.list(resourceGroup, accountName, { top:1000 })){
console.log(asset.name);
}
}
main().catch((err) => {
console.error("Error running sample:", err.message);
});
Więcej przykładów
W repozytorium jest dostępnych wiele innych przykładów. Zapoznaj się z plikiem readme, aby zapoznać się z najnowszymi zaktualizowanymi przykładami.
Dokumentacja dla deweloperów języka JavaScript/TypeScript usługi Media Services
- npm install @azure/arm-mediaservices
- Dokumentacja referencyjna modułów usługi Azure Media Services dla Node.js
- Platforma Azure dla deweloperów języka JavaScript & Node.js
- Media Services source code in the @azure/azure-sdk-for-js Git Hub repo
- Dokumentacja pakietu platformy Azure dla deweloperów Node.js
- Pojęcia dotyczące usługi Media Services
- Platforma Azure dla deweloperów języka JavaScript & Node.js
- Media Services source code in the @azure/azure-sdk-for-js repo
Uzyskiwanie pomocy i obsługi technicznej
Możesz skontaktować się z usługą Media Services z pytaniami lub postępować zgodnie z naszymi aktualizacjami, korzystając z jednej z następujących metod:
- Q & A
-
Stack Overflow. Tagowanie pytań przy użyciu polecenia
azure-media-services
. - @MSFTAzureMedia lub użyj @AzureSupport , aby poprosić o pomoc techniczną.
- Otwórz bilet pomocy technicznej za pośrednictwem Azure Portal.