Connettersi all'API Servizi multimediali v3 - Node.js
Avviso
Servizi multimediali di Azure verrà ritirato il 30 giugno 2024. Per altre informazioni, vedere la Guida al ritiro di AMS.
Questo articolo illustra come connettersi a Servizi multimediali di Azure v3 node.js SDK usando il metodo di accesso dell'entità servizio. I file verranno usati nel repository di esempi media-services-v3-node-tutorials . L'esempio HelloWorld-ListAssets contiene il codice per la connessione e quindi elencare Asset nell'account.
Prerequisiti
- Un'installazione di Visual Studio Code.
- Installare Node.js.
- Installare TypeScript.
- Creare un account di Servizi multimediali di Azure. Assicurarsi di ricordare il nome del gruppo di risorse e quello dell'account di Servizi multimediali.
- Creare un'entità servizio per l'applicazione. Vedere API di accesso.
Suggerimento pro! Mantenere aperta questa finestra o copiare tutti gli elementi nella scheda JSON nel Blocco note. - Assicurarsi di ottenere la versione più recente di AzureMediaServices SDK per JavaScript.
Importante
Esaminare le convenzioni di denominazione di Servizi multimediali di Azure per comprendere le importanti restrizioni di denominazione sulle entità.
Clonare il repository di esempi di Node.JS
Verranno usati alcuni file in Esempi di Azure. Clonare il repository di esempi di Node.JS.
git clone https://github.com/Azure-Samples/media-services-v3-node-tutorials.git
Installare i pacchetti Node.js
Installare @azure/arm-mediaservices
npm install @azure/arm-mediaservices
Per questo esempio si useranno i pacchetti seguenti nel package.json
file.
Pacchetto | Descrizione |
---|---|
@azure/arm-mediaservices |
SDK di Servizi multimediali di Azure. Per assicurarsi di usare il pacchetto di Servizi multimediali di Azure più recente, controllare npm install @azure/arm-mediaservices. |
@azure/identity |
Obbligatorio per l'autenticazione di Azure AD usando l'entità servizio o l'identità gestita |
@azure/storage-blob |
Storage SDK. Usato durante il caricamento di file in asset. |
@azure/abort-controller |
Usato insieme al client di archiviazione per timeout operazioni di download a esecuzione prolungata |
Creare il file di package.json
- Creare un
package.json
file usando l'editor preferito. - Aprire il file e incollare il codice seguente:
{
"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"
}
}
Connettersi al client Node.js tramite TypeScript
File con estensione env di esempio
I valori di autenticazione verranno mantenuto in un file denominato .env. È giusto, nessun nome di file, solo l'estensione. Leggere Accedere all'API per informazioni su come ottenere e copiare questi valori. È possibile ottenere i valori dalla pagina Di accesso API per l'account di Servizi multimediali nel portale o usare l'interfaccia della riga di comando per ottenere i valori necessari.
Copiare e incollare i valori in un file denominato .env. Il file deve essere archiviato nella radice del repository di lavoro.
Dopo aver creato il file con estensione env , è possibile iniziare a usare gli esempi.
Eseguire l'applicazione di esempio HelloWorld-ListAssets
- Avviare Visual Studio Code dalla cartella radice.
cd media-services-v3-node-tutorials
code .
- Installare i pacchetti usati nel file package.json da un terminale
npm install
Creare una copia del file sample.env , rinominarla in .env e aggiornare i valori nel file in modo che corrispondano alle informazioni sull'account e sulla sottoscrizione. Potrebbe essere necessario raccogliere queste informazioni dall'portale di Azure prima.
Modificare la directory nella cartella HelloWorld-ListAssets
cd HelloWorld-ListAssets
- Aprire il file list-assets.ts nella cartella HelloWorld-ListAssets e premere il tasto F5 nel codice di Visual Studio per iniziare a eseguire lo script. Verrà visualizzato un elenco di asset visualizzati se sono già presenti asset nell'account. Se l'account è vuoto, verrà visualizzato un elenco vuoto.
Per visualizzare rapidamente gli asset elencati, usare il portale per caricare alcuni file video. Gli asset verranno creati automaticamente ognuno e l'esecuzione di questo script restituirà di nuovo i loro nomi.
Un'occhiata più vicina all'esempio HelloWorld-ListAssets
L'esempio HelloWorld-ListAssets illustra come connettersi al client di Servizi multimediali con un'entità servizio e elencare asset nell'account. Vedere i commenti nel codice per una spiegazione dettagliata delle operazioni che esegue.
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);
});
Altri esempi
Molti altri esempi sono disponibili nel repository. Esaminare il file readme per gli esempi aggiornati più recenti.
Riferimenti per sviluppatori JavaScript/TypeScript di Servizi multimediali
- npm install @azure/arm-mediaservices
- Documentazione di riferimento per i moduli di Servizi multimediali di Azure per Node.js
- Azure per gli sviluppatori di & Node.js JavaScript
- Media Services source code in the @azure/azure-sdk-for-js Git Hub repo
- Documentazione del pacchetto di Azure per gli sviluppatori di Node.js
- Concetti relativi ai Servizi multimediali
- Azure per gli sviluppatori di & Node.js JavaScript
- Media Services source code in the @azure/azure-sdk-for-js repo
Guida e supporto tecnico
È possibile contattare Servizi multimediali con domande o seguire gli aggiornamenti in base a uno dei metodi seguenti:
- DOMANDE E RISPOSTE
-
Stack Overflow. Contrassegna le domande con
azure-media-services
. - @MSFTAzureMedia o usare @AzureSupport per richiedere supporto.
- Aprire un ticket di supporto tramite il portale di Azure.