Använda REST-API:er för att interagera med Chaos Studio

Om du integrerar Azure Chaos Studio i dina CI/CD-pipelines, eller om du helt enkelt föredrar att använda direkta API-anrop för att interagera med dina Azure-resurser, kan du använda Chaos Studios REST API. Den fullständiga API-referensen finns i REST API-referensen för Azure Chaos Studio. Den här sidan innehåller exempel för att använda REST-API:et effektivt och är inte avsett som en omfattande referens.

Den här artikeln förutsätter att du använder Azure CLI för att köra dessa kommandon, men du kan anpassa dem till andra REST-standardklienter.

Du kan använda Chaos Studio REST API:er för att:

  • Skapa, ändra och ta bort experiment
  • Visa, starta och stoppa experimentkörningar
  • Visa och hantera mål
  • Registrera och avregistrera din prenumeration med Chaos Studio-resursprovidern
  • Visa tillgängliga resursprovideråtgärder.

az cli Använd verktyget för att utföra dessa åtgärder från kommandoraden.

Dricks

Om du vill få mer utförliga utdata med Azure CLI lägger du --verbose till i slutet av varje kommando. Den här variabeln returnerar fler metadata när kommandon körs, inklusive x-ms-correlation-request-id, vilket underlättar felsökning.

Dessa exempel har granskats med den allmänt tillgängliga Chaos Studio API-versionen 2023-11-01.

Kommandon för resursprovider

I det här avsnittet visas kommandona för Chaos Studio-providern som hjälper dig att förstå resursproviderns status och tillgängliga åtgärder.

Visa information om resursprovidern Microsoft.Chaos

Detta visar information som tillgängliga API-versioner för Chaos-resursprovidern och regionens tillgänglighet. Det senaste api-version som krävs för detta kan skilja sig från api-version åtgärderna för Chaos-resursprovidern.

az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Chaos?api-version={apiVersion}" 

Visa en lista över alla åtgärder för resursprovidern Microsoft.Chaos

az rest --method get --url "https://management.azure.com/providers/Microsoft.Chaos/operations?api-version={apiVersion}" 

Mål och funktioner

De här åtgärderna hjälper dig att se vilka mål och funktioner som är tillgängliga och lägga till dem i ett mål.

Visa en lista över alla måltyper som är tillgängliga i en region

az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes?api-version={apiVersion}" 

Visa en lista över alla tillgängliga funktioner för en måltyp

az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetType}/capabilityTypes?api-version={apiVersion}" 

Aktivera en resurs som mål

Om du vill använda en resurs i ett experiment måste du aktivera den som ett mål.

az rest --method put --url "https://management.azure.com/{resourceId}/providers/Microsoft.Chaos/targets/{targetType}?api-version={apiVersion}" --body "{'properties':{}}" 

Aktivera funktioner för ett mål

När en resurs har aktiverats som mål måste du ange vilka funktioner (motsvarande fel) som tillåts.

az rest --method put --url "https://management.azure.com/{resourceId}/providers/Microsoft.Chaos/targets/{targetType}/capabilities/{capabilityName}?api-version={apiVersion}" --body "{'properties':{}}" 

Se vilka funktioner som är aktiverade för ett mål

När ett mål och funktioner har aktiverats kan du visa de aktiverade funktionerna. Detta är användbart för att konstruera ditt kaosexperiment, eftersom det innehåller parameterschemat för varje fel.

az rest --method get --url "https://management.azure.com/{resourceId}/providers/Microsoft.Chaos/targets/{targetType}/capabilities?api-version={apiVersion}"

Experiment

De här åtgärderna hjälper dig att visa, köra och hantera experiment.

Visa en lista över alla experiment i en resursgrupp

az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Chaos/experiments?api-version={apiVersion}"

Hämta ett experiments konfigurationsinformation efter namn

az rest --method get --url "https://management.azure.com/{experimentId}?api-version={apiVersion}"

Skapa eller uppdatera ett experiment

az rest --method put --url "https://management.azure.com/{experimentId}?api-version={apiVersion}" --body @{experimentName.json} 

Ta bort ett experiment

az rest --method delete --url "https://management.azure.com/{experimentId}?api-version={apiVersion}" 

Starta ett experiment

az rest --method post --url "https://management.azure.com/{experimentId}/start?api-version={apiVersion}"

Hämta alla körningar av ett experiment

az rest --method get --url "https://management.azure.com/{experimentId}/executions?api-version={apiVersion}" 

Visa information om en specifik experimentkörning

Om ett experiment har misslyckats kan detta användas för att hitta felmeddelanden och specifika mål, grenar, steg eller åtgärder som misslyckades.

az rest --method post --url "https://management.azure.com/{experimentId}/executions/{executionDetailsId}/getExecutionDetails?api-version={apiVersion}" 

Avbryt (stoppa) ett experiment

az rest --method post --url "https://management.azure.com/{experimentId}/cancel?api-version={apiVersion}" 

Andra användbara kommandon och tips

Även om dessa kommandon inte använder Chaos Studio API specifikt, kan de vara till hjälp för att använda Chaos Studio effektivt.

Visa Chaos Studio-resurser med Azure Resource Graph

Du kan använda REST API:et för Azure Resource Graph för att fråga efter resurser som är associerade med Chaos Studio, till exempel mål och funktioner.

 az rest --method post --url "https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01" --body "{'query':'chaosresources'}"

Du kan också använda Azure Resource Graph-tilläggetaz cli.

az graph query -q "chaosresources | summarize count() by type"

Om du till exempel vill ha en sammanfattning av alla Chaos Studio-mål som är aktiva i din prenumeration efter resursgrupp kan du använda:

az graph query -q "chaosresources | where type == 'microsoft.chaos/targets' | summarize count() by resourceGroup"

Filtrering och frågor

Precis som andra Azure CLI-kommandon kan du använda parametrarna --query och --filter med Azure CLI-kommandona rest . Om du till exempel vill se en tabell med tillgängliga kapacitetstyper för en viss måltyp använder du följande kommando:

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}'

Parameterdefinitioner

I det här avsnittet beskrivs de parametrar som används i hela det här dokumentet och hur du kan fylla i dem.

Parameternamn Definition Sökning Exempel
{apiVersion} Version av API:et som ska användas när du kör det angivna kommandot Finns i API-dokumentationen 2023-11-01
{experimentId} Azure-resurs-ID för experimentet Finns på sidan Chaos Studio-experiment eller med ett GET-anrop till /experiments slutpunkten /subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/my-resource-group/providers/Microsoft.Chaos/experiments/my-chaos-experiment
{experimentName.json} JSON som innehåller konfigurationen av kaosexperimentet Genereras av användaren experiment.json (Se en CLI-självstudie för en fullständig exempelfil)
{subscriptionId} Prenumerations-ID där målresursen finns Hitta på sidan Prenumerationer i Azure-portalen eller genom att köra az account list --output table 6b052e15-03d3-4f17-b2e1-be7f07588291
{resourceGroupName} Namnet på resursgruppen där målresursen finns Sök på sidan Resursgrupper eller genom att köraaz group list --output table my-resource-group
{executionDetailsId} Körnings-ID för en experimentkörning Hitta på sidan Chaos Studio-experiment eller med ett GET-anrop till /executions slutpunkten C69E7FCD-1548-47E5-9DDA-92A5DD60E610
{targetType} Typ av mål för motsvarande resurs Hitta i listan Felprovidrar eller ett GET-anrop till /locations/{locationName}/targetTypes slutpunkten Microsoft-VirtualMachine
{capabilityName} Namn på en enskild kapacitetsresurs, utöka en målresurs Hitta i dokumentationen för felreferensen eller med ett GET-anrop till capabilityTypes slutpunkten Shutdown-1.0
{locationName} Azure-region för en resurs eller regional slutpunkt Hitta alla möjliga regioner för ditt konto med az account list-locations --output table eastus