Verwenden von REST-APIs für die Interaktion mit Chaos Studio

Wenn Sie Azure Chaos Studio in Ihre CI/CD-Pipelines integrieren oder einfach direkte API-Aufrufe für die Interaktion mit Ihren Azure-Ressourcen verwenden möchten, können Sie die REST-API von Chaos Studio verwenden. Die vollständige API-Referenz finden Sie in der Rest-API-Referenz zu Azure Chaos Studio. Diese Seite enthält Beispiele für die effektive Verwendung der REST-API und ist nicht als umfassende Referenz vorgesehen.

In diesem Artikel wird davon ausgegangen, dass Sie Azure CLI zum Ausführen dieser Befehle verwenden, aber Sie können sie an andere Standard-REST-Clients anpassen.

Sie können die Rest-APIs von Chaos Studio verwenden, um:

  • Erstellen, Ändern und Löschen von Experimenten
  • Anzeigen, Starten und Beenden von Experimentausführungen
  • Anzeigen und Verwalten von Zielen
  • Registrieren und Aufheben der Registrierung Ihres Abonnements beim Chaos Studio-Ressourcenanbieter
  • Zeigen Sie die verfügbaren Ressourcenanbietervorgänge an.

Verwenden Sie das az cli Hilfsprogramm, um diese Aktionen über die Befehlszeile auszuführen.

Tipp

Um ausführlichere Ausgaben mit Azure CLI zu erhalten, fügen Sie an das Ende jedes Befehls an --verbose . Diese Variable gibt mehr Metadaten zurück, wenn Befehle ausgeführt werden, einschließlich x-ms-correlation-request-id, die beim Debuggen unterstützt werden.

Diese Beispiele wurden mit der allgemein verfügbaren Chaos Studio-API-Version 2023-11-01überprüft.

Ressourcenanbieterbefehle

In diesem Abschnitt werden die Chaos Studio-Anbieterbefehle aufgeführt, die Ihnen helfen, den Status und die verfügbaren Vorgänge des Ressourcenanbieters zu verstehen.

Details zum Microsoft.Chaos-Ressourcenanbieter auflisten

Dies zeigt Informationen wie verfügbare API-Versionen für den Chaos-Ressourcenanbieter und die Verfügbarkeit von Regionen an. Die aktuellsten api-version anforderungen hierfür können sich von den api-version Vorgängen des Chaos-Ressourcenanbieters unterscheiden.

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

Auflisten aller Vorgänge des Microsoft.Chaos-Ressourcenanbieters

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

Ziele und Funktionen

Mit diesen Vorgängen können Sie sehen, welche Ziele und Funktionen verfügbar sind, und sie einem Ziel hinzufügen.

Auflisten aller in einer Region verfügbaren Zieltypen

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

Auflisten aller verfügbaren Funktionen für einen Zieltyp

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

Aktivieren einer Ressource als Ziel

Um eine Ressource in einem Experiment zu verwenden, müssen Sie sie als Ziel aktivieren.

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

Aktivieren von Funktionen für ein Ziel

Nachdem eine Ressource als Ziel aktiviert wurde, müssen Sie angeben, welche Funktionen (entsprechend Fehlern) zulässig sind.

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

Anzeigen, welche Funktionen für ein Ziel aktiviert sind

Nachdem ein Ziel und eine Funktion aktiviert wurden, können Sie die aktivierten Funktionen anzeigen. Dies ist nützlich, um Ihr Chaosexperiment zu konstruieren, da es das Parameterschema für jeden Fehler enthält.

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

Experimente

Diese Vorgänge unterstützen Sie beim Anzeigen, Ausführen und Verwalten von Experimenten.

Auflisten aller Experimente in einer Ressourcengruppe

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

Abrufen der Konfigurationsdetails eines Experiments anhand des Namens

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

Erstellen oder Aktualisieren eines Experiments

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

Löschen eines Experiments

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

Starten Sie ein Experiment

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

Abrufen aller Ausführungen eines Experiments

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

Auflisten der Details einer bestimmten Experimentausführung

Wenn ein Experiment fehlgeschlagen ist, kann dies verwendet werden, um Fehlermeldungen und bestimmte Ziele, Verzweigungen, Schritte oder Aktionen zu finden, die fehlgeschlagen sind.

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

Abbrechen (Beenden) eines Experiments

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

Weitere hilfreiche Befehle und Tipps

Obwohl diese Befehle nicht speziell die Chaos Studio-API verwenden, können sie hilfreich sein, um Chaos Studio effektiv zu verwenden.

Anzeigen von Chaos Studio-Ressourcen mit Azure Resource Graph

Sie können die Rest-API von Azure Resource Graph verwenden, um Ressourcen abzufragen, die Chaos Studio zugeordnet sind, z. B. Ziele und Funktionen.

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

Alternativ können Sie die Erweiterung von Azure Resource Graph az cliverwenden.

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

Wenn Sie beispielsweise eine Zusammenfassung aller Chaos Studio-Ziele wünschen, die in Ihrem Abonnement nach Ressourcengruppe aktiv sind, können Sie Folgendes verwenden:

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

Filtern und Abfragen

Wie bei anderen Azure CLI-Befehlen können Sie die --query Und-Parameter --filter mit den Azure CLI-Befehlen rest verwenden. Um beispielsweise eine Tabelle der verfügbaren Funktionstypen für einen bestimmten Zieltyp anzuzeigen, verwenden Sie den folgenden Befehl:

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

Parameterdefinitionen

In diesem Abschnitt werden die parameter beschrieben, die in diesem Dokument verwendet werden und wie Sie sie ausfüllen können.

Parametername Definition Suche Beispiel
{apiVersion} Version der API, die verwendet werden soll, wenn Sie den bereitgestellten Befehl ausführen Diese Information finden Sie in der API-Dokumentation. 2023-11-01
{experimentId} Azure Resource ID für das Experiment Finden Sie auf der Seite Chaos Studio Experiment oder mit einem GET-Aufruf an den /experiments Endpunkt. /subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/my-resource-group/providers/Microsoft.Chaos/experiments/my-chaos-experiment
{experimentName.json} JSON, das die Konfiguration des Chaosexperiments enthält Wird vom Benutzer generiert. experiment.json (Ein CLI-Lernprogramm für eine vollständige Beispieldatei finden Sie in einem CLI-Lernprogramm )
{subscriptionId} Abonnement-ID, in der sich die Zielressource befindet Suchen auf der Seite Azure-Portal Abonnements oder durch Ausführenaz account list --output table 6b052e15-03d3-4f17-b2e1-be7f07588291
{resourceGroupName} Name der Ressourcengruppe, in der sich die Zielressource befindet Suchen auf der Seite "Ressourcengruppen" oder durch Ausführen az group list --output table my-resource-group
{executionDetailsId} Ausführungs-ID einer Experimentausführung Suchen auf der Seite "Chaos Studio Experiment" oder mit einem GET-Aufruf an den /executions Endpunkt C69E7FCD-1548-47E5-9DDA-92A5DD60E610
{targetType} Zieltyp für die entsprechende Ressource Suchen in der Liste der Fehleranbieter oder eines GET-Aufrufs an den /locations/{locationName}/targetTypes Endpunkt Microsoft-VirtualMachine
{capabilityName} Name einer einzelnen Funktionsressource, Erweitern einer Zielressource Suchen in der Fehlerreferenzdokumentation oder mit einem GET-Aufruf an den capabilityTypes Endpunkt Shutdown-1.0
{locationName} Azure-Region für eine Ressource oder einen regionalen Endpunkt Suchen aller möglichen Regionen für Ihr Konto mit az account list-locations --output table eastus