Condividi tramite


Usare le API REST per interagire con Chaos Studio

Se si sta integrando Azure Chaos Studio nelle pipeline CI/CD o si preferisce semplicemente usare chiamate API dirette per interagire con le risorse di Azure, è possibile usare l'API REST di Chaos Studio. Per informazioni di riferimento sull'API completa, vedere le informazioni di riferimento sull'API REST di Azure Chaos Studio. Questa pagina fornisce esempi per l'uso efficace dell'API REST e non è un riferimento completo.

Questo articolo presuppone che si usi l'interfaccia della riga di comando di Azure per eseguire questi comandi, ma è possibile adattarli ad altri client REST standard.

È possibile usare le API REST di Chaos Studio per:

  • Creare, modificare ed eliminare esperimenti
  • Visualizzare, avviare e arrestare le esecuzioni degli esperimenti
  • Visualizzare e gestire le destinazioni
  • Registrare e annullare la registrazione della sottoscrizione con il provider di risorse di Chaos Studio
  • Visualizzare le operazioni del provider di risorse disponibili.

Usare l'utilità az cli per eseguire queste azioni dalla riga di comando.

Suggerimento

Per ottenere un output più dettagliato con l'interfaccia della riga di comando di Azure, aggiungere --verbose alla fine di ogni comando. Questa variabile restituisce più metadati quando i comandi vengono eseguiti, incluso x-ms-correlation-request-id, che facilita il debug.

Questi esempi sono stati esaminati con la versione 2023-11-01dell'API Chaos Studio disponibile a livello generale.

Comandi del provider di risorse

Questa sezione elenca i comandi del provider Chaos Studio, che consentono di comprendere lo stato del provider di risorse e le operazioni disponibili.

Elencare i dettagli sul provider di risorse Microsoft.Chaos

Vengono visualizzate informazioni come le versioni API disponibili per il provider di risorse Chaos e la disponibilità dell'area. L'ultima api-version richiesta per questa operazione può essere diversa da quella per le operazioni del api-version provider di risorse Chaos.

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

Elencare tutte le operazioni del provider di risorse Microsoft.Chaos

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

Destinazioni e funzionalità

Queste operazioni consentono di visualizzare le destinazioni e le funzionalità disponibili e di aggiungerle a una destinazione.

Elencare tutti i tipi di destinazione disponibili in un'area

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

Elencare tutte le funzionalità disponibili per un tipo di destinazione

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

Abilitare una risorsa come destinazione

Per usare una risorsa in un esperimento, è necessario abilitarla come destinazione.

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

Abilitare le funzionalità per una destinazione

Dopo aver abilitato una risorsa come destinazione, è necessario specificare quali funzionalità (corrispondenti agli errori) sono consentite.

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

Vedere quali funzionalità sono abilitate per una destinazione

Dopo aver abilitato una destinazione e le funzionalità, è possibile visualizzare le funzionalità abilitate. Ciò è utile per costruire l'esperimento chaos, poiché include lo schema dei parametri per ogni errore.

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

Sperimentazioni

Queste operazioni consentono di visualizzare, eseguire e gestire esperimenti.

Elencare tutti gli esperimenti in un gruppo di risorse

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

Ottenere i dettagli di configurazione di un esperimento in base al nome

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

Creare o aggiornare un esperimento

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

Eliminare un esperimento

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

Avviare un esperimento

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

Ottenere tutte le esecuzioni di un esperimento

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

Elencare i dettagli di un'esecuzione specifica di un esperimento

Se un esperimento non è riuscito, può essere usato per trovare messaggi di errore e destinazioni, rami, passaggi o azioni specifiche che non sono riuscite.

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

Annullare (arrestare) un esperimento

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

Altri comandi e suggerimenti utili

Anche se questi comandi non usano l'API Chaos Studio in modo specifico, possono essere utili per l'uso efficace di Chaos Studio.

Visualizzare le risorse di Chaos Studio con Azure Resource Graph

È possibile usare l'API REST di Azure Resource Graph per eseguire query sulle risorse associate a Chaos Studio, ad esempio destinazioni e funzionalità.

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

In alternativa, è possibile usare l'estensione di az cliAzure Resource Graph.

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

Ad esempio, se si vuole un riepilogo di tutte le destinazioni Chaos Studio attive nella sottoscrizione in base al gruppo di risorse, è possibile usare:

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

Applicazione di filtri ed esecuzione di query

Analogamente ad altri comandi dell'interfaccia della riga di comando di Azure, è possibile usare i --query parametri e --filter con i comandi dell'interfaccia della riga di comando di Azure rest . Ad esempio, per visualizzare una tabella di tipi di funzionalità disponibili per un tipo di destinazione specifico, usare il comando seguente:

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

Definizioni dei parametri

In questa sezione vengono descritti i parametri usati in questo documento e come compilarli.

Nome parametro Definizione Cerca Esempio
{apiVersion} Versione dell'API da usare quando si esegue il comando fornito È possibile trovare la documentazione dell'API 2023-11-01
{experimentId} ID risorsa di Azure per l'esperimento È possibile trovare la pagina Dell'esperimento di Chaos Studio o con una chiamata GET all'endpoint /experiments /subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/my-resource-group/providers/Microsoft.Chaos/experiments/my-chaos-experiment
{experimentName.json} JSON che contiene la configurazione dell'esperimento chaos Generato dall'utente experiment.jsonVedere un'esercitazione dell'interfaccia della riga di comando per un file di esempio completo.
{subscriptionId} ID sottoscrizione in cui si trova la risorsa di destinazione Trovare nella pagina portale di Azure Sottoscrizioni o eseguendoaz account list --output table 6b052e15-03d3-4f17-b2e1-be7f07588291
{resourceGroupName} Nome del gruppo di risorse in cui si trova la risorsa di destinazione Trovare nella pagina Gruppi di risorse o eseguendo az group list --output table my-resource-group
{executionDetailsId} ID esecuzione di un'esecuzione dell'esperimento Trovare nella pagina Dell'esperimento di Chaos Studio o con una chiamata GET all'endpoint /executions C69E7FCD-1548-47E5-9DDA-92A5DD60E610
{targetType} Tipo di destinazione per la risorsa corrispondente Trovare nell'elenco Provider di errore o una chiamata GET all'endpoint /locations/{locationName}/targetTypes Microsoft-VirtualMachine
{capabilityName} Nome di una singola risorsa di funzionalità, estensione di una risorsa di destinazione Trovare nella documentazione di riferimento sugli errori o con una chiamata GET all'endpoint capabilityTypes Shutdown-1.0
{locationName} Area di Azure per una risorsa o un endpoint a livello di area Trovare tutte le aree possibili per l'account con az account list-locations --output table eastus