Dela via


Ansluta till Media Services v3 API – Node.js

Media Services-logotyp v3


Varning

Azure Media Services dras tillbaka den 30 juni 2024. Mer information finns i AMS-pensionsguiden.

Den här artikeln visar hur du ansluter till Azure Media Services v3 node.js SDK med hjälp av inloggningsmetoden för tjänstens huvudnamn. Du kommer att arbeta med filer i lagringsplatsen media-services-v3-node-tutorials samples. Exemplet HelloWorld-ListAssets innehåller koden för att ansluta och listar sedan Tillgångar i kontot.

Förutsättningar

Viktigt

Läs namngivningskonventionerna för Azure Media Services för att förstå de viktiga namngivningsbegränsningarna för entiteter.

Klona lagringsplatsen för Node.JS exempel

Du kommer att arbeta med vissa filer i Azure-exempel. Klona lagringsplatsen Node.JS exempel.

git clone https://github.com/Azure-Samples/media-services-v3-node-tutorials.git

Installera Node.js-paketen

Installera @azure/arm-mediaservices

npm install @azure/arm-mediaservices

I det här exemplet använder du följande paket i package.json filen.

Paket Beskrivning
@azure/arm-mediaservices Azure Media Services SDK.
Kontrollera att du använder det senaste Azure Media Services-paketet npm install @azure/arm-mediaservices.
@azure/identity Krävs för Azure AD autentisering med tjänstens huvudnamn eller hanterad identitet
@azure/storage-blob Storage SDK. Används vid uppladdning av filer till tillgångar.
@azure/abort-controller Används tillsammans med lagringsklienten för att överskrida tidskrävande nedladdningsåtgärder

Skapa package.json-filen

  1. Skapa en package.json fil med valfri redigerare.
  2. Öppna filen och klistra in följande 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"
  }
}

Ansluta till Node.js klient med TypeScript

.env-exempelfil

Du behåller dina autentiseringsvärden i en fil med namnet .env. (Det stämmer, inget filnamn, bara tillägget.) Läs Åtkomst till API:et för att lära dig hur du hämtar och kopierar dessa värden. Du kan hämta värdena från API-åtkomstsidan för ditt Media Services-konto i portalen eller använda CLI för att hämta de värden som behövs.

Kopiera och klistra in värdena i en fil med namnet .env. Filen ska lagras i roten på din arbetslagringsplats.

När du har skapat .env-filen kan du börja arbeta med exemplen.

Kör exempelprogrammet HelloWorld-ListAssets

  1. Starta Visual Studio Code från rotmappen.
cd media-services-v3-node-tutorials
code .
  1. Installera paketen som används i package.json-filen från en terminal
npm install
  1. Gör en kopia av filen sample.env , byt namn på den till .env och uppdatera värdena i filen så att de matchar din konto- och prenumerationsinformation. Du kan behöva samla in den här informationen från Azure Portal först.

  2. Ändra katalog till mappen HelloWorld-ListAssets

cd HelloWorld-ListAssets
  1. Öppna filen list-assets.ts i mappen HelloWorld-ListAssets och tryck på F5 i Visual Studio Code för att börja köra skriptet. Du bör se en lista över tillgångar som visas om du redan har tillgångar på kontot. Om kontot är tomt visas en tom lista.

Om du snabbt vill se tillgångar i listan använder du portalen för att ladda upp några videofiler. Tillgångar skapas automatiskt var och en och om skriptet körs igen returneras deras namn.

En närmare titt på Exemplet HelloWorld-ListAssets

Exemplet HelloWorld-ListAssets visar hur du ansluter till Media Services-klienten med tjänstens huvudnamn och listar Tillgångar i kontot. En detaljerad förklaring av vad den gör finns i kommentarerna i koden.

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);
});

Fler exempel

Det finns många fler exempel på lagringsplatsen. Granska readme-filen för de senaste uppdaterade exemplen.

Referenser för Media Services JavaScript/TypeScript-utvecklare

Få hjälp och support

Du kan kontakta Media Services med frågor eller följa våra uppdateringar med någon av följande metoder: