Snabbstart: Använda Univariate Avvikelseidentifiering-klientbiblioteket
Viktigt!
Från och med den 20 september 2023 kan du inte skapa nya Avvikelseidentifiering resurser. Tjänsten Avvikelseidentifiering dras tillbaka den 1 oktober 2026.
Biblioteksreferensdokumentation Bibliotekets källkodspaket | (NuGet) |Hitta exempelkoden på GitHub |
Kom igång med Avvikelseidentifiering-klientbiblioteket för C#. Följ de här stegen för att installera paketet med hjälp av de algoritmer som tillhandahålls av tjänsten. Med Avvikelseidentifiering-tjänsten kan du hitta avvikelser i dina tidsseriedata genom att automatiskt använda de bästa modellerna på den, oavsett bransch, scenario eller datavolym.
Använd Avvikelseidentifiering-klientbiblioteket för C# för att:
- Identifiera avvikelser i tidsseriedatauppsättningen som en batchbegäran
- Identifiera avvikelsestatusen för den senaste datapunkten i tidsserien
- Identifiera trendändringspunkter i datauppsättningen.
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Den aktuella versionen av .NET Core
- När du har din Azure-prenumeration skapar du en Avvikelseidentifiering resurs i Azure Portal för att hämta din nyckel och slutpunkt. Vänta tills den har distribuerats och välj knappen Gå till resurs . Du kan använda den kostnadsfria prisnivån (
F0
) för att prova tjänsten och uppgradera senare till en betald nivå för produktion.
Konfigurera
Skapa en ny .NET Core-app
I ett konsolfönster (till exempel cmd, PowerShell eller Bash) använder du dotnet new
kommandot för att skapa en ny konsolapp med namnet anomaly-detector-quickstart
. Det här kommandot skapar ett enkelt "Hello World"-projekt med en enda C#-källfil: Program.cs.
dotnet new console -n anomaly-detector-quickstart
Ändra katalogen till den nyligen skapade appmappen. Du kan skapa programmet med:
dotnet build
Kompileringsutdata får inte innehålla några varningar eller fel.
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
Installera klientbiblioteket
Installera Avvikelseidentifiering-klientbiblioteket för .NET i programkatalogen med följande kommando:
dotnet add package Azure.AI.AnomalyDetector --prerelease
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Avvikelseidentifiering-tjänsten behöver du följande värden:
Variabelnamn | Värde |
---|---|
ANOMALY_DETECTOR_ENDPOINT |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Exempelslutpunkt: https://YOUR_RESOURCE_NAME.cognitiveservices.azure.com/ |
ANOMALY_DETECTOR_API_KEY |
API-nyckelvärdet finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan använda antingen KEY1 eller KEY2 . |
DATA_PATH |
Den här snabbstarten request-data.csv använder filen som kan laddas ned från våra GitHub-exempeldata. Exempelsökväg: c:\\test\\request-data.csv |
Gå till resursen i Azure Portal. Slutpunkten och nycklarna finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Skapa miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx ANOMALY_DETECTOR_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx ANOMALY_DETECTOR_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Ladda ned exempeldata
Den här snabbstarten request-data.csv
använder filen som kan laddas ned från våra GitHub-exempeldata
Du kan också ladda ned exempeldata genom att köra:
curl "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/anomalydetector/azure-ai-anomalydetector/samples/sample_data/request-data.csv" --output request-data.csv
Identifiera avvikelser
Öppna filen program.cs från projektkatalogen och ersätt med följande kod:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using Azure;
using Azure.AI.AnomalyDetector;
using static System.Environment;
namespace anomaly_detector_quickstart
{
internal class Program
{
static void Main(string[] args)
{
string endpoint = GetEnvironmentVariable("ANOMALY_DETECTOR_ENDPOINT");
string apiKey = GetEnvironmentVariable("ANOMALY_DETECTOR_API_KEY");
var endpointUri = new Uri(endpoint);
var credential = new AzureKeyCredential(apiKey);
//create client
AnomalyDetectorClient client = new AnomalyDetectorClient(endpointUri, credential);
//read data
//example: string datapath = @"c:\test\request-data.csv";
string datapath = @"REPLACE_WITH_YOUR_LOCAL_SAMPLE_REQUEST_DATA_PATH";
List<TimeSeriesPoint> list = File.ReadAllLines(datapath, Encoding.UTF8)
.Where(e => e.Trim().Length != 0)
.Select(e => e.Split(','))
.Where(e => e.Length == 2)
.Select(e => new TimeSeriesPoint(float.Parse(e[1])) { Timestamp = DateTime.Parse(e[0]) }).ToList();
//create request
UnivariateDetectionOptions request = new UnivariateDetectionOptions(list)
{
Granularity = TimeGranularity.Daily
};
UnivariateEntireDetectionResult result = client.DetectUnivariateEntireSeries(request);
bool hasAnomaly = false;
for (int i = 0; i < request.Series.Count; ++i)
{
if (result.IsAnomaly[i])
{
Console.WriteLine("Anomaly detected at index: {0}.", i);
hasAnomaly = true;
}
}
if (!hasAnomaly)
{
Console.WriteLine("No anomalies detected in the series.");
}
}
}
}
Kör programmet med följande kommando:
dotnet run program.cs
Output
Anomaly detected at index: 3
Anomaly detected at index: 18
Anomaly detected at index: 21
Anomaly detected at index: 22
Anomaly detected at index: 23
Anomaly detected at index: 24
Anomaly detected at index: 25
Anomaly detected at index: 28
Anomaly detected at index: 29
Anomaly detected at index: 30
Anomaly detected at index: 31
Anomaly detected at index: 32
Anomaly detected at index: 35
Anomaly detected at index: 44
Kodinformation
Förstå dina resultat
I koden ovan läse och konverteras exempeldata till ett DetectRequest
objekt. Vi anropar File.ReadAllLines
med filsökvägen och skapar en lista över TimeSeriesPoint
objekt och tar bort eventuella nya radtecken. Extrahera värdena och separera tidsstämpeln från dess numeriska värde och lägg till dem i ett nytt TimeSeriesPoint
objekt. Objektet DetectRequest
består av en serie datapunkter, med TimeGranularity.Daily
för datapunkternas kornighet (eller periodicitet).
Därefter anropar vi klientens DetectEntireSeriesAsync
-metod med DetectRequest
-objektet och väntar på svaret som ett EntireDetectResponse
objekt. Sedan itererar vi genom svarets IsAnomaly
värden och skriver ut alla som är sanna. Dessa värden motsvarar indexet för avvikande datapunkter, om några hittades.
Rensa resurser
Om du vill rensa och ta bort en Avvikelseidentifiering resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort. Du kan också överväga att ta bort de miljövariabler som du skapade om du inte längre tänker använda dem.
Biblioteksreferensdokumentation Bibliotekets källkodspaket | (npm) |Hitta exempelkoden på GitHub |
Kom igång med Avvikelseidentifiering-klientbiblioteket för JavaScript. Följ de här stegen för att installera paketet och börja använda de algoritmer som tillhandahålls av tjänsten. Med Avvikelseidentifiering-tjänsten kan du hitta avvikelser i dina tidsseriedata genom att automatiskt använda den bäst passande modellen på den, oavsett bransch, scenario eller datavolym.
Använd Avvikelseidentifiering-klientbiblioteket för JavaScript för att:
- Identifiera avvikelser i tidsseriedatauppsättningen som en batchbegäran
- Identifiera avvikelsestatusen för den senaste datapunkten i tidsserien
- Identifiera trendändringspunkter i datauppsättningen.
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Den aktuella versionen av Node.js
- När du har din Azure-prenumeration skapar du en Avvikelseidentifiering resurs i Azure Portal för att hämta din nyckel och slutpunkt. Vänta tills den har distribuerats och välj knappen Gå till resurs . Du kan använda den kostnadsfria prisnivån (
F0
) för att prova tjänsten och uppgradera senare till en betald nivå för produktion.
Konfigurera
Skapa ett nytt Node.js-program
Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den.
mkdir myapp && cd myapp
Skapa en package.json
fil med följande innehåll:
{
"dependencies": {
"@azure/ai-anomaly-detector": "next",
"@azure-rest/ai-anomaly-detector": "next",
"@azure/core-auth": "^1.3.0",
"csv-parse": "^5.3.0"
}
}
Installera klientbiblioteket
Installera nödvändiga npm-paket genom att köra följande från samma katalog som din package.json-fil:
npm install
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Avvikelseidentifiering-tjänsten behöver du följande värden:
Variabelnamn | Värde |
---|---|
ANOMALY_DETECTOR_ENDPOINT |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Exempelslutpunkt: https://YOUR_RESOURCE_NAME.cognitiveservices.azure.com/ |
ANOMALY_DETECTOR_API_KEY |
API-nyckelvärdet finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan använda antingen KEY1 eller KEY2 . |
datapath |
Den här snabbstarten request-data.csv använder filen som kan laddas ned från våra GitHub-exempeldata. |
Gå till resursen i Azure Portal. Slutpunkten och nycklarna finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Skapa miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx ANOMALY_DETECTOR_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx ANOMALY_DETECTOR_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Ladda ned exempeldata
Den här snabbstarten request-data.csv
använder filen som kan laddas ned från våra GitHub-exempeldata
Du kan också ladda ned exempeldata genom att köra:
curl "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/anomalydetector/azure-ai-anomalydetector/samples/sample_data/request-data.csv" --output request-data.csv
Identifiera avvikelser
Skapa en fil med namnet index.js
och ersätt med följande kod:
const AnomalyDetector = require("@azure-rest/ai-anomaly-detector").default,
{ isUnexpected } = require("@azure-rest/ai-anomaly-detector");
const { AzureKeyCredential } = require("@azure/core-auth");
const { parse } = require("csv-parse/sync");
const fs = require("fs");
// Retrieve the endpoint and key from the environment variables.
const apiKey = process.env["ANOMALY_DETECTOR_API_KEY"] || "";
const endpoint = process.env["ANOMALY_DETECTOR_ENDPOINT"] || "";
const timeSeriesDataPath = "./request-data.csv";
function read_series_from_file(path) {
let result = Array();
let input = fs.readFileSync(path).toString();
let parsed = parse(input, { skip_empty_lines: true });
parsed.forEach(function (e) {
result.push({ timestamp: new Date(e[0]), value: Number(e[1]) });
});
return result;
}
async function main() {
// create client
const credential = new AzureKeyCredential(apiKey);
const client = AnomalyDetector(endpoint, credential);
// construct request
const options = {
body: {
granularity: "daily",
imputeMode: "auto",
maxAnomalyRatio: 0.25,
sensitivity: 95,
series: read_series_from_file(timeSeriesDataPath),
},
headers: { "Content-Type": "application/json" },
};
// get last detect result
const result = await client.path("/timeseries/entire/detect").post(options);
if (isUnexpected(result)) {
throw result;
}
if (result.body.isAnomaly) {
result.body.isAnomaly.forEach(function (anomaly, index) {
if (anomaly === true) {
console.log(index);
}
});
} else {
console.log("There is no anomaly detected from the series.");
}
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
module.exports = { main };
Kör appen
Kör programmet med kommandot node
på din snabbstartsfil.
node index.js
Output
Anomalies were detected from the series at index:
3
18
21
22
23
24
25
28
29
30
31
32
35
44
Förstå dina resultat
I koden ovan anropar vi Avvikelseidentifiering-API:et för att identifiera avvikelser genom hela tidsserien som en batch med klientens detectEntireSeries()-metod. Vi lagrar det returnerade Objektet AnomalyDetectorDetectEntireSeriesResponse . Sedan itererar vi igenom svarets isAnomaly
lista och skriver ut indexet för alla true
värden. Dessa värden motsvarar indexet för avvikande datapunkter, om några hittades.
Rensa resurser
Om du vill rensa och ta bort en Avvikelseidentifiering resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort. Du kan också överväga att ta bort de miljövariabler som du skapade om du inte längre tänker använda dem.
Biblioteksreferensdokumentation Bibliotekets källkodspaket | (PyPi) |Hitta exempelkoden på GitHub |
Kom igång med Avvikelseidentifiering-klientbiblioteket för Python. Följ de här stegen för att installera paketet och börja använda de algoritmer som tillhandahålls av tjänsten. Med Avvikelseidentifiering-tjänsten kan du hitta avvikelser i dina tidsseriedata genom att automatiskt använda de bästa modellerna på den, oavsett bransch, scenario eller datavolym.
Använd Avvikelseidentifiering-klientbiblioteket för Python för att:
- Identifiera avvikelser i tidsseriedatauppsättningen som en batchbegäran
- Identifiera avvikelsestatusen för den senaste datapunkten i tidsserien
- Identifiera trendändringspunkter i datauppsättningen.
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Python 3.x
- Pandas-dataanalysbibliotek
- När du har din Azure-prenumeration skapar du en Avvikelseidentifiering resurs i Azure Portal för att hämta din nyckel och slutpunkt. Vänta tills den har distribuerats och välj knappen Gå till resurs . Du kan använda den kostnadsfria prisnivån (
F0
) för att prova tjänsten och uppgradera senare till en betald nivå för produktion.
Konfigurera
Installera klientbiblioteket. Du kan installera klientbiblioteket med:
pip install --upgrade azure.ai.anomalydetector
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Avvikelseidentifiering-tjänsten behöver du följande värden:
Variabelnamn | Värde |
---|---|
ANOMALY_DETECTOR_ENDPOINT |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Exempelslutpunkt: https://YOUR_RESOURCE_NAME.cognitiveservices.azure.com/ |
ANOMALY_DETECTOR_API_KEY |
API-nyckelvärdet finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan använda antingen KEY1 eller KEY2 . |
DATA_PATH |
Den här snabbstarten request-data.csv använder filen som kan laddas ned från våra GitHub-exempeldata. Exempelsökväg: c:\\test\\request-data.csv |
Gå till resursen i Azure Portal. Slutpunkten och nycklarna finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Skapa miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx ANOMALY_DETECTOR_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx ANOMALY_DETECTOR_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Ladda ned exempeldata
Den här snabbstarten request-data.csv
använder filen som kan laddas ned från våra GitHub-exempeldata
Du kan också ladda ned exempeldata genom att köra:
curl "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/anomalydetector/azure-ai-anomalydetector/samples/sample_data/request-data.csv" --output request-data.csv
Identifiera avvikelser
Skapa en ny Python-fil med namnet quickstart.py. Öppna den sedan i önskad redigerare eller IDE.
Ersätt innehållet i quickstart.py med följande kod. Ändra koden för att lägga till miljövariabelnamnen för din nyckel, slutpunkt och datasökvägen för tidsserier:
from azure.ai.anomalydetector import AnomalyDetectorClient from azure.ai.anomalydetector.models import * from azure.core.credentials import AzureKeyCredential import pandas as pd import os API_KEY = os.environ['ANOMALY_DETECTOR_API_KEY'] ENDPOINT = os.environ['ANOMALY_DETECTOR_ENDPOINT'] DATA_PATH = "REPLACE_WITH_YOUR_LOCAL_SAMPLE_REQUEST_DATA_PATH" #example: c:\\test\\request-data.csv client = AnomalyDetectorClient(ENDPOINT, AzureKeyCredential(API_KEY)) series = [] data_file = pd.read_csv(DATA_PATH, header=None, encoding='utf-8', date_parser=[0]) for index, row in data_file.iterrows(): series.append(TimeSeriesPoint(timestamp=row[0], value=row[1])) request = UnivariateDetectionOptions(series=series, granularity=TimeGranularity.DAILY) change_point_response = client.detect_univariate_change_point(request) anomaly_response = client.detect_univariate_entire_series(request) for i in range(len(data_file.values)): if (change_point_response.is_change_point[i]): print("Change point detected at index: "+ str(i)) elif (anomaly_response.is_anomaly[i]): print("Anomaly detected at index: "+ str(i))
Viktigt!
För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter som Azure Key Vault. Mer information om säkerhet för autentiseringsuppgifter finns i artikeln om Säkerhet för Azure AI-tjänster.
Kör programmet med
python
kommandot på snabbstartsfilenpython quickstart.py
Output
Anomaly detected at index: 3
Anomaly detected at index: 18
Change point detected at index: 20
Anomaly detected at index: 21
Anomaly detected at index: 22
Anomaly detected at index: 23
Anomaly detected at index: 24
Anomaly detected at index: 25
Change point detected at index: 27
Anomaly detected at index: 28
Anomaly detected at index: 29
Anomaly detected at index: 30
Anomaly detected at index: 31
Anomaly detected at index: 32
Anomaly detected at index: 35
Anomaly detected at index: 44
Förstå dina resultat
I koden ovan anropar vi Avvikelseidentifiering API två gånger. Det första anropet söker efter trendändringspunkter i våra exempeldataserier med detect_change_point
metoden . Det här anropet returnerar en ChangePointDetectResponse
som vi lagrade i en variabel med namnet change_point_request
. Vi itererar sedan igenom svarets is_change_point
lista och skriver ut indexet för alla värden med booleskt värde av true
.
Det andra anropet kontrollerar hela exempeldataserien efter avvikelser med hjälp av detect_entire_series
metoden. Det här anropet returnerar en EntireDetectResponse
som vi lagrade i en variabel med namnet anomaly_response
. Vi itererar genom svarets is_anomaly
lista och skriver ut indexet för alla värden med ett booleskt värde av true
. Alternativt kunde vi ha använt detect_last_point
metoden, vilket är lämpligare för att identifiera avvikelser i realtidsdata. Mer information finns i guiden för bästa praxis.
Visualisera resultat
För att visualisera avvikelser och ändringspunkter i förhållande till exempeldataserien använder vi det populära biblioteksmatplotlib med öppen källkod.
Installera biblioteket.
pip install matplotlib
Ändra din quickstart.py-fil med följande kod:
from azure.ai.anomalydetector import AnomalyDetectorClient from azure.ai.anomalydetector.models import * from azure.core.credentials import AzureKeyCredential import pandas as pd import matplotlib.pyplot as plt import matplotlib.dates as mdates import os API_KEY = os.environ['ANOMALY_DETECTOR_API_KEY'] ENDPOINT = os.environ['ANOMALY_DETECTOR_ENDPOINT'] DATA_PATH = "REPLACE_WITH_YOUR_LOCAL_SAMPLE_REQUEST_DATA_PATH" #example: c:\\test\\request-data.csv client = AnomalyDetectorClient(ENDPOINT, AzureKeyCredential(API_KEY)) series = [] data_file = pd.read_csv(DATA_PATH, header=None, encoding='utf-8', date_parser=[0]) for index, row in data_file.iterrows(): series.append(TimeSeriesPoint(timestamp=row[0], value=row[1])) request = UnivariateDetectionOptions(series=series, granularity=TimeGranularity.DAILY) change_point_response = client.detect_univariate_change_point(request) anomaly_response = client.detect_univariate_entire_series(request) for i in range(len(data_file.values)): temp_date_to_num = mdates.date2num(data_file.values[i]) date= temp_date_to_num[0] if (change_point_response.is_change_point[i]): plt.plot(date,data_file.values[i][1], 's', color ='blue') print("Change point detected at index: "+ str(i)) elif (anomaly_response.is_anomaly[i]): plt.plot(date,data_file.values[i][1], '^', color="red") print("Anomaly detected at index: "+ str(i)) else: plt.plot(date,data_file.values[i][1], 'o', color ='green') plt.show()
Viktigt!
För produktion använder du ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter som Azure Key Vault. Mer information om säkerhet för autentiseringsuppgifter finns i artikeln om Säkerhet för Azure AI-tjänster.
Kör programmet med
python
kommandot på snabbstartsfilenpython quickstart.py
Output
I det här kodexemplet har vi lagt till matplotlib
biblioteket så att vi kan visualisera och enkelt skilja normala datapunkter från ändringspunkter och avvikelser. Ändringspunkter representeras av blå fyrkanter, avvikelser är röda trianglar och normala datapunkter är gröna cirklar. Datum konverteras till tal med metoden matplotlib
's date2num
för att tillhandahålla grafvänliga värden för diagram-y-axeln.
Rensa resurser
Om du vill rensa och ta bort en Avvikelseidentifiering resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort. Du kan också överväga att ta bort de miljövariabler som du skapade om du inte längre tänker använda dem.
I den här snabbstarten lär du dig att identifiera avvikelser i en batch med tidsseriedata med hjälp av Avvikelseidentifiering-tjänsten och cURL.
En övergripande titt på Avvikelseidentifiering begrepp finns i översiktsartikeln.
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- När du har din Azure-prenumeration skapar du en Avvikelseidentifiering resurs i Azure Portal för att hämta din nyckel och slutpunkt. Vänta tills den har distribuerats och välj knappen Gå till resurs . Du kan använda den kostnadsfria prisnivån (
F0
) för att prova tjänsten och uppgradera senare till en betald nivå för produktion. - En giltig JSON-fil med tidsseriedata som ska testas för avvikelser. Om du inte har en egen fil kan du skapa en sample.json fil från brödtextexemplet Request
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Avvikelseidentifiering-tjänsten behöver du följande värden:
Variabelnamn | Värde |
---|---|
ANOMALY_DETECTOR_ENDPOINT |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Exempelslutpunkt: https://YOUR_RESOURCE_NAME.cognitiveservices.azure.com/ |
ANOMALY_DETECTOR_API_KEY |
API-nyckelvärdet finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan använda antingen KEY1 eller KEY2 . |
Gå till resursen i Azure Portal. Slutpunkten och nycklarna finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Skapa miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx ANOMALY_DETECTOR_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx ANOMALY_DETECTOR_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Identifiera avvikelser
Kör följande kommando i en kommandotolk. Du måste infoga följande värden i kommandot .
- Prenumerationsnyckeln för tjänsten Avvikelseidentifiering.
- Slutpunktsadressen för avvikelseidentifiering.
- En giltig JSON-fil med tidsseriedata som ska testas för avvikelser. Om du inte har en egen fil kan du skapa en sample.json fil från brödtextexemplet Begäran.
curl -v POST "%ANOMALY_DETECTOR_ENDPOINT%/anomalydetector/v1.0/timeseries/entire/detect"
-H "Content-Type: application/json"
-H "Ocp-Apim-Subscription-Key: %ANOMALY_DETECTOR_API_KEY%"
-d "@path_to_sample_file.json"
Ett exempel på det fullständiga kommandot som en enda rad:
curl -v POST "%ANOMALY_DETECTOR_ENDPOINT%/anomalydetector/v1.0/timeseries/entire/detect" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: %ANOMALY_DETECTOR_API_KEY%" -d "@c:\test\rest.json"
Alternativt om du kör cURL-kommandot från ett Bash-gränssnitt skulle kommandot vara något annorlunda:
curl -v POST "$ANOMALY_DETECTOR_ENDPOINT/anomalydetector/v1.0/timeseries/entire/detect" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: $ANOMALY_DETECTOR_API_KEY" -d "@c:\test\rest.json"
Om du använde exempeldata från förutsättningar bör du få ett svar 200 med följande resultat:
{
"expectedValues": [
827.7940908243968,
798.9133774671927,
888.6058431807189,
900.5606407986661,
962.8389426378304,
933.2591606306954,
891.0784104799666,
856.1781601363697,
809.8987227908941,
807.375129007505,
764.3196682448518,
803.933498594564,
823.5900620883058,
794.0905641334288,
883.164245249282,
894.8419000690953,
956.8430591101258,
927.6285055190114,
885.812983784303,
851.6424797402517,
806.0927886943216,
804.6826815312029,
762.74070738882,
804.0251702513732,
825.3523662579559,
798.0404188724976,
889.3016505577698,
902.4226124345937,
965.867078532635,
937.3200495736695,
896.1720524711102,
862.0087368413656,
816.4662342097423,
814.4297745524709,
771.8614479159354,
811.859271346729,
831.8998279215521,
802.947544797165,
892.5684407435083,
904.5488214533809,
966.8527063844707,
937.3168391003043,
895.180003672544,
860.3649596356635,
814.1707285969043,
811.9054862686213,
769.1083769610742,
809.2328084659704
],
"upperMargins": [
41.389704541219835,
39.94566887335964,
44.43029215903594,
45.02803203993331,
48.14194713189152,
46.66295803153477,
44.55392052399833,
42.808908006818484,
40.494936139544706,
40.36875645037525,
38.215983412242586,
40.196674929728196,
41.17950310441529,
39.70452820667144,
44.1582122624641,
44.74209500345477,
47.84215295550629,
46.38142527595057,
44.290649189215145,
42.58212398701258,
40.30463943471608,
40.234134076560146,
38.137035369441,
40.201258512568664,
41.267618312897795,
39.90202094362488,
44.46508252788849,
45.121130621729684,
48.29335392663175,
46.86600247868348,
44.80860262355551,
43.100436842068284,
40.82331171048711,
40.721488727623544,
38.593072395796774,
40.59296356733645,
41.5949913960776,
40.14737723985825,
44.62842203717541,
45.227441072669045,
48.34263531922354,
46.86584195501521,
44.759000183627194,
43.01824798178317,
40.70853642984521,
40.59527431343106,
38.45541884805371,
40.46164042329852
],
"lowerMargins": [
41.389704541219835,
39.94566887335964,
44.43029215903594,
45.02803203993331,
48.14194713189152,
46.66295803153477,
44.55392052399833,
42.808908006818484,
40.494936139544706,
40.36875645037525,
38.215983412242586,
40.196674929728196,
41.17950310441529,
39.70452820667144,
44.1582122624641,
44.74209500345477,
47.84215295550629,
46.38142527595057,
44.290649189215145,
42.58212398701258,
40.30463943471608,
40.234134076560146,
38.137035369441,
40.201258512568664,
41.267618312897795,
39.90202094362488,
44.46508252788849,
45.121130621729684,
48.29335392663175,
46.86600247868348,
44.80860262355551,
43.100436842068284,
40.82331171048711,
40.721488727623544,
38.593072395796774,
40.59296356733645,
41.5949913960776,
40.14737723985825,
44.62842203717541,
45.227441072669045,
48.34263531922354,
46.86584195501521,
44.759000183627194,
43.01824798178317,
40.70853642984521,
40.59527431343106,
38.45541884805371,
40.46164042329852
],
"isAnomaly": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
true,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"isPositiveAnomaly": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
true,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"isNegativeAnomaly": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"period": 12
}
Mer information finns i REST-referensen för avvikelseidentifiering.
Rensa resurser
Om du vill rensa och ta bort en Azure AI-tjänstprenumeration kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med resursgruppen bort.
Nästa steg
Koncept:
- Vad är Avvikelseidentifiering-API:et?
- Metoder för avvikelseidentifiering
- Metodtips när du använder Avvikelseidentifiering-API:et.
Självstudier: