Se connecter à l’API Media Services v3 – Node.js
Avertissement
Azure Media Services sera mis hors service le 30 juin 2024. Pour plus d’informations, consultez le Guide de mise hors service AMS.
Cet article explique comment se connecter au kit SDK node.js Azure Media Services v3 suivant la méthode de connexion au principal de service. Vous travaillerez avec les fichiers contenus dans le dépôt d’exemples media-services-v3-node-tutorials. L’exemple HelloWorld-ListAssets contient le code pour la connexion, puis liste les actifs multimédias dans le compte.
Prérequis
- Une installation de Visual Studio Code.
- Installez Node.js.
- Installez TypeScript.
- Créer un compte Media Services. Veillez à mémoriser le nom du groupe de ressources et le nom du compte Media Services.
- Créez un principal du service pour votre application. Consultez Accéder aux API.
Conseil pro Laissez cette fenêtre ouverte ou copiez tout le contenu de l’onglet JSON dans le Bloc-notes. - Procurez-vous la dernière version du kit de développement logiciel (SDK) AzureMediaServices pour JavaScript.
Important
Passez en revue les conventions de nommage Azure Media Services pour comprendre les restrictions de nommage importantes concernant les entités.
Cloner le dépôt d’exemples Node.JS
Vous travaillerez avec certains fichiers contenus dans des exemples Azure. Clonez le dépôt d’exemples Node.JS.
git clone https://github.com/Azure-Samples/media-services-v3-node-tutorials.git
Installer les packages Node.js
Installer @azure/arm-mediaservices
npm install @azure/arm-mediaservices
Pour cet exemple, vous utiliserez les packages suivants dans le fichier package.json
.
Package | Description |
---|---|
@azure/arm-mediaservices |
Kit SDK Azure Media Services. Pour veiller à utiliser le dernier package Azure Media Services, vérifiez npm install @azure/arm-mediaservices. |
@azure/identity |
Nécessaire pour l’authentification Azure AD à l’aide d’un principal de service ou d’une identité managée |
@azure/storage-blob |
Kit SDK Stockage servant à charger des fichiers dans les ressources. |
@azure/abort-controller |
Utilisé avec le client de stockage pour faire expirer les opérations de téléchargement de longue durée |
Créer le fichier package.json
- Créez un fichier
package.json
dans votre éditeur favori. - Ouvrez le fichier et collez-y le code suivant :
{
"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"
}
}
Se connecter à un client Node.js à l’aide de TypeScript
Exemple de fichier .env
Vous allez conserver vos valeurs d’authentification dans un fichier nommé .env. (Ceci est correct, pas de nom de fichier, juste l’extension.) Lisez Accéder à l’API pour savoir comment obtenir et copier ces valeurs. Vous pouvez obtenir les valeurs à partir de la page Accéder à l’API de votre compte Media Services dans le portail ou utiliser l’interface CLI pour obtenir les valeurs nécessaires.
Copiez et collez les valeurs dans un fichier nommé .env. Le fichier doit être stocké à la racine de votre référentiel de travail.
Une fois le fichier .env créé, vous pouvez commencer à utiliser les exemples.
Exécuter l’exemple d’application HelloWorld-ListAssets
- Lancez Visual Studio Code à partir du dossier racine.
cd media-services-v3-node-tutorials
code .
- Installer les packages utilisés dans le fichier package.json à partir d’un terminal
npm install
Effectuez une copie du fichier sample.env, renommez-le en .env et mettez à jour les valeurs du fichier pour qu’elles correspondent à vos informations de compte et d’abonnement. Vous devrez peut-être rassembler ces informations à partir du Portail Azure d’abord.
Accédez au dossier HelloWorld-ListAssets
cd HelloWorld-ListAssets
- Ouvrez le fichier list-assets.ts dans le dossier HelloWorld-ListAssets, puis appuyez sur la touche F5 dans Visual Studio Code pour commencer à exécuter le script. Une liste d’actifs multimédias doit s’afficher si le compte en contient déjà. Si le compte est vide, une liste vide s’affiche.
Pour voir rapidement les actifs multimédias, utilisez le portail afin de charger quelques fichiers vidéo. Les actifs multimédias sont créés automatiquement, et une nouvelle exécution de ce script retourne leurs noms.
Analyse détaillée de l’exemple HelloWorld-ListAssets
L’exemple HelloWorld-ListAssets illustre comment se connecter au client Media Services avec un principal de service et lister les actifs multimédias dans le compte. Pour obtenir une explication détaillée de ce qu’il fait, consultez les commentaires dans le code.
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);
});
Autres exemples
De nombreux autres exemples sont disponibles dans le référentiel. Pour accéder aux derniers exemples mis à jour, consultez le fichier Lisez-moi.
Références pour les développeurs JavaScript/TypeScript pour Media Services
- npm install @azure/arm-mediaservices
- Documentation de référence pour les modules Azure Media Services pour Node.js
- Azure pour les développeurs JavaScript et Node.js
- Media Services source code in the @azure/azure-sdk-for-js Git Hub repo
- Documentation sur les packages Azure pour les développeurs Node.js
- Concepts Media Services
- Azure pour les développeurs JavaScript et Node.js
- Media Services source code in the @azure/azure-sdk-for-js repo
Obtenir de l’aide et du support
Vous pouvez contacter Media Services pour vous poser des questions ou suivre nos mises à jour en suivant l’une des méthodes suivantes :
- Q & R
-
Stack Overflow. Balisez les questions avec
azure-media-services
. - @MSFTAzureMedia ou utiliser @AzureSupport pour demander du support.
- Ouvrez un ticket de support via le Portail Azure.