Media Services v3 API'sine bağlanma - Node.js
Uyarı
Azure Media Services 30 Haziran 2024'de kullanımdan kaldırılacaktır. Daha fazla bilgi için bkz. AMS Kullanımdan Kaldırma Kılavuzu.
Bu makalede hizmet sorumlusu oturum açma yöntemini kullanarak Azure Media Services v3 node.js SDK'sına nasıl bağlanabileceğiniz gösterilir. media-services-v3-node-tutorials örnek deposundaki dosyalarla çalışacaksınız. HelloWorld-ListAssets örneği, hesaptaki varlıkları listelemek için bağlanma kodunu içerir.
Önkoşullar
- Visual Studio Code yüklemesi.
- Node.jsyükleyin.
- TypeScript'i yükleyin.
- Media Services hesabı oluşturun. Kaynak grubu adını ve Media Services hesap adını unutmayın.
- Uygulamanız için bir hizmet sorumlusu oluşturun. Bkz. erişim API'leri.
Profesyonel ipucu! Bu pencereyi açık tutun veya JSON sekmesindeki her şeyi Not Defteri'ne kopyalayın. - JavaScript için AzureMediaServices SDK'sının en son sürümünü aldığınızdan emin olun.
Önemli
Varlıklardaki önemli adlandırma kısıtlamalarını anlamak için Azure Media Services adlandırma kurallarını gözden geçirin.
Node.JS örnekleri depoyu kopyalama
Azure Örnekleri'nde bazı dosyalarla çalışacaksınız. Node.JS örnekleri deposunu kopyalayın.
git clone https://github.com/Azure-Samples/media-services-v3-node-tutorials.git
Node.js paketlerini yükleme
Yüklemek @azure/arm-mediaservices
npm install @azure/arm-mediaservices
Bu örnek için dosyasında aşağıdaki paketleri package.json
kullanacaksınız.
Paket | Description |
---|---|
@azure/arm-mediaservices |
Azure Media Services SDK'sı. En son Azure Media Services paketini kullandığınızdan emin olmak için denetleyin npm install @azure/arm-mediaservices. |
@azure/identity |
Hizmet Sorumlusu veya Yönetilen Kimlik kullanarak Azure AD kimlik doğrulaması için gereklidir |
@azure/storage-blob |
Depolama SDK'sı. Varlıklara dosya yüklerken kullanılır. |
@azure/abort-controller |
Depolama istemcisiyle birlikte uzun süre çalışan indirme işlemleri zaman aşımına uğradı |
package.json dosyasını oluşturma
- Sık kullandığınız düzenleyiciyi kullanarak bir
package.json
dosya oluşturun. - Dosyasını açın ve aşağıdaki kodu yapıştırın:
{
"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"
}
}
TypeScript kullanarak Node.js istemcisine bağlanma
Örnek .env dosyası
Kimlik doğrulama değerlerinizi .env adlı bir dosyada tutacaksınız. (Doğru, dosya adı yok, yalnızca uzantı.) Bu değerleri almayı ve kopyalamayı öğrenmek için API'ye erişme bölümünü okuyun. Portalda Media Services hesabınızın API Erişimi sayfasından değerleri alabilir veya gereken değerleri almak için CLI'yı kullanabilirsiniz.
Değerleri kopyalayıp .env adlı bir dosyaya yapıştırın. Dosya, çalışma deponuzun kökünde depolanmalıdır.
.env dosyasını oluşturduktan sonra örneklerle çalışmaya başlayabilirsiniz.
HelloWorld-ListAssets örnek uygulamasını çalıştırma
- kök Klasörden Visual Studio Code başlatın.
cd media-services-v3-node-tutorials
code .
- terminalden package.json dosyasında kullanılan paketleri yükleme
npm install
sample.env dosyasının bir kopyasını yapın, .env olarak yeniden adlandırın ve dosyadaki değerleri hesap ve abonelik bilgilerinizle eşleşecek şekilde güncelleştirin. Bu bilgileri önce Azure portal toplamanız gerekebilir.
Dizini HelloWorld-ListAssets klasörüne değiştirme
cd HelloWorld-ListAssets
- HelloWorld-ListAssets klasöründeki list-assets.ts dosyasını açın ve betiği çalıştırmaya başlamak için Visual Studio code'da F5 tuşuna basın. Hesapta zaten varlıklarınız varsa, varlıkların listesinin görüntülendiğini görmeniz gerekir. Hesap boşsa boş bir liste görürsünüz.
Listelenen varlıkları hızla görmek için portalı kullanarak birkaç video dosyasını karşıya yükleyin. Varlıkların her biri otomatik olarak oluşturulur ve bu betiği yeniden çalıştırmak adlarını döndürür.
HelloWorld-ListAssets örneğine daha yakından bakış
HelloWorld-ListAssets örneği, Hizmet Sorumlusu ile Media Services istemcisine bağlanmayı ve hesaptaki Varlıkları listelemeyi gösterir. Ne yaptığına ilişkin ayrıntılı bir açıklama için koddaki açıklamalara bakın.
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);
});
Daha fazla örnek
Depoda daha birçok örnek mevcuttur. En son güncelleştirilen örnekler için benioku dosyasını gözden geçirin.
Media Services JavaScript/TypeScript geliştiricileri için başvurular
- npm install @azure/arm-mediaservices
- Node.jsiçin Azure Media Services modüllerine yönelik başvuru belgeleri
- JavaScript & Node.js geliştiricileri için Azure
- Media Services source code in the @azure/azure-sdk-for-js Git Hub repo
- Node.js geliştiricileri için Azure Paketi Belgeleri
- Media Services kavramları
- JavaScript & Node.js geliştiricileri için Azure
- Media Services source code in the @azure/azure-sdk-for-js repo
Yardım ve destek alma
Aşağıdaki yöntemlerden birini kullanarak Media Services ile iletişime geçebilir veya güncelleştirmelerimizi izleyebilirsiniz:
- Q & A
-
Stack Overflow. soruları ile etiketleyin
azure-media-services
. - Destek istemek için @AzureSupport @MSFTAzureMedia veya kullanın.
- Azure portal üzerinden bir destek bileti açın.