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-idtoho, který pomáhá při ladění.

Tyto příklady jsme si prošli obecně dostupnou verzí 2023-11-01rozhraní 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 možnosti

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} 

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/6b052e15-03d3-4f17-b2e1-be7f07588291/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 6b052e15-03d3-4f17-b2e1-be7f07588291
{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}/targetTypesbodu 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