Biblioteca de clientes do Azure LoadTest para JavaScript – versão 1.0.0

Esse pacote contém um SDK isomórfico (executado em Node.js e em navegadores) para o cliente do Azure LoadTest.

O cliente LoadTest fornece acesso ao Recurso LoadTest e às operações de status.

Código-fonte | Pacote (NPM) | Documentação | de referência da APIAmostras

Introdução

Ambientes com suporte no momento

Confira nossa política de suporte para mais detalhes.

Pré-requisitos

Instalar o pacote @azure/arm-loadtesting

Instale a biblioteca de clientes do Azure LoadTest para JavaScript com npm:

npm install @azure/arm-loadtesting

Criar e autenticar um LoadTestClient

Para criar um objeto cliente para acessar a API do Azure LoadTest, você precisará do endpoint do recurso do Azure LoadTest e de um credential. O cliente do Azure LoadTest pode usar as credenciais do Azure Active Directory para autenticar. Você pode encontrar o ponto de extremidade do recurso Azure LoadTest no Portal do Azure.

Você pode autenticar com o Azure Active Directory usando uma credencial da biblioteca de @azure/identidade ou um Token do AAD existente.

Para usar o provedor DefaultAzureCredential mostrado abaixo ou outros provedores de credenciais fornecidos com o SDK do Azure, instale o @azure/identity pacote:

npm install @azure/identity

Você também precisará registrar um novo aplicativo do AAD e conceder acesso ao Azure LoadTest atribuindo a função adequada à entidade de serviço (observação: funções como "Owner" não concederão as permissões necessárias). Defina os valores da ID do cliente, da ID do locatário e do segredo do cliente do aplicativo AAD como variáveis de ambiente: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET.

Para obter mais informações sobre como criar um aplicativo Azure AD, confira este guia.

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

Criar um recurso de Teste de Carga do Azure

Crie um recurso de Teste de Carga do Azure.

loadTestResourceCreatePayload = {
  location: "westus2"
};

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

console.log(resource);

Crie um recurso de Teste de Carga do Azure com identidade gerenciada e criptografia de chave gerenciada pelo cliente.

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

Obter um recurso de Teste de Carga do Azure

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

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

console.log(resource);

Atualizar um recurso de Teste de Carga do Azure

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

Excluir um recurso do Teste de Carga do Azure

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

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

Pacote JavaScript

Para usar essa biblioteca de clientes no navegador, primeiro você precisa usar um empacotador. Para obter detalhes sobre como fazer isso, consulte nossa documentação de agrupamento.

Principais conceitos

LoadTestClient

LoadTestClient é a interface principal para desenvolvedores que usam a biblioteca de clientes do Azure LoadTest. Explore os métodos neste objeto cliente para entender os diferentes recursos do serviço Azure LoadTest que você pode acessar.

Solução de problemas

Log

A habilitação do log pode ajudar a descobrir informações úteis sobre falhas. Para ver um log de solicitações e respostas HTTP, defina a variável de ambiente AZURE_LOG_LEVEL como info. Como alternativa, o log pode ser habilitado no runtime chamando setLogLevel em @azure/logger:

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

Para obter instruções mais detalhadas sobre como habilitar logs, veja os documentos do pacote @azure/logger.

Próximas etapas

Dê uma olhada no diretório de exemplos para obter exemplos detalhados sobre como usar essa biblioteca.

Contribuição

Se você quiser contribuir com essa biblioteca, leia o guia de contribuição para saber como criar e testar o código.

Impressões