Menyambungkan ke Media Services v3 API - Node.js
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
- Penginstalan Visual Studio Code.
- Instal Node.js.
- Pasang TypeScript.
- Buat akun Media Services. Pastikan untuk mengingat nama grup sumber daya dan nama akun Media Services.
- Buat perwakilan layanan untuk aplikasi Anda. Lihat mengakses API.
Tips pro! Buka jendela ini atau salin semuanya di tab JSON ke Notepad. - Pastikan untuk mendapatkan versi AzureMediaServices SDK for JavaScript terbaru.
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
- Buat file
package.json
menggunakan editor favorit Anda. - 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
- Luncurkan Visual Studio Code dari Folder akar.
cd media-services-v3-node-tutorials
code .
- Instal paket yang digunakan dalam file package.json dari Terminal
npm install
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.
Ubah direktori ke dalam folder HelloWorld-ListAssets
cd HelloWorld-ListAssets
- 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
- npm install @azure/arm-mediaservices
- Dokumentasi referensi untuk modul Azure Media Services untuk Node.js
- Azure untuk pengembang JavaScript & Node.js
- Media Services source code in the @azure/azure-sdk-for-js Git Hub repo
- Dokumentasi Paket Azure untuk pengembang Node.js
- Konsep Media Services
- Azure untuk pengembang JavaScript & Node.js
- Media Services source code in the @azure/azure-sdk-for-js repo
Dapatkan bantuan dan dukungan
Anda dapat menghubungi Media Services dengan pertanyaan atau mengikuti pembaruan kami dengan salah satu metode berikut:
- T & A
- Stack Overflow. Beri tag pertanyaan dengan
azure-media-services
. - @MSFTAzureMedia atau gunakan @AzureSupport untuk meminta dukungan.
- Buka tiket dukungan melalui portal Azure.