Bagikan melalui


Menyambungkan ke Media Services v3 API - Node.js

Logo Azure Media Services v3


Peringatan

Azure Media Services akan dihentikan pada 30 Juni 2024. Untuk informasi selengkapnya, lihat Panduan Penghentian AMS.

Artikel ini memperlihatkan cara menyambungkan ke Azure Media Services v3 node.js SDK menggunakan metode masuk perwakilan layanan. Anda akan bekerja dengan file di repositori sampel media-services-v3-node-tutorials. Sampel HelloWorld-ListAssets berisi kode untuk menghubungkan, lalu mencantumkan Aset di akun.

Prasyarat

Penting

Ulas konvensi penamaan Azure Media Services untuk memahami pembatasan penamaan penting pada entitas.

Mengklon repositori sampel Node.JS

Anda akan bekerja dengan beberapa file dalam Azure Sample. Klon repositori sampel Node.JS.

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

Menginstal paket Node.js

Menginstal @azure/arm-mediaservices

npm install @azure/arm-mediaservices

Untuk contoh ini, Anda akan menggunakan paket berikut dalam file package.json.

Paket Deskripsi
@azure/arm-mediaservices Azure Media Services SDK.
Untuk memastikan Anda menggunakan paket Azure Media Services terbaru, periksa npm install @azure/arm-mediaservices.
@azure/identity Diperlukan untuk autentikasi Azure Active Directory menggunakan Perwakilan Layanan atau Identitas Terkelola
@azure/storage-blob Storage SDK. Digunakan saat mengunggah file ke aset.
@azure/abort-controller Digunakan bersama dengan klien penyimpanan untuk menghentikan operasi pengunduhan yang berjalan lama

Membuat file package.json

  1. Buat file package.json menggunakan editor favorit Anda.
  2. Buka file dan tempel kode berikut:
{
  "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"
  }
}

Menyambungkan ke klien Node.js menggunakan TypeScript

File .env sampel

Anda akan menyimpan nilai autentikasi Anda dalam file bernama .env. (Benar, tidak ada nama file, hanya ekstensi.) Baca Mengakses API untuk mempelajari cara mendapatkan dan menyalin nilai-nilai ini. Anda bisa mendapatkan nilai dari halaman Akses API untuk akun Azure Media Services Anda di portal, atau menggunakan CLI untuk mendapatkan nilai yang diperlukan.

Salin dan tempel nilai ke dalam file bernama .env. Konten harus disimpan di akar repositori kerja Anda.

Setelah Anda membuat file .env, Anda dapat mulai bekerja dengan sampel.

Menjalankan aplikasi sampel HelloWorld-ListAssets

  1. Luncurkan Visual Studio Code dari Folder akar.
cd media-services-v3-node-tutorials
code .
  1. Instal paket yang digunakan dalam file package.json dari Terminal
npm install
  1. Buat salinan file sample.env, ganti namanya menjadi .env dan perbarui nilai dalam file agar sesuai dengan informasi akun dan langganan Anda. Anda mungkin perlu mengumpulkan informasi ini dari portal Microsoft Azure terlebih dahulu.

  2. Ubah direktori ke dalam folder HelloWorld-ListAssets

cd HelloWorld-ListAssets
  1. Buka file list-assets.ts di folder HelloWorld-ListAssets dan tekan tombol F5 dalam Visual Studio code untuk mulai menjalankan skrip. Anda akan melihat daftar aset yang ditampilkan jika Anda memiliki aset yang sudah ada di akun. Jika akun kosong, Anda akan melihat daftar kosong.

Untuk melihat aset tercantum dengan cepat, gunakan portal untuk mengunggah beberapa file video. Aset masing-masing akan dibuat secara otomatis dan menjalankan skrip ini lagi selanjutnya akan mengembalikan namanya.

Melihat lebih dekat sampel HelloWorld-ListAssets

Sampel HelloWorld-ListAssets memperlihatkan cara terhubung ke klien Media Services dengan Perwakilan layanan dan mencantumkan Aset di akun. Lihat komentar dalam kode untuk penjelasan terperinci tentang fungsinya.

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

Sampel lainnya

Banyak lagi contoh yang tersedia di repositori. Tinjau file readme untuk contoh terbaru yang diperbarui.

Referensi untuk pengembang JavaScript/TypeScript Media Services

Dapatkan bantuan dan dukungan

Anda dapat menghubungi Media Services dengan pertanyaan atau mengikuti pembaruan kami dengan salah satu metode berikut: