Uso de las API REST para interactuar con Chaos Studio
Si va a integrar Azure Chaos Studio en las canalizaciones de CI/CD, o simplemente prefiere usar llamadas de API directas para interactuar con los recursos de Azure, puede usar la API REST de Chaos Studio. Para obtener la referencia completa de la API, visite la referencia de la API REST de Azure Chaos Studio. En esta página se proporcionan ejemplos para usar la API REST de forma eficaz y no está pensado como referencia completa.
En este artículo se da por supuesto que usa la CLI de Azure para ejecutar estos comandos, pero puede adaptarlos a otros clientes REST estándar.
Puede usar las API REST de Chaos Studio para:
- Creación, modificación y eliminación de experimentos
- Visualización, inicio y detención de ejecuciones de experimentos
- Visualización y administración de destinos
- Registro y anulación del registro de la suscripción con el proveedor de recursos de Chaos Studio
- Vea las operaciones del proveedor de recursos disponibles.
Use la az cli
utilidad para realizar estas acciones desde la línea de comandos.
Sugerencia
Para obtener una salida más detallada con la CLI de Azure, anexe --verbose
al final de cada comando. Esta variable devuelve más metadatos cuando se ejecutan comandos, incluido x-ms-correlation-request-id
, que ayuda a la depuración.
Estos ejemplos se han revisado con la versión 2023-11-01
de Chaos Studio API disponible con carácter general.
Comandos del proveedor de recursos
En esta sección se enumeran los comandos del proveedor de Chaos Studio, que le ayudan a comprender el estado y las operaciones disponibles del proveedor de recursos.
Enumeración de detalles sobre el proveedor de recursos Microsoft.Chaos
Esto muestra información como las versiones de API disponibles para el proveedor de recursos de Chaos y la disponibilidad de regiones. Los requisitos más recientes api-version
para esto pueden diferir de las operaciones del api-version
proveedor de recursos de Chaos.
az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Chaos?api-version={apiVersion}"
Enumerar todas las operaciones del proveedor de recursos Microsoft.Chaos
az rest --method get --url "https://management.azure.com/providers/Microsoft.Chaos/operations?api-version={apiVersion}"
Destinos y capacidades
Estas operaciones le ayudan a ver qué destinos y funcionalidades están disponibles y a agregarlos a un destino.
Enumeración de todos los tipos de destino disponibles en una región
az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes?api-version={apiVersion}"
Enumerar todas las funcionalidades disponibles para un tipo de destino
az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetType}/capabilityTypes?api-version={apiVersion}"
Habilitación de un recurso como destino
Para usar un recurso en un experimento, debe habilitarlo como destino.
az rest --method put --url "https://management.azure.com/{resourceId}/providers/Microsoft.Chaos/targets/{targetType}?api-version={apiVersion}" --body "{'properties':{}}"
Habilitación de funcionalidades para un destino
Una vez que se ha habilitado un recurso como destino, debe especificar qué funcionalidades (correspondientes a errores) se permiten.
az rest --method put --url "https://management.azure.com/{resourceId}/providers/Microsoft.Chaos/targets/{targetType}/capabilities/{capabilityName}?api-version={apiVersion}" --body "{'properties':{}}"
Consulte qué funcionalidades están habilitadas para un destino.
Una vez habilitado un destino y las funcionalidades, puede ver las funcionalidades habilitadas. Esto es útil para construir el experimento de caos, ya que incluye el esquema de parámetros para cada error.
az rest --method get --url "https://management.azure.com/{resourceId}/providers/Microsoft.Chaos/targets/{targetType}/capabilities?api-version={apiVersion}"
Experimentos
Estas operaciones le ayudan a ver, ejecutar y administrar experimentos.
Enumerar todos los experimentos de un grupo de recursos
az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Chaos/experiments?api-version={apiVersion}"
Obtener los detalles de configuración de un experimento por nombre
az rest --method get --url "https://management.azure.com/{experimentId}?api-version={apiVersion}"
Creación o actualización de un experimento
az rest --method put --url "https://management.azure.com/{experimentId}?api-version={apiVersion}" --body @{experimentName.json}
Eliminar un experimento
az rest --method delete --url "https://management.azure.com/{experimentId}?api-version={apiVersion}"
Inicio de un experimento
az rest --method post --url "https://management.azure.com/{experimentId}/start?api-version={apiVersion}"
Obtener todas las ejecuciones de un experimento
az rest --method get --url "https://management.azure.com/{experimentId}/executions?api-version={apiVersion}"
Enumeración de los detalles de la ejecución de un experimento específico
Si se ha producido un error en un experimento, se puede usar para buscar mensajes de error y destinos específicos, ramas, pasos o acciones con errores.
az rest --method post --url "https://management.azure.com/{experimentId}/executions/{executionDetailsId}/getExecutionDetails?api-version={apiVersion}"
Cancelar (detener) un experimento
az rest --method post --url "https://management.azure.com/{experimentId}/cancel?api-version={apiVersion}"
Otros comandos y sugerencias útiles
Aunque estos comandos no usan la API de Chaos Studio específicamente, pueden ser útiles para usar Chaos Studio de forma eficaz.
Visualización de recursos de Chaos Studio con Azure Resource Graph
Puede usar la API rest de Azure Resource Graph para consultar los recursos asociados a Chaos Studio, como destinos y funcionalidades.
az rest --method post --url "https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01" --body "{'query':'chaosresources'}"
Como alternativa, puede usar la extensión de az cli
Azure Resource Graph.
az graph query -q "chaosresources | summarize count() by type"
Por ejemplo, si desea un resumen de todos los destinos de Chaos Studio activos en la suscripción por grupo de recursos, puede usar:
az graph query -q "chaosresources | where type == 'microsoft.chaos/targets' | summarize count() by resourceGroup"
Filtrado y consulta
Al igual que otros comandos de la CLI de Azure, puede usar los --query
parámetros y --filter
con los comandos de la CLI rest
de Azure. Por ejemplo, para ver una tabla de tipos de funcionalidad disponibles para un tipo de destino específico, use el siguiente comando:
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}'
Definiciones de parámetros
En esta sección se describen los parámetros usados en este documento y cómo puede rellenarlos.
Nombre de parámetro | Definición | Búsqueda | Ejemplo |
---|---|---|---|
{apiVersion} | Versión de la API que se va a usar al ejecutar el comando proporcionado | Se encuentra en la documentación de API. | 2023-11-01 |
{experimentId} | Identificador de recurso de Azure para el experimento | Puede encontrarse en la página Experimento de Chaos Studio o con una llamada GET al /experiments punto de conexión. |
/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/my-resource-group/providers/Microsoft.Chaos/experiments/my-chaos-experiment |
{experimentName.json} | JSON que contiene la configuración del experimento de caos | Generado por el usuario | experiment.json (Consulte un tutorial de la CLI para obtener un archivo de ejemplo completo) |
{subscriptionId} | Identificador de suscripción donde se encuentra el recurso de destino | Busque en la página Suscripciones de Azure Portal o ejecutando az account list --output table |
6b052e15-03d3-4f17-b2e1-be7f07588291 |
{resourceGroupName} | Nombre del grupo de recursos donde se encuentra el recurso de destino | Buscar en la página Grupos de recursos o ejecutando az group list --output table |
my-resource-group |
{executionDetailsId} | Identificador de ejecución de una ejecución del experimento | Busque en la página Experimento de Chaos Studio o con una llamada GET al punto de /executions conexión. |
C69E7FCD-1548-47E5-9DDA-92A5DD60E610 |
{targetType} | Tipo de destino para el recurso correspondiente | Busque en la lista Proveedores de errores o en una llamada GET al punto de /locations/{locationName}/targetTypes conexión. |
Microsoft-VirtualMachine |
{capabilityName} | Nombre de un recurso de funcionalidad individual, extensión de un recurso de destino | Busque en la documentación de referencia de errores o con una llamada GET al punto de capabilityTypes conexión. |
Shutdown-1.0 |
{locationName} | Región de Azure para un recurso o un punto de conexión regional | Búsqueda de todas las regiones posibles para su cuenta con az account list-locations --output table |
eastus |