Aracılığıyla paylaş


Chaos Studio ile etkileşime geçmek için REST API'lerini kullanma

Azure Chaos Studio'yu CI/CD işlem hatlarınızla tümleştiriyorsanız veya yalnızca Azure kaynaklarınızla etkileşimde bulunmak için doğrudan API çağrılarını kullanmayı tercih ediyorsanız, Chaos Studio'nun REST API'sini kullanabilirsiniz. Tam API başvurusu için Azure Chaos Studio REST API başvurusu sayfasını ziyaret edin. Bu sayfa REST API'yi etkili bir şekilde kullanmaya yönelik örnekler sağlar ve kapsamlı bir başvuru olarak tasarlanmamıştır.

Bu makalede, bu komutları yürütmek için Azure CLI kullandığınız varsayılır, ancak bunları diğer standart REST istemcilerine uyarlayabilirsiniz.

Chaos Studio REST API'lerini kullanarak aşağıdakileri yapabilirsiniz:

  • Deneme oluşturma, değiştirme ve silme
  • Deneme yürütmelerini görüntüleme, başlatma ve durdurma
  • Hedefleri görüntüleme ve yönetme
  • Aboneliğinizi Chaos Studio kaynak sağlayıcısına kaydetme ve kaydını kaldırma
  • Kullanılabilir kaynak sağlayıcısı işlemlerini görüntüleyin.

Komut satırından az cli bu eylemleri gerçekleştirmek için yardımcı programını kullanın.

İpucu

Azure CLI ile daha ayrıntılı bir çıkış elde etmek için her komutun sonuna ekleyin --verbose . Bu değişken, komutlar yürütülürken hata ayıklamaya yardımcı olan dahil olmak üzere x-ms-correlation-request-iddaha fazla meta veri döndürür.

Bu örnekler genel kullanıma sunulan Chaos Studio API sürümüyle 2023-11-01gözden geçirilmiştir.

Kaynak sağlayıcısı komutları

Bu bölümde, kaynak sağlayıcısının durumunu ve kullanılabilir işlemlerini anlamanıza yardımcı olan Chaos Studio sağlayıcı komutları listelenir.

Microsoft.Chaos kaynak sağlayıcısıyla ilgili ayrıntıları listeleme

Bu, Chaos kaynak sağlayıcısı ve bölge kullanılabilirliği için kullanılabilir API sürümleri gibi bilgileri gösterir. Bunun için en son api-version gerekli olan, Chaos kaynak sağlayıcısı işlemlerinden api-version farklı olabilir.

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

Microsoft.Chaos kaynak sağlayıcısının tüm işlemlerini listeleme

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

Hedefler ve özellikler

Bu işlemler hangi hedeflerin ve özelliklerin kullanılabilir olduğunu görmenize ve bunları bir hedefe eklemenize yardımcı olur.

Bir bölgede kullanılabilen tüm hedef türlerini listeleme

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

Hedef tür için kullanılabilen tüm özellikleri listeleme

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

Kaynağı hedef olarak etkinleştirme

Bir denemede kaynak kullanmak için kaynağı hedef olarak etkinleştirmeniz gerekir.

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

Hedef için özellikleri etkinleştirme

Bir kaynak hedef olarak etkinleştirildikten sonra hangi özelliklere (hatalara karşılık gelen) izin verileceğini belirtmeniz gerekir.

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

Hedef için hangi özelliklerin etkinleştirildiğini görme

Bir hedef ve özellikler etkinleştirildikten sonra, etkinleştirilmiş özellikleri görüntüleyebilirsiniz. Bu, her hata için parametre şemasını içerdiğinden kaos denemenizi oluşturmak için kullanışlıdır.

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

Denemeler

Bu işlemler denemeleri görüntülemenize, çalıştırmanıza ve yönetmenize yardımcı olur.

Kaynak grubundaki tüm denemeleri listeleme

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

Denemenin yapılandırma ayrıntılarını ada göre alma

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

Deneme oluşturma veya güncelleştirme

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

Denemeyi silme

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

Deneme başlatma

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

Denemenin tüm yürütmelerini alma

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

Belirli bir deneme yürütmesinin ayrıntılarını listeleme

Bir deneme başarısız olduysa, hata iletilerini ve başarısız olan belirli hedefleri, dalları, adımları veya eylemleri bulmak için kullanılabilir.

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

Denemeyi iptal etme (durdurma)

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

Diğer yararlı komutlar ve ipuçları

Bu komutlar Chaos Studio API'sini özellikle kullanmasa da Chaos Studio'yu etkili bir şekilde kullanmak için yararlı olabilir.

Chaos Studio kaynaklarını Azure Kaynak Grafı ile görüntüleme

Hedefler ve özellikler gibi Chaos Studio ile ilişkili kaynakları sorgulamak için Azure Kaynak Grafı REST API'sini kullanabilirsiniz.

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

Alternatif olarak Azure Kaynak Grafı uzantısını az cli da kullanabilirsiniz.

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

Örneğin, aboneliğinizde kaynak grubuna göre etkin olan tüm Chaos Studio hedeflerinin özetini istiyorsanız şunları kullanabilirsiniz:

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

Filtreleme ve sorgulama

Diğer Azure CLI komutlarında olduğu gibi ve --filter parametrelerini Azure CLI rest komutları ile kullanabilirsiniz--query. Örneğin, belirli bir hedef türü için kullanılabilir yetenek türlerinden oluşan bir tablo görmek için aşağıdaki komutu kullanın:

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

Parametre tanımları

Bu bölümde, bu belge boyunca kullanılan parametreler ve bunları nasıl doldurabileceğiniz açıklanmaktadır.

Parametre adı Tanım Arama Örnek
{apiVersion} Sağlanan komutu yürütürken kullanılacak API sürümü API belgelerinde bulunabilir 2023-11-01
{experimentId} Deneme için Azure Kaynak Kimliği Chaos Studio Denemesi sayfasında veya uç noktaya get çağrısıyla bulunabilir /experiments /subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/my-resource-group/providers/Microsoft.Chaos/experiments/my-chaos-experiment
{experimentName.json} Kaos denemesinin yapılandırmasını içeren JSON Kullanıcı tarafından oluşturuldu experiment.json(Tam örnek dosya için cli öğreticisi'ne bakın)
{subscriptionId} Hedef kaynağın bulunduğu abonelik kimliği Azure portalı Abonelikler sayfasında veya komutunu çalıştırarak bulunaz account list --output table 6b052e15-03d3-4f17-b2e1-be7f07588291
{resourceGroupName} Hedef kaynağın bulunduğu kaynak grubunun adı Kaynak Grupları sayfasında veya komutunu çalıştırarak bulunaz group list --output table my-resource-group
{executionDetailsId} Deneme yürütmesinin yürütme kimliği Chaos Studio Denemesi sayfasında veya uç noktaya get çağrısıyla /executions bulma C69E7FCD-1548-47E5-9DDA-92A5DD60E610
{targetType} İlgili kaynak için hedef türü Hata sağlayıcıları listesinde veya uç noktaya get çağrısında /locations/{locationName}/targetTypes bulun Microsoft-VirtualMachine
{capabilityName} Hedef kaynağı genişleten tek bir yetenek kaynağının adı Hata başvurusu belgelerinde veya uç noktaya get çağrısıyla capabilityTypes bulma Shutdown-1.0
{locationName} Kaynak veya bölgesel uç nokta için Azure bölgesi ile hesabınız için tüm olası bölgeleri bulma az account list-locations --output table eastus