Aracılığıyla paylaş


JavaScript için Azure LoadTest istemci kitaplığı - sürüm 1.0.0

Bu paket, Azure LoadTest istemcisi için bir izomorfik SDK (hem Node.js hem de tarayıcılarda çalışır) içerir.

LoadTest istemcisi, LoadTest Kaynağına ve durum işlemlerine erişim sağlar.

Kaynak kodu | Paket (NPM) | API başvuru belgeleri | Örnekleri

Başlarken

Şu anda desteklenen ortamlar

Daha fazla ayrıntı için destek ilkemize bakın.

Önkoşullar

@azure/arm-loadtesting paketini yükleyin

ile npmJavaScript için Azure LoadTest istemci kitaplığını yükleyin:

npm install @azure/arm-loadtesting

Oluşturma ve kimlik doğrulaması LoadTestClient

Azure LoadTest API'sine erişmek üzere bir istemci nesnesi oluşturmak için Azure LoadTest kaynağınızın ve değerinin credentialolması gerekirendpoint. Azure LoadTest istemcisi kimlik doğrulaması için Azure Active Directory kimlik bilgilerini kullanabilir. Azure LoadTest kaynağınızın uç noktasını Azure Portal'da bulabilirsiniz.

@azure/kimlik kitaplığından veya mevcut bir AAD Belirtecinden kimlik bilgilerini kullanarak Azure Active Directory ile kimlik doğrulaması yapabilirsiniz.

Aşağıda gösterilen DefaultAzureCredential sağlayıcısını veya Azure SDK ile sağlanan diğer kimlik bilgileri sağlayıcılarını kullanmak için lütfen paketi yükleyin @azure/identity :

npm install @azure/identity

Ayrıca, hizmet sorumlunuza uygun rolü atayarak yeni bir AAD uygulaması kaydetmeniz ve Azure LoadTest'e erişim vermeniz gerekir (not: gibi "Owner" roller gerekli izinleri vermez). AAD uygulamasının istemci kimliği, kiracı kimliği ve istemci gizli dizisi değerlerini ortam değişkenleri olarak ayarlayın: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET.

Azure AD Uygulaması oluşturma hakkında daha fazla bilgi için bu kılavuzu gözden geçirin.

const { LoadTestClient } = require("@azure/arm-loadtesting");
const { DefaultAzureCredential } = require("@azure/identity");
// For client-side applications running in the browser, use InteractiveBrowserCredential instead of DefaultAzureCredential. See https://aka.ms/azsdk/js/identity/examples for more details.

const subscriptionId = "00000000-0000-0000-0000-000000000000";
const client = new LoadTestClient(new DefaultAzureCredential(), subscriptionId);

// For client-side applications running in the browser, use this code instead:
// const credential = new InteractiveBrowserCredential({
//   tenantId: "<YOUR_TENANT_ID>",
//   clientId: "<YOUR_CLIENT_ID>"
// });
// const client = new LoadTestClient(credential, subscriptionId);

Azure Load Testing kaynağı oluşturma

Yeni bir Azure Yük Testi kaynağı oluşturun.

loadTestResourceCreatePayload = {
  location: "westus2"
};

const resource = await client.loadTests.beginCreateOrUpdateAndWait(
  "sample-rg",
  "sample-loadtesting-resource",
  loadTestResourceCreatePayload
);

console.log(resource);

Yönetilen kimlik ve müşteri tarafından yönetilen anahtar şifrelemesi ile yeni bir Azure Yük Testi kaynağı oluşturun.

loadTestResourceCreatePayload = {
  location: "westus2",
  tags: { team: "testing" },
  identity: {
    type: 'SystemAssigned, UserAssigned',
    userAssignedIdentities: {
      '/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sample-rg/providers/microsoft.managedidentity/userassignedidentities/identity1': {}
    }
  },
  encryption: {
    identity: {
      type: 'UserAssigned',
      resourceId: '/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sample-rg/providers/microsoft.managedidentity/userassignedidentities/identity1'
    },
    keyUrl: 'https://sample-kv.vault.azure.net/keys/cmkkey/2d1ccd5c50234ea2a0858fe148b69cde'
  }
};

const resource = await client.loadTests.beginCreateOrUpdateAndWait(
  "sample-rg",
  "sample-loadtesting-resource",
  loadTestResourceCreatePayload
);

console.log(resource);

Azure Yük Testi kaynağı alma

let resourceName = 'sample-loadtesting-resource';
let resourceGroupName = 'sample-rg';

const resource = await client.loadTests.get(
  resourceGroupName,
  resourceName
);

console.log(resource);

Azure Yük Testi kaynağını güncelleştirme

loadTestResourcePatchPayload = {
  tags: { team: "testing-dev" },
  identity: {
    type: 'SystemAssigned, UserAssigned',
    userAssignedIdentities: {
      // removing a user-assigned managed identity by assigning the value in the payload as null
      '/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sample-rg/providers/microsoft.managedidentity/userassignedidentities/identity1': null,
      '/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sample-rg/providers/microsoft.managedidentity/userassignedidentities/identity2': {}
    }
  },
  encryption: {
    // use system-assigned managed identity for CMK encryption
    identity: {
      type: 'SystemAssigned',
      resourceId: null
    },
    keyUrl: 'https://sample-kv.vault.azure.net/keys/cmkkey/2d1ccd5c50234ea2a0858fe148b69cde'
  }
};

const resource = await client.loadTests.beginUpdateAndWait(
  "sample-rg",
  "sample-loadtesting-resource",
  loadTestResourcePatchPayload
);

console.log(resource);

Azure Load Testing kaynağını silme

let resourceName = 'sample-loadtesting-resource';
let resourceGroupName = 'sample-rg';

const result = await client.loadTests.beginDeleteAndWait(
  resourceGroupName,
  resourceName
);

JavaScript Paketi

Bu istemci kitaplığını tarayıcıda kullanmak için önce bir paketleyici kullanmanız gerekir. Bunun nasıl yapılacağının ayrıntıları için lütfen paketleme belgelerimize bakın.

Önemli kavramlar

LoadTestClient

LoadTestClient , Azure LoadTest istemci kitaplığını kullanan geliştiriciler için birincil arabirimdir. Azure LoadTest hizmetinin erişebileceğiniz farklı özelliklerini anlamak için bu istemci nesnesinde yöntemleri keşfedin.

Sorun giderme

Günlüğe Kaydetme

Günlüğün etkinleştirilmesi hatalarla ilgili yararlı bilgilerin ortaya çıkarılmasına yardımcı olabilir. HTTP isteklerinin ve yanıtlarının günlüğünü görmek için ortam değişkenini AZURE_LOG_LEVEL olarak infoayarlayın. Alternatif olarak, günlüğü çalışma zamanında içinde çağrılarak setLogLevel@azure/loggeretkinleştirilebilir:

const { setLogLevel } = require("@azure/logger");
setLogLevel("info");

Günlükleri etkinleştirme hakkında daha ayrıntılı yönergeler için @azure/günlükçü paketi belgelerine bakabilirsiniz.

Sonraki adımlar

Bu kitaplığın nasıl kullanılacağına ilişkin ayrıntılı örnekler için lütfen samples dizinine göz atın.

Katkıda bulunma

Bu kitaplığa katkıda bulunmak isterseniz, kodu derleme ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzunu okuyun.

İzlenimler