Delen via


REST API's gebruiken om te communiceren met Chaos Studio

Als u Azure Chaos Studio integreert in uw CI/CD-pijplijnen of als u liever directe API-aanroepen gebruikt om te communiceren met uw Azure-resources, kunt u de REST API van Chaos Studio gebruiken. Voor de volledige API-verwijzing gaat u naar de naslaginformatie over de Rest API van Azure Chaos Studio. Deze pagina bevat voorbeelden voor het effectief gebruik van de REST API en is niet bedoeld als een uitgebreide referentie.

In dit artikel wordt ervan uitgegaan dat u Azure CLI gebruikt om deze opdrachten uit te voeren, maar u kunt deze aanpassen aan andere standaard REST-clients.

U kunt de Chaos Studio REST API's gebruiken voor het volgende:

  • Experimenten maken, wijzigen en verwijderen
  • Experimentuitvoeringen weergeven, starten en stoppen
  • Doelen weergeven en beheren
  • Uw abonnement registreren en de registratie ervan opheffen bij de Chaos Studio-resourceprovider
  • Beschikbare resourceproviderbewerkingen weergeven.

Gebruik het az cli hulpprogramma om deze acties uit te voeren vanaf de opdrachtregel.

Tip

Als u uitgebreidere uitvoer met Azure CLI wilt ophalen, voegt u deze toe aan --verbose het einde van elke opdracht. Deze variabele retourneert meer metagegevens wanneer opdrachten worden uitgevoerd, waaronder x-ms-correlation-request-id, wat helpt bij het opsporen van fouten.

Deze voorbeelden zijn beoordeeld met de algemeen beschikbare Chaos Studio API-versie 2023-11-01.

Opdrachten van de resourceprovider

In deze sectie vindt u de chaos studio-provideropdrachten, waarmee u inzicht krijgt in de status en beschikbare bewerkingen van de resourceprovider.

Lijst met details over de resourceprovider Microsoft.Chaos

Hier ziet u informatie zoals beschikbare API-versies voor de chaos-resourceprovider en beschikbaarheid van regio's. De meest recente api-version vereiste hiervoor kan verschillen van de api-version bewerkingen van chaos-resourceproviders.

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

Alle bewerkingen van de resourceprovider Microsoft.Chaos weergeven

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

Doelen en mogelijkheden

Met deze bewerkingen kunt u zien welke doelen en mogelijkheden beschikbaar zijn en deze toevoegen aan een doel.

Een lijst weergeven van alle doeltypen die beschikbaar zijn in een regio

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

Een lijst weergeven van alle mogelijkheden die beschikbaar zijn voor een doeltype

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

Een resource als doel inschakelen

Als u een resource in een experiment wilt gebruiken, moet u deze als doel inschakelen.

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

Mogelijkheden voor een doel inschakelen

Zodra een resource als doel is ingeschakeld, moet u opgeven welke mogelijkheden (overeenkomend met fouten) zijn toegestaan.

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

Bekijk welke mogelijkheden zijn ingeschakeld voor een doel

Zodra een doel en mogelijkheden zijn ingeschakeld, kunt u de ingeschakelde mogelijkheden bekijken. Dit is handig voor het samenstellen van uw chaos-experiment, omdat het het parameterschema voor elke fout bevat.

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

Experimenten

Met deze bewerkingen kunt u experimenten bekijken, uitvoeren en beheren.

Alle experimenten in een resourcegroep weergeven

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

De configuratiegegevens van een experiment ophalen op naam

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

Een experiment maken of bijwerken

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

Een experiment verwijderen

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

Een experiment starten

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

Alle uitvoeringen van een experiment ophalen

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

De details van een specifieke uitvoering van een experiment weergeven

Als een experiment is mislukt, kan dit worden gebruikt om foutberichten en specifieke doelen, vertakkingen, stappen of acties te vinden die zijn mislukt.

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

Een experiment annuleren (stoppen)

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

Andere nuttige opdrachten en tips

Hoewel deze opdrachten niet specifiek gebruikmaken van de Chaos Studio-API, kunnen ze nuttig zijn voor het effectief gebruiken van Chaos Studio.

Chaos Studio-resources weergeven met Azure Resource Graph

U kunt de Azure Resource Graph REST API gebruiken om query's uit te voeren op resources die zijn gekoppeld aan Chaos Studio, zoals doelen en mogelijkheden.

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

U kunt ook de extensie van az cli Azure Resource Graph gebruiken.

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

Als u bijvoorbeeld een overzicht wilt van alle Chaos Studio-doelen die actief zijn in uw abonnement per resourcegroep, kunt u het volgende gebruiken:

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

Filteren en query's uitvoeren

Net als andere Azure CLI-opdrachten kunt u de --query en --filter parameters gebruiken met de Azure CLI-opdrachten rest . Als u bijvoorbeeld een tabel met beschikbare mogelijkheidstypen voor een specifiek doeltype wilt zien, gebruikt u de volgende opdracht:

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

Parameterdefinities

In deze sectie worden de parameters beschreven die in dit document worden gebruikt en hoe u deze kunt invullen.

Parameternaam Definitie Zoekopdracht Opmerking
{apiVersion} Versie van de API die moet worden gebruikt wanneer u de opgegeven opdracht uitvoert Vindt u in de API-documentatie 2023-11-01
{experimentId} Azure-resource-id voor het experiment U vindt deze op de pagina Chaos Studio Experiment of met een GET-aanroep naar het /experiments eindpunt /subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/my-resource-group/providers/Microsoft.Chaos/experiments/my-chaos-experiment
{experimentName.json} JSON die de configuratie van het chaos-experiment bevat Gegenereerd door de gebruiker experiment.json (Zie een CLI-zelfstudie voor een volledig voorbeeldbestand)
{subscriptionId} Abonnements-id waar de doelresource zich bevindt Zoeken op de pagina Abonnementen in De Azure-portal of door het uitvoeren az account list --output table 6b052e15-03d3-4f17-b2e1-be7f07588291
{resourceGroupName} Naam van de resourcegroep waar de doelresource zich bevindt Zoeken op de pagina Resourcegroepen of door deze uit te voeren az group list --output table my-resource-group
{executionDetailsId} Uitvoerings-id van een experimentuitvoering Zoeken op de pagina Chaos Studio Experiment of met een GET-aanroep naar het /executions eindpunt C69E7FCD-1548-47E5-9DDA-92A5DD60E610
{targetType} Type doel voor de bijbehorende resource Zoeken in de lijst met foutproviders of een GET-aanroep naar het /locations/{locationName}/targetTypes eindpunt Microsoft-VirtualMachine
{capabilityName} Naam van een afzonderlijke mogelijkheidsresource, waarbij een doelresource wordt uitgebreid Zoeken in de documentatie voor foutreferenties of met een GET-aanroep naar het capabilityTypes eindpunt Shutdown-1.0
{locationName} Azure-regio voor een resource of regionaal eindpunt Zoek alle mogelijke regio's voor uw account met az account list-locations --output table eastus