Ansluta till Media Services v3 API – Node.js
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
- En installation av Visual Studio Code.
- Installera Node.js.
- Installera TypeScript.
- Skapa ett Media Services-konto. Kom ihåg resursgruppens namn och Media Services-kontonamnet.
- Skapa ett huvudnamn för tjänsten för ditt program. Se åtkomst-API:er.
Proffstips! Låt det här fönstret vara öppet eller kopiera allt på JSON-fliken till Anteckningar. - Se till att hämta den senaste versionen av AzureMediaServices SDK för JavaScript.
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
- Skapa en
package.json
fil med valfri redigerare. - Ö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
- Starta Visual Studio Code från rotmappen.
cd media-services-v3-node-tutorials
code .
- Installera paketen som används i package.json-filen från en terminal
npm install
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.
Ändra katalog till mappen HelloWorld-ListAssets
cd HelloWorld-ListAssets
- Ö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
- npm install @azure/arm-mediaservices
- Referensdokumentation för Azure Media Services-moduler för Node.js
- Azure för JavaScript & Node.js-utvecklare
- Media Services source code in the @azure/azure-sdk-for-js Git Hub repo
- Dokumentation om Azure-paket för Node.js-utvecklare
- Media Services-begrepp
- Azure för JavaScript & Node.js-utvecklare
- Media Services source code in the @azure/azure-sdk-for-js repo
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:
- Q & A
-
Stack Overflow. Tagga frågor med
azure-media-services
. - @MSFTAzureMedia eller använd @AzureSupport för att begära support.
- Öppna ett supportärende via Azure Portal.