Share via


Utiliser des API REST pour interagir avec Chaos Studio

Si vous intégrez Azure Chaos Studio à vos pipelines CI/CD, ou si vous préférez simplement utiliser des appels d’API directs pour interagir avec vos ressources Azure, vous pouvez utiliser l’API REST de Chaos Studio. Pour obtenir la référence complète de l’API, consultez la référence de l’API REST Azure Chaos Studio. Cette page fournit des exemples d’utilisation efficace de l’API REST et n’est pas destinée à une référence complète.

Cet article suppose que vous utilisez Azure CLI pour exécuter ces commandes, mais vous pouvez les adapter à d’autres clients REST standard.

Vous pouvez utiliser les API REST Chaos Studio pour :

  • Créer, modifier et supprimer des expériences
  • Afficher, démarrer et arrêter les exécutions d’expériences
  • Afficher et gérer les cibles
  • Inscrire et annuler l’inscription de votre abonnement auprès du fournisseur de ressources Chaos Studio
  • Afficher les opérations de fournisseur de ressources disponibles.

Utilisez l’utilitaire az cli pour effectuer ces actions à partir de la ligne de commande.

Conseil

Pour obtenir une sortie plus détaillée avec Azure CLI, ajoutez --verbose à la fin de chaque commande. Cette variable retourne davantage de métadonnées lorsque les commandes s’exécutent, notamment x-ms-correlation-request-id, ce qui facilite le débogage.

Ces exemples ont été examinés avec la version 2023-11-01d’API Chaos Studio généralement disponible.

Commandes du fournisseur de ressources

Cette section répertorie les commandes du fournisseur Chaos Studio, qui vous aident à comprendre l’état et les opérations disponibles du fournisseur de ressources.

Répertorier les détails sur le fournisseur de ressources Microsoft.Chaos

Cela montre des informations telles que les versions d’API disponibles pour le fournisseur de ressources Chaos et la disponibilité de la région. La plus récente api-version requise pour cela peut différer des api-version opérations du fournisseur de ressources Chaos.

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

Répertorier toutes les opérations du fournisseur de ressources Microsoft.Chaos

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

Cibles et fonctionnalités

Ces opérations vous aident à voir quelles cibles et fonctionnalités sont disponibles et à les ajouter à une cible.

Répertorier tous les types cibles disponibles dans une région

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

Répertorier toutes les fonctionnalités disponibles pour un type cible

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

Activer une ressource en tant que cible

Pour utiliser une ressource dans une expérience, vous devez l’activer en tant que cible.

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

Activer les fonctionnalités d’une cible

Une fois qu’une ressource a été activée en tant que cible, vous devez spécifier les fonctionnalités (correspondant aux erreurs) autorisées.

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

Voir quelles fonctionnalités sont activées pour une cible

Une fois qu’une cible et des fonctionnalités ont été activées, vous pouvez afficher les fonctionnalités activées. Cela est utile pour construire votre expérience de chaos, car elle inclut le schéma de paramètre pour chaque erreur.

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

Expériences

Ces opérations vous aident à afficher, exécuter et gérer des expériences.

Répertorier toutes les expériences d’un groupe de ressources

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

Obtenir les détails de configuration d’une expérience par nom

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

Créer ou mettre à jour une expérience

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

Supprimer une expérience

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

Commencer une expérience

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

Obtenir toutes les exécutions d’une expérience

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

Lister les détails d’une exécution d’expérience spécifique

Si une expérience a échoué, elle peut être utilisée pour rechercher des messages d’erreur et des cibles spécifiques, des branches, des étapes ou des actions ayant échoué.

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

Annuler (arrêter) une expérience

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

Autres commandes et conseils utiles

Bien que ces commandes n’utilisent pas spécifiquement l’API Chaos Studio, elles peuvent être utiles pour utiliser Chaos Studio efficacement.

Afficher les ressources Chaos Studio avec Azure Resource Graph

Vous pouvez utiliser l’API REST Azure Resource Graph pour interroger des ressources associées à Chaos Studio, telles que des cibles et des fonctionnalités.

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

Vous pouvez également utiliser l’extension d’Azure az cliResource Graph.

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

Par exemple, si vous souhaitez obtenir un résumé de toutes les cibles Chaos Studio actives dans votre abonnement par groupe de ressources, vous pouvez utiliser :

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

Filtrage et interrogation

Comme d’autres commandes Azure CLI, vous pouvez utiliser les paramètres et --filter les --query paramètres avec les commandes Azure CLIrest. Par exemple, pour afficher une table des types de fonctionnalités disponibles pour un type cible spécifique, utilisez la commande suivante :

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

Définitions des paramètres

Cette section décrit les paramètres utilisés dans ce document et comment les remplir.

Nom du paramètre Définition Lookup Exemple
{apiVersion} Version de l’API à utiliser lorsque vous exécutez la commande fournie Disponible dans la documentation de l’API 2023-11-01
{experimentId} ID de ressource Azure pour l’expérience Se trouve sur la page Expérience Chaos Studio ou avec un appel GET au point de /experiments terminaison /subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/my-resource-group/providers/Microsoft.Chaos/experiments/my-chaos-experiment
{experimentName.json} JSON qui contient la configuration de l’expérience chaos Généré par l’utilisateur experiment.json (Consultez un didacticiel CLI pour obtenir un exemple de fichier complet)
{subscriptionId} ID d’abonnement où se trouve la ressource cible Rechercher dans la page abonnements Portail Azure ou en exécutantaz account list --output table 6b052e15-03d3-4f17-b2e1-be7f07588291
{resourceGroupName} Nom du groupe de ressources dans lequel se trouve la ressource cible Rechercher dans la page Groupes de ressources ou en exécutant az group list --output table my-resource-group
{executionDetailsId} ID d’exécution d’une exécution d’expérience Rechercher dans la page Expérience Chaos Studio ou avec un appel GET au point de /executions terminaison C69E7FCD-1548-47E5-9DDA-92A5DD60E610
{targetType} Type de cible pour la ressource correspondante Rechercher dans la liste des fournisseurs d’erreur ou un appel GET au /locations/{locationName}/targetTypes point de terminaison Microsoft-VirtualMachine
{capabilityName} Nom d’une ressource de capacité individuelle, extension d’une ressource cible Rechercher dans la documentation de référence d’erreur ou avec un appel GET au point de capabilityTypes terminaison Shutdown-1.0
{locationName} Région Azure pour une ressource ou un point de terminaison régional Rechercher toutes les régions possibles pour votre compte avec az account list-locations --output table eastus