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-id
daha fazla meta veri döndürür.
Bu örnekler genel kullanıma sunulan Chaos Studio API sürümüyle 2023-11-01
gö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}
Not: Hata UnsupportedMediaType
alırsanız, başvuruda bulunan JSON dosyanızın geçerli olduğundan emin olun ve dosyaya başvurmak .json
için başka yollar deneyin. Farklı komut satırı yorumlayıcıları farklı dosya başvuru yöntemleri gerektirebilir. Bir diğer yaygın söz dizimi de şeklindedir --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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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 |
aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e |
{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 |