Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если вы интегрируете Azure Chaos Studio в конвейеры CI/CD или просто предпочитаете использовать прямые вызовы API для взаимодействия с ресурсами Azure, вы можете использовать REST API Chaos Studio. Для получения полной справочной информации по API посетите страницу справочника REST API Azure Chaos Studio. На этой странице приведены примеры эффективного использования REST API и не предназначены в качестве комплексной ссылки.
В этой статье предполагается, что вы используете Azure CLI для выполнения этих команд, но их можно адаптировать к другим стандартным клиентам REST.
REST API-интерфейсы Студии Chaos Studio можно использовать для:
- Создание, изменение и удаление экспериментов
- Просмотр, запуск и остановка выполнения экспериментов
- Просмотр целевых объектов и управление ими
- Регистрация и отмена регистрации подписки с помощью поставщика ресурсов Chaos Studio
- Просмотр доступных операций поставщика ресурсов.
az cli
Используйте программу для выполнения этих действий из командной строки.
Совет
Чтобы получить более подробные выходные данные с помощью Azure CLI, добавьте --verbose
в конец каждой команды. Эта переменная возвращает дополнительные метаданные при выполнении команд, включая x-ms-correlation-request-id
, что помогает при отладке.
Эти примеры были рассмотрены с общедоступной версией 2023-11-01
API Chaos Studio.
В этом разделе перечислены команды поставщика Chaos Studio, которые помогают понять состояние поставщика ресурсов и доступные операции.
Здесь показаны такие сведения, как доступные версии API для поставщика ресурсов Chaos и доступности региона. Самое последнее api-version
, необходимое для этого, может отличаться от api-version
операций поставщика ресурсов Chaos.
az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Chaos?api-version={apiVersion}"
az rest --method get --url "https://management.azure.com/providers/Microsoft.Chaos/operations?api-version={apiVersion}"
Эти операции помогают узнать, какие целевые объекты и возможности доступны, и добавить их в целевой объект.
az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes?api-version={apiVersion}"
az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetType}/capabilityTypes?api-version={apiVersion}"
Чтобы использовать ресурс в эксперименте, необходимо включить его в качестве целевого объекта.
az rest --method put --url "https://management.azure.com/{resourceId}/providers/Microsoft.Chaos/targets/{targetType}?api-version={apiVersion}" --body "{'properties':{}}"
После включения ресурса в качестве целевого объекта необходимо указать, какие возможности (соответствующие сбоям) разрешены.
az rest --method put --url "https://management.azure.com/{resourceId}/providers/Microsoft.Chaos/targets/{targetType}/capabilities/{capabilityName}?api-version={apiVersion}" --body "{'properties':{}}"
После включения целевого объекта и возможностей можно просмотреть включенные возможности. Это полезно для создания эксперимента хаоса, так как он включает схему параметров для каждой ошибки.
az rest --method get --url "https://management.azure.com/{resourceId}/providers/Microsoft.Chaos/targets/{targetType}/capabilities?api-version={apiVersion}"
Эти операции помогают просматривать, запускать и управлять экспериментами.
az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Chaos/experiments?api-version={apiVersion}"
az rest --method get --url "https://management.azure.com/{experimentId}?api-version={apiVersion}"
az rest --method put --url "https://management.azure.com/{experimentId}?api-version={apiVersion}" --body @{experimentName.json}
Примечание. Если вы получаете ошибку, убедитесь, что указанный UnsupportedMediaType
файл JSON является допустимым, и попробуйте использовать другие способы ссылки на .json
файл. Для разных интерпретаторов командной строки могут потребоваться различные методы ссылки на файл. Другой распространенный синтаксис: --body "@experimentName.json"
.
az rest --method delete --url "https://management.azure.com/{experimentId}?api-version={apiVersion}"
az rest --method post --url "https://management.azure.com/{experimentId}/start?api-version={apiVersion}"
az rest --method get --url "https://management.azure.com/{experimentId}/executions?api-version={apiVersion}"
Если эксперимент провалился, это можно использовать для поиска сообщений об ошибках и конкретных целей, веток, шагов или действий, которые завершились неудачно.
az rest --method post --url "https://management.azure.com/{experimentId}/executions/{executionDetailsId}/getExecutionDetails?api-version={apiVersion}"
az rest --method post --url "https://management.azure.com/{experimentId}/cancel?api-version={apiVersion}"
Хотя эти команды не используют API Chaos Studio в частности, они могут быть полезны для эффективного использования Chaos Studio.
REST API Azure Resource Graph можно использовать для запроса ресурсов, связанных с Chaos Studio, таких как целевые объекты и возможности.
az rest --method post --url "https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01" --body "{'query':'chaosresources'}"
Кроме того, можно использовать расширение Azure Resource Graph.az cli
az graph query -q "chaosresources | summarize count() by type"
Например, если требуется сводка по всем целевым объектам Chaos Studio, активным в вашей подписке по группам ресурсов, можно использовать следующее:
az graph query -q "chaosresources | where type == 'microsoft.chaos/targets' | summarize count() by resourceGroup"
Как и другие команды Azure CLI, можно использовать параметры --query
и --filter
с командами Azure CLI rest
. Например, чтобы просмотреть таблицу доступных типов возможностей для определенного целевого типа, используйте следующую команду:
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}'
В этом разделе описываются параметры, используемые в этом документе, и способы их заполнения.
Наименование параметра | Определение | Поиск | Пример |
---|---|---|---|
{apiVersion} | Версия API, используемая при выполнении предоставленной команды | См. документацию по API. | 2023-11-01 |
{experimentId} | Идентификатор ресурса Azure для эксперимента | Можно найти на странице эксперимента Chaos Studio или с помощью вызова GET к конечной точке /experiments . |
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.Chaos/experiments/my-chaos-experiment |
{experimentName.json} | JSON, содержащий конфигурацию эксперимента хаоса | Создано пользователем |
experiment.json (См . руководство по CLI для полного примера файла) |
{subscriptionId} | Идентификатор подписки, в которой находится целевой ресурс | Найдите страницу портал Azure подписок или выполните командуaz account list --output table |
aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e |
{resourceGroupName} | Имя группы ресурсов, в которой находится целевой ресурс | Найдите страницу групп ресурсов или выполните командуaz group list --output table |
my-resource-group |
{executionDetailsId} | Идентификатор выполнения эксперимента | Найдите на странице эксперимента Chaos Studio или с помощью GET-вызова к конечной точке /executions |
C69E7FCD-1548-47E5-9DDA-92A5DD60E610 |
{targetType} | Тип целевого объекта для соответствующего ресурса | Найдите в списке поставщиков ошибок или выполните GET-запрос к конечной точке /locations/{locationName}/targetTypes . |
Microsoft-VirtualMachine |
{capabilityName} | Имя ресурса индивидуальной возможности, который расширяет целевой ресурс | Найдите в справочной документации по сбоям |
Shutdown-1.0 |
{locationName} | Регион Azure для ресурса или региональной конечной точки | Найдите все возможные регионы для своей учетной записи с помощью az account list-locations --output table |
eastus |