Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 von 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 die Azure CLI verwenden, um diese Befehle auszuführen, aber Sie können sie an andere Standard-REST-Clients anpassen.
Sie können die REST-APIs von Chaos Studio zu folgenden Zwecken verwenden:
- Erstellen, Ändern und Löschen von Experimenten
- Anzeigen, Starten und Beenden von Experimentausführungen
- Ziele anzeigen und verwalten
- Registrieren und Aufheben der Registrierung Ihres Abonnements beim Chaos Studio-Ressourcenanbieter
- Zeigen Sie verfügbare Vorgängen der Ressourcenanbieter an.
Verwenden Sie das Hilfsprogramm az cli, um diese Aktionen über die Befehlszeile auszuführen.
Tipp
Um eine ausführlichere Ausgabe mit der Azure CLI zu erhalten, fügen Sie --verbose an das Ende der einzelnen Befehle an. Diese Variable gibt weitere Metadaten zurück, wenn Befehle ausgeführt werden, einschließlich x-ms-correlation-request-id, wodurch das Debuggen unterstützt wird.
Diese Beispiele wurden mit der allgemein verfügbaren Chaos Studio-API-Version 2023-11-01 überprüft.
Befehle für Ressourcenanbieter
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 Ressourcenanbieter Microsoft.Chaos auflisten
Dies zeigt Informationen wie verfügbare API-Versionen für den Chaos-Ressourcenanbieter und die regionale Verfügbarkeit an. Die neueste api-version, die hierfür erforderlich ist, kann sich von der api-version für Chaos-Ressourcenanbietervorgänge 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
Mithilfe dieser Vorgänge können Sie feststellen, 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
Damit Sie eine Ressource in einem Experiment verwenden können, 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 (die Fehlern entsprechen) 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 Sie ein Ziel und eine Funktion aktiviert haben, können Sie die aktivierten Funktionen anzeigen. Dies ist nützlich, um Ihr Chaos-Experiment 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 Funktionen helfen Ihnen dabei, Experimente anzuzeigen, auszuführen und zu verwalten.
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}
Hinweis: Wenn Sie einen Fehler UnsupportedMediaType erhalten, stellen Sie sicher, dass Ihre referenzierte JSON-Datei gültig ist, und versuchen Sie, mit anderen Methoden auf die .json-Datei zu verweisen. Für unterschiedliche Befehlszeileninterpreter sind möglicherweise unterschiedliche Methoden für Dateiverweise erforderlich. Eine weitere häufige Syntax ist --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 az cli-Erweiterung von Azure Resource Graph verwenden.
az graph query -q "chaosresources | summarize count() by type"
Wenn Sie beispielsweise eine Zusammenfassung nach Ressourcengruppe aller Chaos Studio-Ziele wünschen, die in Ihrem Abonnement 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 andere Azure CLI-Befehle können Sie die Parameter --query und --filter mit den rest-Befehlen der Azure CLI 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. Außerdem erfahren Sie, wie Sie sie ausfüllen können.
| Parametername | Definition | Nachschlagen | Beispiel |
|---|---|---|---|
| {apiVersion} | Version der API, die bei der Ausführung des angegebenen Befehls verwendet werden soll | Diese Information finden Sie in der API-Dokumentation. | 2023-11-01 |
| {experimentId} | Azure-Ressourcen-ID für das Experiment | Ist auf der Seite des Chaos Studio-Experiments zu finden oder kann mit einem GET-Aufruf an den /experiments-Endpunkt abgerufen werden |
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.Chaos/experiments/my-chaos-experiment |
| {experimentName.json} | JSON mit der Konfiguration des Chaos-Experiments | Wird vom Benutzer generiert. | experiment.json (Siehe ein CLI-Lernprogramm für eine vollständige Beispieldatei) |
| {subscriptionId} | ID des Abonnements, in dem sich die Zielressource befindet | Ist auf der Seite für Abonnements im Azure-Portal oder durch Ausführen von az account list --output table zu finden |
aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e |
| {resourceGroupName} | Name der Ressourcengruppe, in der sich die Zielressource befindet | Finden Sie auf der Ressourcengruppenseite oder durch Ausführung von az group list --output table. |
my-resource-group |
| {executionDetailsId} | Ausführungs-ID einer Experimentausführung | Ist auf der Seite des Chaos Studio-Experiments zu finden oder kann mit einem GET-Aufruf an den /executions-Endpunkt abgerufen werden |
C69E7FCD-1548-47E5-9DDA-92A5DD60E610 |
| {targetType} | Zieltyp für die entsprechende Ressource | Finden Sie in der Liste der Fehleranbieter oder führen Sie einen GET-Aufruf an den /locations/{locationName}/targetTypes-Endpunkt durch |
Microsoft-VirtualMachine |
| {capabilityName} | Name einer einzelnen Funktionsressource, die eine Zielressource erweitert | Sie finden es in der Fehlerreferenzdokumentation oder rufen Sie es mit einem GET-Aufruf am capabilityTypes-Endpunkt ab. |
Shutdown-1.0 |
| {locationName} | Azure-Region für eine Ressource oder einen regionalen Endpunkt | Alle potenziellen Regionen für Ihr Konto können mit az account list-locations --output table gefunden werden |
eastus |