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}
Opmerking: als u een UnsupportedMediaType
foutmelding krijgt, controleert u of het JSON-bestand waarnaar wordt verwezen, geldig is en probeert u andere manieren om naar het .json
bestand te verwijzen. Voor verschillende opdrachtregel-interpreters zijn mogelijk verschillende methoden vereist voor bestandsverwijzing. Een andere algemene syntaxis is --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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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 |
aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e |
{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 |