Aracılığıyla paylaş


Media Services v3 API'sine bağlanma - Node.js

Media Services logosu v3


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

Ö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

  1. Sık kullandığınız düzenleyiciyi kullanarak bir package.json dosya oluşturun.
  2. 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

  1. kök Klasörden Visual Studio Code başlatın.
cd media-services-v3-node-tutorials
code .
  1. terminalden package.json dosyasında kullanılan paketleri yükleme
npm install
  1. 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.

  2. Dizini HelloWorld-ListAssets klasörüne değiştirme

cd HelloWorld-ListAssets
  1. 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

Yardım ve destek alma

Aşağıdaki yöntemlerden birini kullanarak Media Services ile iletişime geçebilir veya güncelleştirmelerimizi izleyebilirsiniz: