Verbinding maken met Media Services v3-API - Node.js
Waarschuwing
Azure Media Services wordt op 30 juni 2024 buiten gebruik gesteld. Zie de Handleiding voor buitengebruikstelling van AMS voor meer informatie.
In dit artikel wordt beschreven hoe u verbinding maakt met de Azure Media Services v3 node.js SDK met behulp van de aanmeldingsmethode van de service-principal. U gaat werken met bestanden in de opslagplaats met voorbeelden van media-services-v3-node-tutorials . Het voorbeeld HelloWorld-ListAssets bevat de code voor het verbinden en vervolgens een lijst met assets in het account.
Vereisten
- Een installatie van Visual Studio Code.
- Node.js installeren.
- Installeer TypeScript.
- Een Azure Media Services-account maken. Vergeet niet welke namen u gebruikt voor de resourcegroep en het Media Services-account.
- Maak een service-principal voor uw toepassing. Zie toegangs-API's.
Pro tip! Houd dit venster geopend of kopieer alles op het JSON-tabblad naar Kladblok. - Zorg ervoor dat u de nieuwste versie van de AzureMediaServices SDK voor JavaScript hebt.
Belangrijk
Bekijk de naamconventies van Azure Media Services om inzicht te hebben in de belangrijke naamgevingsbeperkingen voor entiteiten.
De opslagplaats met Node.JS voorbeelden klonen
U werkt met een aantal bestanden in Azure-voorbeelden. Kloon de opslagplaats met Node.JS voorbeelden.
git clone https://github.com/Azure-Samples/media-services-v3-node-tutorials.git
De Node.js-pakketten installeren
Installeren @azure/arm-mediaservices
npm install @azure/arm-mediaservices
Voor dit voorbeeld gebruikt u de volgende pakketten in het package.json
bestand.
Pakket | Beschrijving |
---|---|
@azure/arm-mediaservices |
Azure Media Services SDK. Als u wilt controleren of u het nieuwste Azure Media Services-pakket gebruikt, controleert u npm install @azure/arm-mediaservices. |
@azure/identity |
Vereist voor Azure AD verificatie met behulp van service-principal of beheerde identiteit |
@azure/storage-blob |
Opslag-SDK. Wordt gebruikt bij het uploaden van bestanden naar assets. |
@azure/abort-controller |
Wordt samen met de opslagclient gebruikt om een time-out uit te voeren voor langlopende downloadbewerkingen |
Het package.json bestand maken
- Maak een
package.json
bestand met uw favoriete editor. - Open het bestand en plak de volgende code:
{
"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"
}
}
Verbinding maken met Node.js-client met behulp van TypeScript
Voorbeeld van .env-bestand
U bewaart uw verificatiewaarden in een bestand met de naam .env. (Dat klopt, geen bestandsnaam, alleen de extensie.) Lees Toegang tot de API voor meer informatie over het ophalen en kopiƫren van deze waarden. U kunt de waarden ophalen op de pagina API-toegang voor uw Media Services-account in de portal of de CLI gebruiken om de benodigde waarden op te halen.
Kopieer en plak de waarden in een bestand met de naam .env. Het bestand moet worden opgeslagen in de hoofdmap van uw werkopslagplaats.
Zodra u het .env-bestand hebt gemaakt, kunt u aan de slag met de voorbeelden.
De voorbeeldtoepassing HelloWorld-ListAssets uitvoeren
- Start Visual Studio Code vanuit de hoofdmap.
cd media-services-v3-node-tutorials
code .
- Installeer de pakketten die in het package.json-bestand worden gebruikt vanuit een terminal
npm install
Maak een kopie van het bestand sample.env , wijzig de naam ervan in .env en werk de waarden in het bestand bij zodat deze overeenkomen met uw account- en abonnementsgegevens. Mogelijk moet u deze informatie eerst verzamelen van de Azure Portal.
Wijzig de map in de map HelloWorld-ListAssets
cd HelloWorld-ListAssets
- Open het list-assets.ts-bestand in de map HelloWorld-ListAssets en druk op F5 in Visual Studio Code om het script uit te voeren. Er wordt een lijst met assets weergegeven als er al assets in het account staan. Als het account leeg is, ziet u een lege lijst.
Als u snel assets in de lijst wilt zien, gebruikt u de portal om een paar videobestanden te uploaden. Assets worden automatisch gemaakt en als u dit script opnieuw uitvoert, worden de namen ervan geretourneerd.
Het voorbeeld HelloWorld-ListAssets nader bekijken
In het voorbeeld HelloWorld-ListAssets ziet u hoe u verbinding maakt met de Media Services-client met een service-principal en assets in het account weergeeft. Zie de opmerkingen in de code voor een gedetailleerde uitleg van wat het doet.
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);
});
Meer voorbeelden
Er zijn nog veel meer voorbeelden beschikbaar in de opslagplaats. Raadpleeg het leesmij-bestand voor de meest recente bijgewerkte voorbeelden.
Naslaginformatie voor JavaScript-/TypeScript-ontwikkelaars van Media Services
- npm install @azure/arm-mediaservices
- Referentiedocumentatie voor Azure Media Services-modules voor Node.js
- Azure voor ontwikkelaars van JavaScript-& Node.js
- Media Services source code in the @azure/azure-sdk-for-js Git Hub repo
- Documentatie voor Azure-pakketten voor Node.js-ontwikkelaars
- Media Services-concepts
- Azure voor ontwikkelaars van JavaScript-& Node.js
- Media Services source code in the @azure/azure-sdk-for-js repo
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.