Udostępnij za pośrednictwem


Korzystanie z interfejsów API REST do interakcji z programem Chaos Studio

Jeśli integrujesz usługę Azure Chaos Studio z potokami ciągłej integracji/ciągłego wdrażania lub po prostu wolisz używać bezpośrednich wywołań interfejsu API do interakcji z zasobami platformy Azure, możesz użyć interfejsu API REST usługi Chaos Studio. Aby uzyskać pełną dokumentację interfejsu API, odwiedź dokumentację interfejsu API REST usługi Azure Chaos Studio. Ta strona zawiera przykłady efektywnego korzystania z interfejsu API REST i nie jest przeznaczona jako kompleksowa dokumentacja.

W tym artykule założono, że używasz interfejsu wiersza polecenia platformy Azure do wykonywania tych poleceń, ale możesz dostosować je do innych standardowych klientów REST.

Interfejsy API REST programu Chaos Studio umożliwiają:

  • Tworzenie, modyfikowanie i usuwanie eksperymentów
  • Wyświetlanie, uruchamianie i zatrzymywanie wykonań eksperymentów
  • Wyświetlanie obiektów docelowych i zarządzanie nimi
  • Rejestrowanie i wyrejestrowywanie subskrypcji za pomocą dostawcy zasobów Usługi Chaos Studio
  • Wyświetlanie dostępnych operacji dostawcy zasobów.

az cli Użyj narzędzia , aby wykonać te akcje z poziomu wiersza polecenia.

Napiwek

Aby uzyskać więcej pełnych danych wyjściowych za pomocą interfejsu wiersza polecenia platformy Azure, dołącz --verbose go na końcu każdego polecenia. Ta zmienna zwraca więcej metadanych podczas wykonywania poleceń, w tym x-ms-correlation-request-id, co ułatwia debugowanie.

Te przykłady zostały przejrzyszone przy użyciu ogólnie dostępnej wersji 2023-11-01interfejsu API programu Chaos Studio.

Polecenia dostawcy zasobów

W tej sekcji wymieniono polecenia dostawcy Chaos Studio, które ułatwiają zrozumienie stanu dostawcy zasobów i dostępnych operacji.

Wyświetlanie szczegółowych informacji o dostawcy zasobów Microsoft.Chaos

Spowoduje to wyświetlenie informacji, takich jak dostępne wersje interfejsu API dla dostawcy zasobów Chaos i dostępności regionu. Najnowsze api-version wymagane w tym celu mogą się różnić od api-version operacji dostawcy zasobów Chaos.

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

Wyświetlanie listy wszystkich operacji dostawcy zasobów Microsoft.Chaos

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

Cele i możliwości

Te operacje pomagają zobaczyć, jakie cele i możliwości są dostępne, i dodać je do obiektu docelowego.

Wyświetlanie listy wszystkich typów docelowych dostępnych w regionie

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

Wyświetlanie listy wszystkich funkcji dostępnych dla typu docelowego

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

Włączanie zasobu jako elementu docelowego

Aby użyć zasobu w eksperymencie, musisz włączyć go jako element docelowy.

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

Włączanie możliwości dla elementu docelowego

Po włączeniu zasobu jako elementu docelowego należy określić, jakie możliwości (odpowiadające usterce) są dozwolone.

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

Zobacz, jakie możliwości są włączone dla elementu docelowego

Po włączeniu elementu docelowego i możliwości można wyświetlić włączone możliwości. Jest to przydatne w przypadku konstruowania eksperymentu chaosu, ponieważ zawiera on schemat parametrów dla każdego błędu.

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

Eksperymenty

Te operacje ułatwiają wyświetlanie, uruchamianie eksperymentów i zarządzanie nimi.

Wyświetlanie listy wszystkich eksperymentów w grupie zasobów

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

Pobieranie szczegółów konfiguracji eksperymentu według nazwy

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

Tworzenie lub aktualizowanie eksperymentu

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

Uwaga: jeśli wystąpi UnsupportedMediaType błąd, upewnij się, że przywołyny plik JSON jest prawidłowy i spróbuj odwołać .json się do pliku na inne sposoby. Różne interpretery wiersza polecenia mogą wymagać różnych metod odwoływania się do plików. Inną typową składnią jest --body "@experimentName.json".

Usuwanie eksperymentu

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

Rozpoczynanie eksperymentu

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

Pobieranie wszystkich wykonań eksperymentu

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

Wyświetlanie szczegółów określonego wykonania eksperymentu

Jeśli eksperyment zakończył się niepowodzeniem, może to służyć do znajdowania komunikatów o błędach i określonych elementów docelowych, gałęzi, kroków lub akcji, które zakończyły się niepowodzeniem.

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

Anulowanie (zatrzymywanie) eksperymentu

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

Inne przydatne polecenia i porady

Chociaż te polecenia nie używają specjalnie interfejsu API programu Chaos Studio, mogą być przydatne do efektywnego korzystania z programu Chaos Studio.

Wyświetlanie zasobów usługi Chaos Studio za pomocą usługi Azure Resource Graph

Interfejs API REST usługi Azure Resource Graph umożliwia wykonywanie zapytań dotyczących zasobów skojarzonych z programem Chaos Studio, takich jak obiekty docelowe i możliwości.

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

Alternatywnie możesz użyć rozszerzenia usługi Azure Resource Graph.az cli

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

Jeśli na przykład chcesz podsumować wszystkie elementy docelowe programu Chaos Studio aktywne w subskrypcji według grupy zasobów, możesz użyć następujących elementów:

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

Filtrowanie i wykonywanie zapytań

Podobnie jak w przypadku innych poleceń interfejsu wiersza polecenia platformy Azure, możesz użyć --query parametrów i --filter z poleceniami interfejsu wiersza polecenia rest platformy Azure. Aby na przykład wyświetlić tabelę dostępnych typów możliwości dla określonego typu docelowego, użyj następującego polecenia:

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

Definicje parametrów

W tej sekcji opisano parametry używane w tym dokumencie i sposób ich wypełniania.

Nazwa parametru Definicja Lookup Przykład
{apiVersion} Wersja interfejsu API do użycia podczas wykonywania podanego polecenia Dokumentację interfejsu API można znaleźć w dokumentacji interfejsu API 2023-11-01
{experimentId} Identyfikator zasobu platformy Azure dla eksperymentu Można znaleźć na stronie Eksperyment w programie Chaos Studio lub wywołaniu GET do punktu końcowego /experiments /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.Chaos/experiments/my-chaos-experiment
{experimentName.json} Kod JSON zawierający konfigurację eksperymentu chaosu Wygenerowane przez użytkownika experiment.json (Zobacz samouczek interfejsu wiersza polecenia, aby uzyskać pełny przykładowy plik)
{subscriptionId} Identyfikator subskrypcji, w której znajduje się zasób docelowy Znajdź na stronie Subskrypcje witryny Azure Portal lub uruchamiając polecenie az account list --output table aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
{resourceGroupName} Nazwa grupy zasobów, w której znajduje się zasób docelowy Znajdź na stronie Grupy zasobów lub przez uruchomienie polecenia az group list --output table my-resource-group
{executionDetailsId} Identyfikator wykonania eksperymentu Znajdź na stronie Eksperyment w programie Chaos Studio lub za pomocą wywołania GET do punktu końcowego /executions C69E7FCD-1548-47E5-9DDA-92A5DD60E610
{targetType} Typ obiektu docelowego odpowiedniego zasobu Znajdź na liście Dostawców błędów lub wywołanie GET do punktu końcowego /locations/{locationName}/targetTypes Microsoft-VirtualMachine
{capabilityName} Nazwa pojedynczego zasobu możliwości, rozszerzającego zasób docelowy Znajdź w dokumentacji odwołania do błędów lub za pomocą wywołania GET do punktu końcowego capabilityTypes Shutdown-1.0
{locationName} Region platformy Azure dla zasobu lub regionalnego punktu końcowego Znajdź wszystkie możliwe regiony dla twojego konta za pomocą polecenia az account list-locations --output table eastus