Rövid útmutató: Az Univariate anomáliadetektor ügyfélkódtár használata
Fontos
2023. szeptember 20-tól nem hozhat létre új anomáliadetektor erőforrásokat. A anomáliadetektor szolgáltatás 2026. október 1-jén megszűnik.
Kódtár-referenciadokumentáció Kódtár forráskódcsomagja | (NuGet) |A mintakód megkeresése a GitHubon |
Ismerkedés a C# anomáliadetektor ügyfélkódtárával. A csomag telepítéséhez kövesse az alábbi lépéseket a szolgáltatás által biztosított algoritmusok használatával. A anomáliadetektor szolgáltatás lehetővé teszi, hogy az idősor adataiban rendellenességeket találjon a legjobban illeszkedő modellek automatikus használatával, iparágtól, forgatókönyvtől vagy adatmennyiségtől függetlenül.
Használja a C# anomáliadetektor ügyfélkódtárát a következő célokra:
- A rendellenességek észlelése az idősor adatkészletében kötegelt kérelemként
- Az idősor legújabb adatpontjának rendellenességi állapotának észlelése
- Trendváltozási pontok észlelése az adathalmazban.
Előfeltételek
- Azure-előfizetés – Ingyenes létrehozás
- A .NET Core aktuális verziója
- Miután megkapta az Azure-előfizetését, hozzon létre egy anomáliadetektor erőforrást az Azure Portalon a kulcs és a végpont lekéréséhez. Várja meg, amíg üzembe helyezi, és válassza az Erőforrás megnyitása gombot. Az ingyenes tarifacsomag (
F0
) használatával kipróbálhatja a szolgáltatást, és később frissíthet egy fizetős szintre az éles környezetben.
Beállítás
Egy új .NET Core-alkalmazás létrehozása
Egy konzolablakban (például parancsmag, PowerShell vagy Bash) a dotnet new
paranccsal hozzon létre egy új konzolalkalmazást a névvel anomaly-detector-quickstart
. Ez a parancs létrehoz egy egyszerű "„Helló világ!” alkalmazás" projektet egyetlen C#-forrásfájllal: Program.cs.
dotnet new console -n anomaly-detector-quickstart
Módosítsa a könyvtárat az újonnan létrehozott alkalmazásmappára. Az alkalmazást a következőkkel hozhatja létre:
dotnet build
A buildkimenet nem tartalmazhat figyelmeztetést vagy hibát.
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
Telepítse az ügyfélkódtárat
Az alkalmazáskönyvtárban telepítse a .NET-hez készült anomáliadetektor ügyfélkódtárat a következő paranccsal:
dotnet add package Azure.AI.AnomalyDetector --prerelease
Kulcs és végpont lekérése
A anomáliadetektor szolgáltatással való sikeres híváshoz a következő értékekre lesz szüksége:
Nyissa meg az erőforrást az Azure Portalon. A végpont és a kulcsok az Erőforrás-kezelés szakaszban találhatók. Másolja ki a végpontot és a hozzáférési kulcsot, mivel mindkettőre szüksége lesz az API-hívások hitelesítéséhez. A következők bármelyikét használhatja: KEY1
vagy KEY2
. A két kulcs mindig lehetővé teszi a kulcsok biztonságos elforgatását és újragenerálását anélkül, hogy szolgáltatáskimaradást okoz.
Környezeti változók létrehozása
Állandó környezeti változók létrehozása és hozzárendelése a kulcshoz és a végponthoz.
Fontos
HA API-kulcsot használ, biztonságosan tárolja valahol máshol, például az Azure Key Vaultban. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan.
Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.
setx ANOMALY_DETECTOR_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx ANOMALY_DETECTOR_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Mintaadatok letöltése
Ez a rövid útmutató a request-data.csv
GitHub-mintaadatokból letölthető fájlt használja
A mintaadatokat a következő futtatásával is letöltheti:
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
Anomáliák észlelése
Nyissa meg a program.cs fájlt a projektkönyvtárban, és cserélje le a következő kódra:
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.");
}
}
}
}
Futtassa az alkalmazást a következő paranccsal:
dotnet run program.cs
Hozam
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
Kód részletei
Az eredmények ismertetése
A fenti kódban a rendszer beolvassa és objektummá DetectRequest
alakítja a mintaadatokat. Meghívjuk File.ReadAllLines
a fájl elérési útját, létrehozunk egy objektumlistát TimeSeriesPoint
, és minden új sorkarakterek csíkozását. Bontsa ki az értékeket, és válassza el az időbélyeget a numerikus értékétől, és adja hozzá őket egy új TimeSeriesPoint
objektumhoz. Az DetectRequest
objektum adatpontok sorozatából áll, és TimeGranularity.Daily
az adatpontok részletessége (vagy periodikussága) szempontjából.
Ezután meghívjuk az ügyfél metódusát DetectEntireSeriesAsync
az DetectRequest
objektummal, és objektumként EntireDetectResponse
várjuk a választ. Ezután átvezetjük a válasz IsAnomaly
értékeit, és kinyomtatjuk az igaz értékeket. Ezek az értékek megfelelnek a rendellenes adatpontok indexének, ha vannak ilyenek.
Az erőforrások eltávolítása
Ha törölni és eltávolítani szeretne egy anomáliadetektor erőforrást, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli. Érdemes lehet törölnie a létrehozott környezeti változókat is, ha már nem szeretné használni őket.
Kódtár-referenciadokumentáció Kódtár forráskódcsomagja | (npm) |A mintakód megkeresése a GitHubon |
Ismerkedés a JavaScript anomáliadetektor ügyfélkódtárával. A csomag telepítéséhez kövesse az alábbi lépéseket, és kezdje el használni a szolgáltatás által biztosított algoritmusokat. A anomáliadetektor szolgáltatás lehetővé teszi, hogy az iparágtól, forgatókönyvtől vagy adatmennyiségtől függetlenül automatikusan a legjobban illeszkedő modellt használva rendellenességeket találjon az idősoradatokban.
A JavaScripthez készült anomáliadetektor ügyfélkódtár használatával:
- A rendellenességek észlelése az idősor adatkészletében kötegelt kérelemként
- Az idősor legújabb adatpontjának rendellenességi állapotának észlelése
- Trendváltozási pontok észlelése az adathalmazban.
Előfeltételek
- Azure-előfizetés – Ingyenes létrehozás
- A Node.js aktuális verziója
- Miután megkapta az Azure-előfizetését, hozzon létre egy anomáliadetektor erőforrást az Azure Portalon a kulcs és a végpont lekéréséhez. Várja meg, amíg üzembe helyezi, és válassza az Erőforrás megnyitása gombot. Az ingyenes tarifacsomag (
F0
) használatával kipróbálhatja a szolgáltatást, és később frissíthet egy fizetős szintre az éles környezetben.
Beállítás
Új Node.js-alkalmazás létrehozása
Egy konzolablakban (pl. cmd, PowerShell vagy Bash) hozzon létre egy új mappát az alkalmazásnak, majd navigáljon oda.
mkdir myapp && cd myapp
Hozzon létre egy package.json
fájlt a következő tartalommal:
{
"dependencies": {
"@azure/ai-anomaly-detector": "next",
"@azure-rest/ai-anomaly-detector": "next",
"@azure/core-auth": "^1.3.0",
"csv-parse": "^5.3.0"
}
}
Telepítse az ügyfélkódtárat
Telepítse a szükséges npm-csomagokat az alábbi parancs futtatásával a package.json fájllal megegyező könyvtárból:
npm install
Kulcs és végpont lekérése
A anomáliadetektor szolgáltatással való sikeres híváshoz a következő értékekre lesz szüksége:
Nyissa meg az erőforrást az Azure Portalon. A végpont és a kulcsok az Erőforrás-kezelés szakaszban találhatók. Másolja ki a végpontot és a hozzáférési kulcsot, mivel mindkettőre szüksége lesz az API-hívások hitelesítéséhez. A következők bármelyikét használhatja: KEY1
vagy KEY2
. A két kulcs mindig lehetővé teszi a kulcsok biztonságos elforgatását és újragenerálását anélkül, hogy szolgáltatáskimaradást okoz.
Környezeti változók létrehozása
Állandó környezeti változók létrehozása és hozzárendelése a kulcshoz és a végponthoz.
Fontos
HA API-kulcsot használ, biztonságosan tárolja valahol máshol, például az Azure Key Vaultban. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan.
Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.
setx ANOMALY_DETECTOR_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx ANOMALY_DETECTOR_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Mintaadatok letöltése
Ez a rövid útmutató a request-data.csv
GitHub-mintaadatokból letölthető fájlt használja
A mintaadatokat a következő futtatásával is letöltheti:
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
Anomáliák észlelése
Hozzon létre egy fájlt, index.js
és cserélje le a következő kódra:
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 };
Az alkalmazás futtatása
Futtassa az alkalmazást a node
paranccsal a gyorsútmutatós fájlon.
node index.js
Hozam
Anomalies were detected from the series at index:
3
18
21
22
23
24
25
28
29
30
31
32
35
44
Az eredmények ismertetése
A fenti kódban meghívjuk a anomáliadetektor API-t, hogy az ügyfél detectEntireSeries() metódusával kötegként észlelje az egész idősor rendellenességeit. A visszaadott AnomalyDetectorDetectEntireSeriesResponse objektumot tároljuk. Ezután végigvezetjük a válaszlistán isAnomaly
, és kinyomtatjuk az értékek true
indexét. Ezek az értékek megfelelnek a rendellenes adatpontok indexének, ha vannak ilyenek.
Az erőforrások eltávolítása
Ha törölni és eltávolítani szeretne egy anomáliadetektor erőforrást, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli. Érdemes lehet törölnie a létrehozott környezeti változókat is, ha már nem szeretné használni őket.
Kódtár referenciadokumentációja Kódtár forráskódcsomagja | (PyPi) |A mintakód megkeresése a GitHubon |
Ismerkedés a Python anomáliadetektor ügyfélkódtárával. A csomag telepítéséhez és a szolgáltatás által biztosított algoritmusok használatának megkezdéséhez kövesse az alábbi lépéseket. A anomáliadetektor szolgáltatás lehetővé teszi, hogy az idősor adataiban rendellenességeket találjon a legjobban illeszkedő modellek automatikus használatával, iparágtól, forgatókönyvtől vagy adatmennyiségtől függetlenül.
A Pythonhoz készült anomáliadetektor ügyfélkódtár használatával:
- A rendellenességek észlelése az idősor adatkészletében kötegelt kérelemként
- Az idősor legújabb adatpontjának rendellenességi állapotának észlelése
- Trendváltozási pontok észlelése az adathalmazban.
Előfeltételek
- Azure-előfizetés – Ingyenes létrehozás
- Python 3.x
- Pandas adatelemzési kódtár
- Miután megkapta az Azure-előfizetését, hozzon létre egy anomáliadetektor erőforrást az Azure Portalon a kulcs és a végpont lekéréséhez. Várja meg, amíg üzembe helyezi, és válassza az Erőforrás megnyitása gombot. Az ingyenes tarifacsomag (
F0
) használatával kipróbálhatja a szolgáltatást, és később frissíthet egy fizetős szintre az éles környezetben.
Beállítás
Telepítse az ügyfélkódtárat. Az ügyfélkódtárat a következőkkel telepítheti:
pip install --upgrade azure.ai.anomalydetector
Kulcs és végpont lekérése
A anomáliadetektor szolgáltatással való sikeres híváshoz a következő értékekre lesz szüksége:
Nyissa meg az erőforrást az Azure Portalon. A végpont és a kulcsok az Erőforrás-kezelés szakaszban találhatók. Másolja ki a végpontot és a hozzáférési kulcsot, mivel mindkettőre szüksége lesz az API-hívások hitelesítéséhez. A következők bármelyikét használhatja: KEY1
vagy KEY2
. A két kulcs mindig lehetővé teszi a kulcsok biztonságos elforgatását és újragenerálását anélkül, hogy szolgáltatáskimaradást okoz.
Környezeti változók létrehozása
Állandó környezeti változók létrehozása és hozzárendelése a kulcshoz és a végponthoz.
Fontos
HA API-kulcsot használ, biztonságosan tárolja valahol máshol, például az Azure Key Vaultban. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan.
Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.
setx ANOMALY_DETECTOR_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx ANOMALY_DETECTOR_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Mintaadatok letöltése
Ez a rövid útmutató a request-data.csv
GitHub-mintaadatokból letölthető fájlt használja
A mintaadatokat a következő futtatásával is letöltheti:
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
Anomáliák észlelése
Hozzon létre egy új Python-fájlt quickstart.py néven. Ezután nyissa meg a kívánt szerkesztőben vagy IDE-ben.
Cserélje le a quickstart.py tartalmát a következő kódra. Módosítsa a kódot úgy, hogy hozzáadja a környezeti változók nevét a kulcshoz, a végponthoz és az idősor adatútvonalához:
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))
Fontos
Éles környezetben biztonságos módon tárolhatja és érheti el a hitelesítő adatait, például az Azure Key Vaultot. A hitelesítő adatok biztonságával kapcsolatos további információkért tekintse meg az Azure AI-szolgáltatások biztonsági cikkét.
Futtassa az alkalmazást a
python
gyorsútmutató-fájl parancsávalpython quickstart.py
Hozam
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
Az eredmények ismertetése
A fenti kódban kétszer hívjuk meg a anomáliadetektor API-t. Az első hívás a módszerrel ellenőrzi a mintaadatsor trendváltozási pontjait detect_change_point
. Ez a hívás egy ChangePointDetectResponse
olyan változót ad vissza, amelyet egy elnevezett change_point_request
változóban tároltunk. Ezután átvezetjük a válasz is_change_point
listáját, és kinyomtatjuk az értékek indexét egy logikai true
értékkel.
A második hívás a teljes mintaadatsort ellenőrzi, hogy a metódussal detect_entire_series
anomáliák-e. Ez a hívás egy EntireDetectResponse
olyan változót ad vissza, amelyet egy elnevezett anomaly_response
változóban tároltunk. Végigvezetjük a válaszlistán is_anomaly
, és kinyomtatjuk az értékek indexét a true
logikai értékekkel. Alternatív megoldásként használhattuk volna a detect_last_point
módszert, amely alkalmasabb a valós idejű adatok rendellenességeinek észlelésére. További információért tekintse meg az ajánlott eljárásokat ismertető útmutatót.
Eredmények megjelenítése
A mintaadatsor rendellenességek és változáspontok megjelenítéséhez a népszerű nyílt forráskódú matplotlib könyvtárat fogjuk használni.
Telepítse a kódtárat.
pip install matplotlib
Módosítsa a quickstart.py fájlt a következő kóddal:
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()
Fontos
Éles környezetben biztonságos módon tárolhatja és érheti el a hitelesítő adatait, például az Azure Key Vaultot. A hitelesítő adatok biztonságával kapcsolatos további információkért tekintse meg az Azure AI-szolgáltatások biztonsági cikkét.
Futtassa az alkalmazást a
python
gyorsútmutató-fájl parancsávalpython quickstart.py
Hozam
Ebben a kód példában hozzáadtuk a matplotlib
kódtárat, amely lehetővé teszi számunkra a normál adatpontok vizualizációját és egyszerű megkülönböztetése a változási pontoktól és a rendellenességektól. A változási pontokat kék négyzetek jelölik, az anomáliák piros háromszögek, a normál adatpontok pedig zöld körök. A dátumok számokká alakulnak a diagramok date2num
y tengelyének gráfbarát értékeit biztosító metódus használatávalmatplotlib
.
Az erőforrások eltávolítása
Ha törölni és eltávolítani szeretne egy anomáliadetektor erőforrást, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli. Érdemes lehet törölnie a létrehozott környezeti változókat is, ha már nem szeretné használni őket.
Ebben a rövid útmutatóban megtudhatja, hogyan észlelheti az idősoradatok kötegében lévő rendellenességeket a anomáliadetektor szolgáltatás és a cURL használatával.
A anomáliadetektor fogalmait az áttekintési cikkben tekintheti meg.
Előfeltételek
- Azure-előfizetés – Ingyenes létrehozás
- Miután megkapta az Azure-előfizetését, hozzon létre egy anomáliadetektor erőforrást az Azure Portalon a kulcs és a végpont lekéréséhez. Várja meg, amíg üzembe helyezi, és válassza az Erőforrás megnyitása gombot. Az ingyenes tarifacsomag (
F0
) használatával kipróbálhatja a szolgáltatást, és később frissíthet egy fizetős szintre az éles környezetben. - Az idősoradatok érvényes JSON-fájlja az anomáliák teszteléséhez. Ha nem rendelkezik saját fájllal, létrehozhat egy sample.json fájlt a Kérelem törzsmintából
Kulcs és végpont lekérése
A anomáliadetektor szolgáltatással való sikeres híváshoz a következő értékekre lesz szüksége:
Változó neve | Érték |
---|---|
ANOMALY_DETECTOR_ENDPOINT |
Ez az érték a Kulcsok és végpont szakaszban található meg, amikor megvizsgálja az erőforrást az Azure Portalon. Példavégpont: https://YOUR_RESOURCE_NAME.cognitiveservices.azure.com/ |
ANOMALY_DETECTOR_API_KEY |
Az API-kulcs értéke a Kulcsok > végpont szakaszban található, amikor az erőforrást az Azure Portalról vizsgálja. A következők bármelyikét használhatja: KEY1 vagy KEY2 . |
Nyissa meg az erőforrást az Azure Portalon. A végpont és a kulcsok az Erőforrás-kezelés szakaszban találhatók. Másolja ki a végpontot és a hozzáférési kulcsot, mivel mindkettőre szüksége lesz az API-hívások hitelesítéséhez. A következők bármelyikét használhatja: KEY1
vagy KEY2
. A két kulcs mindig lehetővé teszi a kulcsok biztonságos elforgatását és újragenerálását anélkül, hogy szolgáltatáskimaradást okoz.
Környezeti változók létrehozása
Állandó környezeti változók létrehozása és hozzárendelése a kulcshoz és a végponthoz.
Fontos
HA API-kulcsot használ, biztonságosan tárolja valahol máshol, például az Azure Key Vaultban. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan.
Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.
setx ANOMALY_DETECTOR_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx ANOMALY_DETECTOR_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Anomáliák észlelése
Futtassa a következő parancsot egy parancssorban. A következő értékeket kell beszúrnia a parancsba.
- Az Anomáliadetektor szolgáltatás előfizetési kulcsa.
- Az Anomáliadetektor végpontcíme.
- Az idősoradatok érvényes JSON-fájlja az anomáliák teszteléséhez. Ha nem rendelkezik saját fájllal, létrehozhat egy sample.json fájlt a Kérelem törzsmintából.
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"
Példa a teljes parancsra egyetlen sorként:
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"
Másik lehetőségként, ha a cURL parancsot egy Bash-rendszerhéjból futtatja, a parancs kissé eltérő lesz:
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"
Ha az előfeltételekből származó mintaadatokat használta, a 200-ra vonatkozó választ kell kapnia a következő eredményekkel:
{
"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
}
További információ: Anomáliadetektálási REST-referencia.
Az erőforrások eltávolítása
Ha törölni és eltávolítani szeretne egy Azure AI-szolgáltatási előfizetést, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése az erőforráscsoporthoz társított egyéb erőforrásokat is törli.
Következő lépések
Fogalmak:
- Mi a anomáliadetektor API?
- Anomáliadetektálási módszerek
- Ajánlott eljárások a anomáliadetektor API használatakor.
Oktatóanyagok: