Biblioteca de cliente do Azure Detetor de Anomalias para JavaScript – versão 3.0.0-beta.5
Azure AnomalyDetector A API permite-lhe monitorizar e detetar anomalias nos seus dados de série temporal com machine learning.
Ligações principais:
Conceitos-chave
O AnomalyDetectorClient
fornece métodos para a deteção de anomalias:
-
detectEntireSeries
- Deteta anomalias num conjunto de dados inteiro -
detectLastPoint
- Deteta anomalias no ponto de dados mais recente -
detectChangePoint
- Avalia a pontuação do ponto de alteração de cada ponto de série
Introdução
Ambientes atualmente suportados
- Versões LTS do Node.js
- Versões mais recentes do Safari, Chrome, Edge e Firefox.
Veja a nossa política de suporte para obter mais detalhes.
Pré-requisitos
- Uma subscrição do Azure.
- Um recurso de Detetor de Anomalias existente.
Se utilizar a CLI do Azure, substitua <your-resource-group-name>
e <your-resource-name>
pelos seus próprios nomes exclusivos:
az cognitiveservices account create --kind AnomalyDetector --resource-group <your-resource-group-name> --name <your-resource-name>
Instalar o pacote @azure/ai-anomaly-detector
Instale a biblioteca de cliente do Azure Detetor de Anomalias para JavaScript com npm
:
npm install @azure/ai-anomaly-detector
Criar e autenticar um AnomalyDetectorClient
Para criar um objeto de cliente para aceder à API Detetor de Anomalias, precisará do endpoint
recurso do Detetor de Anomalias e de um credential
. O cliente Detetor de Anomalias pode utilizar credenciais do Azure Active Directory ou uma credencial de chave de API para autenticar.
Pode encontrar o ponto final do recurso Detetor de Anomalias no portal do Azure ao clicar Keys and Endpoint
em Gestão de Recursos no menu ou no fragmento da CLI do Azure abaixo:
az cognitiveservices account show --name <your-resource-name> --resource-group <your-resource-group-name> --query "endpoint"
Utilizar uma Chave de API
Utilize o Portal do Azure para navegar para o recurso Detetor de Anomalias e obter uma chave de API ao clicar Keys and Endpoint
em Gestão de Recursos ou utilize o fragmento da CLI do Azure abaixo:
Nota: Por vezes, a chave de API é referida como uma "chave de subscrição" ou "chave de API de subscrição".
az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>
Assim que tiver uma chave de API e um ponto final, pode utilizar a AzureKeyCredential
classe para autenticar o cliente da seguinte forma:
const { AnomalyDetectorClient, AzureKeyCredential } = require("@azure/ai-anomaly-detector");
const client = new AnomalyDetectorClient("<endpoint>", new AzureKeyCredential("<API key>"));
Utilizar uma Credencial do Azure Active Directory
A autenticação da chave de API de cliente é utilizada na maioria dos exemplos, mas também pode autenticar com o Azure Active Directory com a [biblioteca de Identidade do Azure]. Para utilizar o fornecedor DefaultAzureCredential mostrado abaixo ou outros fornecedores de credenciais fornecidos com o SDK do Azure, instale o @azure/identity
pacote:
npm install @azure/identity
Também terá de registar uma nova aplicação do AAD e conceder acesso a Detetor de Anomalias ao atribuir a "Cognitive Services User"
função ao principal de serviço (nota: outras funções como "Owner"
não irão conceder as permissões necessárias, apenas "Cognitive Services User"
serão suficientes para executar os exemplos e o código de exemplo).
Defina os valores do ID de cliente, do ID do inquilino e do segredo do cliente da aplicação do AAD como variáveis de ambiente: AZURE_CLIENT_ID
, , AZURE_TENANT_ID
AZURE_CLIENT_SECRET
.
const { AnomalyDetectorClient } = require("@azure/ai-anomaly-detector");
const { DefaultAzureCredential } = require("@azure/identity");
const client = new AnomalyDetectorClient("<endpoint>", new DefaultAzureCredential());
Exemplos
Detetar Pontos de Alteração
Este exemplo demonstra como detetar pontos de alteração em séries inteiras.
const { AnomalyDetectorClient, TimeGranularity } = require("@azure/ai-anomaly-detector");
const { AzureKeyCredential } = require("@azure/core-auth");
// You will need to set this environment variables in .env file or edit the following values
const apiKey = process.env["API_KEY"] || "";
const endpoint = process.env["ENDPOINT"] || "";
async function main() {
// create client
const client = new AnomalyDetectorClient(endpoint, new AzureKeyCredential(apiKey));
// construct request
const request = {
series: [
{ timestamp: new Date("2018-03-01T00:00:00Z"), value: 32858923 },
{ timestamp: new Date("2018-03-02T00:00:00Z"), value: 29615278 },
{ timestamp: new Date("2018-03-03T00:00:00Z"), value: 22839355 },
{ timestamp: new Date("2018-03-04T00:00:00Z"), value: 25948736 },
{ timestamp: new Date("2018-03-05T00:00:00Z"), value: 34139159 },
{ timestamp: new Date("2018-03-06T00:00:00Z"), value: 33843985 },
{ timestamp: new Date("2018-03-07T00:00:00Z"), value: 33637661 },
{ timestamp: new Date("2018-03-08T00:00:00Z"), value: 32627350 },
{ timestamp: new Date("2018-03-09T00:00:00Z"), value: 29881076 },
{ timestamp: new Date("2018-03-10T00:00:00Z"), value: 22681575 },
{ timestamp: new Date("2018-03-11T00:00:00Z"), value: 24629393 },
{ timestamp: new Date("2018-03-12T00:00:00Z"), value: 34010679 },
{ timestamp: new Date("2018-03-13T00:00:00Z"), value: 33893888 },
{ timestamp: new Date("2018-03-14T00:00:00Z"), value: 33760076 },
{ timestamp: new Date("2018-03-15T00:00:00Z"), value: 33093515 }
],
granularity: TimeGranularity.daily
};
// get change point detect results
const result = await client.detectChangePoint(request);
const isChangePointDetected = result.isChangePoint.some((changePoint) => changePoint);
if (isChangePointDetected) {
console.log("Change points were detected from the series at index:");
result.isChangePoint.forEach((changePoint, index) => {
if (changePoint === true) {
console.log(index);
}
});
} else {
console.log("There is no change point detected from the series.");
}
// output:
// Change points were detected from the series at index:
// 9
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
Pode encontrar mais exemplos aqui
Resolução de problemas
Registo
Ativar o registo pode ajudar a descobrir informações úteis sobre falhas. Para ver um registo de pedidos e respostas HTTP, defina a variável de AZURE_LOG_LEVEL
ambiente como info
. Em alternativa, o registo pode ser ativado no runtime ao chamar setLogLevel
no @azure/logger
:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Para obter instruções mais detalhadas sobre como ativar os registos, pode ver os documentos do pacote @azure/logger.
Passos seguintes
Veja o diretório de exemplos para obter exemplos detalhados sobre como utilizar esta biblioteca.
Contribuir
Agradecemos todas as contribuições e sugestões para este projeto. A maioria das contribuições requerem que celebre um Contrato de Licença de Contribuição (CLA) no qual se declare que tem o direito de conceder e que, na verdade, concede-nos os direitos para utilizar a sua contribuição. Para mais detalhes, visite https://cla.microsoft.com.
Quando submete um pedido Pull, um bot do CLA determina automaticamente se tem de fornecer um CLA e decorar o PR de forma adequada (por exemplo, etiqueta, comentário). Só tem de seguir as instruções fornecidas pelo bot. Apenas terá de fazer isto uma vez em todos os repositórios com o nosso CLA.
Este projeto adotou o Microsoft Open Source Code of Conduct (Código de Conduta do Microsoft Open Source). Para obter mais informações, consulte as FAQ do Código de Conduta ou contacte opencode@microsoft.com com quaisquer perguntas ou comentários adicionais.
Se quiser contribuir para esta biblioteca, leia o guia de contribuição para saber mais sobre como criar e testar o código.
Azure SDK for JavaScript