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-01de 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 cliAzure 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