Použití rozhraní REST API k interakci s Chaos Studio
Pokud integrujete Azure Chaos Studio do kanálů CI/CD nebo jednoduše dáváte přednost přímému volání rozhraní API pro interakci s prostředky Azure, můžete použít rozhraní REST API služby Chaos Studio. Úplný odkaz na rozhraní API najdete v referenčních informacích k rozhraní REST API služby Azure Chaos Studio. Tato stránka obsahuje ukázky efektivního používání rozhraní REST API a není určena jako komplexní referenční informace.
Tento článek předpokládá, že k provedení těchto příkazů používáte Azure CLI , ale můžete je přizpůsobit dalším standardním klientům REST.
Rozhraní REST API aplikace Chaos Studio můžete použít k:
- Vytváření, úpravy a odstraňování experimentů
- Zobrazení, spuštění a zastavení provádění experimentů
- Zobrazení a správa cílů
- Registrace a zrušení registrace předplatného u poskytovatele prostředků Chaos Studio
- Umožňuje zobrazit dostupné operace poskytovatele prostředků.
az cli
Pomocí nástroje proveďte tyto akce z příkazového řádku.
Tip
Pokud chcete získat podrobnější výstup pomocí Azure CLI, připojte --verbose
se ke konci každého příkazu. Tato proměnná vrací další metadata při spuštění příkazů, včetně x-ms-correlation-request-id
toho, který pomáhá při ladění.
Tyto příklady jsme si prošli obecně dostupnou verzí 2023-11-01
rozhraní API chaos studia .
Příkazy poskytovatele prostředků
Tato část obsahuje seznam příkazů zprostředkovatele Chaos Studio, které vám pomůžou porozumět stavu a dostupným operacím poskytovatele prostředků.
Výpis podrobností o poskytovateli prostředků Microsoft.Chaos
Zobrazí se informace, jako jsou dostupné verze rozhraní API pro poskytovatele prostředků Chaos a dostupnost oblastí. api-version
Nejnovější vyžadované pro tento postup se mohou lišit od api-version
operací poskytovatele prostředků Chaos.
az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Chaos?api-version={apiVersion}"
Výpis všech operací poskytovatele prostředků Microsoft.Chaos
az rest --method get --url "https://management.azure.com/providers/Microsoft.Chaos/operations?api-version={apiVersion}"
Cíle a schopnosti
Tyto operace vám pomůžou zjistit, jaké cíle a možnosti jsou k dispozici, a přidat je do cíle.
Výpis všech cílových typů dostupných v oblasti
az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes?api-version={apiVersion}"
Výpis všech funkcí dostupných pro cílový typ
az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetType}/capabilityTypes?api-version={apiVersion}"
Povolení prostředku jako cíle
Pokud chcete použít prostředek v experimentu, musíte ho povolit jako cíl.
az rest --method put --url "https://management.azure.com/{resourceId}/providers/Microsoft.Chaos/targets/{targetType}?api-version={apiVersion}" --body "{'properties':{}}"
Povolení možností pro cíl
Jakmile je prostředek povolený jako cíl, musíte určit, jaké funkce (odpovídající chybám) jsou povolené.
az rest --method put --url "https://management.azure.com/{resourceId}/providers/Microsoft.Chaos/targets/{targetType}/capabilities/{capabilityName}?api-version={apiVersion}" --body "{'properties':{}}"
Podívejte se, jaké funkce jsou pro cíl povolené.
Jakmile je cíl a možnosti povolené, můžete zobrazit povolené možnosti. To je užitečné při vytváření experimentu chaosu, protože obsahuje schéma parametrů pro každou chybu.
az rest --method get --url "https://management.azure.com/{resourceId}/providers/Microsoft.Chaos/targets/{targetType}/capabilities?api-version={apiVersion}"
Experimenty
Tyto operace vám pomůžou zobrazit, spustit a spravovat experimenty.
Zobrazení seznamu všech experimentů ve skupině prostředků
az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Chaos/experiments?api-version={apiVersion}"
Získání podrobností o konfiguraci experimentu podle názvu
az rest --method get --url "https://management.azure.com/{experimentId}?api-version={apiVersion}"
Vytvoření nebo aktualizace experimentu
az rest --method put --url "https://management.azure.com/{experimentId}?api-version={apiVersion}" --body @{experimentName.json}
Poznámka: Pokud se zobrazí UnsupportedMediaType
chyba, ujistěte se, že je odkazovaný soubor JSON platný, a zkuste na soubor odkazovat .json
jinými způsoby. Různé interprety příkazového řádku mohou vyžadovat různé metody odkazování na soubor. Další běžnou syntaxí je --body "@experimentName.json"
.
Odstranění experimentu
az rest --method delete --url "https://management.azure.com/{experimentId}?api-version={apiVersion}"
Spuštění experimentu
az rest --method post --url "https://management.azure.com/{experimentId}/start?api-version={apiVersion}"
Získání všech spuštění experimentu
az rest --method get --url "https://management.azure.com/{experimentId}/executions?api-version={apiVersion}"
Výpis podrobností o konkrétním spuštění experimentu
Pokud experiment selhal, můžete ho použít k vyhledání chybových zpráv a konkrétních cílů, větví, kroků nebo akcí, které selhaly.
az rest --method post --url "https://management.azure.com/{experimentId}/executions/{executionDetailsId}/getExecutionDetails?api-version={apiVersion}"
Zrušení (zastavení) experimentu
az rest --method post --url "https://management.azure.com/{experimentId}/cancel?api-version={apiVersion}"
Další užitečné příkazy a tipy
I když tyto příkazy nepoužívají rozhraní API chaos studia konkrétně, můžou být užitečné pro efektivní používání aplikace Chaos Studio.
Zobrazení prostředků Chaos Studia pomocí Azure Resource Graphu
Rozhraní REST API služby Azure Resource Graph můžete použít k dotazování prostředků přidružených k Chaos Studiu, jako jsou cíle a možnosti.
az rest --method post --url "https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01" --body "{'query':'chaosresources'}"
Alternativně můžete použít rozšíření Azure Resource Graphu.az cli
az graph query -q "chaosresources | summarize count() by type"
Pokud například chcete souhrn všech cílů Chaos Studia aktivních ve vašem předplatném podle skupiny prostředků, můžete použít:
az graph query -q "chaosresources | where type == 'microsoft.chaos/targets' | summarize count() by resourceGroup"
Filtrování a dotazování
Stejně jako ostatní příkazy Azure CLI můžete tyto parametry --filter
použít --query
s příkazy Azure CLIrest
. Pokud například chcete zobrazit tabulku dostupných typů schopností pro konkrétní cílový typ, použijte následující příkaz:
az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetType}/capabilityTypes?api-version=2023-11-01" --output table --query 'value[].{name:name, faultType:properties.runtimeProperties.kind, urn:properties.urn}'
Definice parametrů
Tato část popisuje parametry použité v celém tomto dokumentu a jejich vyplnění.
Název parametru | Definice | Vyhledání | Příklad |
---|---|---|---|
{apiVersion} | Verze rozhraní API, které se má použít při spuštění zadaného příkazu | Najdete ho v dokumentaci k rozhraní API. | 2023-11-01 |
{experimentId} | ID prostředku Azure pro experiment | Najdete ho na stránce experimentu Chaos Studio nebo voláním GET ke koncovému /experiments bodu. |
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.Chaos/experiments/my-chaos-experiment |
{experimentName.json} | JSON obsahující konfiguraci experimentu chaosu | Vygenerováno uživatelem | experiment.json (Úplný ukázkový soubor najdete v kurzu rozhraní příkazového řádku. |
{subscriptionId} | ID předplatného, ve kterém se nachází cílový prostředek | Vyhledání na stránce Předplatná webu Azure Portal nebo spuštěním příkazuaz account list --output table |
aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e |
{resourceGroupName} | Název skupiny prostředků, ve které se nachází cílový prostředek | Vyhledání na stránce Skupiny prostředků nebo spuštěním příkazu az group list --output table |
my-resource-group |
{executionDetailsId} | ID spuštění experimentu | Vyhledání na stránce Experiment v aplikaci Chaos Studio nebo pomocí volání GET ke koncovému /executions bodu |
C69E7FCD-1548-47E5-9DDA-92A5DD60E610 |
{targetType} | Typ cíle pro odpovídající prostředek | Vyhledání v seznamu zprostředkovatelů chyb nebo volání GET ke koncovému /locations/{locationName}/targetTypes bodu |
Microsoft-VirtualMachine |
{capabilityName} | Název jednotlivého prostředku schopností, rozšíření cílového prostředku | Vyhledání v referenční dokumentaci k chybám nebo pomocí volání GET ke koncovému capabilityTypes bodu |
Shutdown-1.0 |
{locationName} | Oblast Azure pro prostředek nebo regionální koncový bod | Vyhledání všech možných oblastí pro váš účet pomocí az account list-locations --output table |
eastus |