Menggunakan REST API untuk berinteraksi dengan Chaos Studio

Jika Anda mengintegrasikan Azure Chaos Studio ke dalam alur CI/CD, atau Anda lebih suka menggunakan panggilan API langsung untuk berinteraksi dengan sumber daya Azure, Anda dapat menggunakan REST API Chaos Studio. Untuk referensi API lengkap, kunjungi referensi REST API Azure Chaos Studio. Halaman ini menyediakan sampel untuk menggunakan REST API secara efektif, dan tidak dimaksudkan sebagai referensi komprehensif.

Artikel ini mengasumsikan Anda menggunakan Azure CLI untuk menjalankan perintah ini, tetapi Anda dapat menyesuaikannya dengan klien REST standar lainnya.

Anda dapat menggunakan REST API Chaos Studio untuk:

  • Membuat, memodifikasi, dan menghapus eksperimen
  • Melihat, memulai, dan menghentikan eksekusi eksperimen
  • Melihat dan mengelola target
  • Mendaftarkan dan membatalkan pendaftaran langganan Anda dengan penyedia sumber daya Chaos Studio
  • Lihat operasi penyedia sumber daya yang tersedia.

az cli Gunakan utilitas untuk melakukan tindakan ini dari baris perintah.

Tip

Untuk mendapatkan lebih banyak output verbose dengan Azure CLI, tambahkan --verbose ke akhir setiap perintah. Variabel ini mengembalikan lebih banyak metadata ketika perintah dijalankan, termasuk x-ms-correlation-request-id, yang membantu dalam penelusuran kesalahan.

Contoh-contoh ini telah ditinjau dengan versi Chaos Studio API yang 2023-11-01tersedia secara umum .

Perintah penyedia sumber daya

Bagian ini mencantumkan perintah penyedia Chaos Studio, yang membantu Anda memahami status penyedia sumber daya dan operasi yang tersedia.

Mencantumkan detail tentang penyedia sumber daya Microsoft.Chaos

Ini menunjukkan informasi seperti versi API yang tersedia untuk penyedia sumber daya Chaos dan ketersediaan wilayah. Yang terbaru api-version diperlukan untuk ini mungkin berbeda dari api-version untuk operasi penyedia sumber daya Chaos.

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

Mencantumkan semua operasi penyedia sumber daya Microsoft.Chaos

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

Target dan kemampuan

Operasi ini membantu Anda melihat target dan kemampuan apa yang tersedia, dan menambahkannya ke target.

Mencantumkan semua jenis target yang tersedia di suatu wilayah

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

Mencantumkan semua kemampuan yang tersedia untuk jenis target

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

Mengaktifkan sumber daya sebagai target

Untuk menggunakan sumber daya dalam eksperimen, Anda perlu mengaktifkannya sebagai target.

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

Mengaktifkan kemampuan untuk target

Setelah sumber daya diaktifkan sebagai target, Anda perlu menentukan kemampuan apa (sesuai dengan kesalahan) yang diizinkan.

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

Lihat kemampuan apa yang diaktifkan untuk target

Setelah target dan kemampuan diaktifkan, Anda dapat melihat kemampuan yang diaktifkan. Ini berguna untuk membangun eksperimen chaos Anda, karena mencakup skema parameter untuk setiap kesalahan.

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

Percobaan

Operasi ini membantu Anda melihat, menjalankan, dan mengelola eksperimen.

Mencantumkan semua eksperimen dalam grup sumber daya

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

Mendapatkan detail konfigurasi eksperimen berdasarkan nama

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

Buat atau perbarui sebuah eksperimen

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

Menghapus eksperimen

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

Memulai eksperimen

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

Mendapatkan semua eksekusi eksperimen

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

Daftar rincian eksekusi eksperimen tertentu

Jika eksperimen gagal, ini dapat digunakan untuk menemukan pesan kesalahan dan target, cabang, langkah, atau tindakan tertentu yang gagal.

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

Membatalkan (menghentikan) eksperimen

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

Perintah dan tips bermanfaat lainnya

Meskipun perintah ini tidak menggunakan Chaos Studio API secara khusus, perintah ini dapat membantu untuk menggunakan Chaos Studio secara efektif.

Melihat sumber daya Chaos Studio dengan Azure Resource Graph

Anda dapat menggunakan Azure Resource Graph REST API untuk mengkueri sumber daya yang terkait dengan Chaos Studio, seperti target dan kemampuan.

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

Atau, Anda dapat menggunakan ekstensi Azure Resource Graph.az cli

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

Misalnya, jika Anda menginginkan ringkasan semua target Chaos Studio yang aktif di langganan berdasarkan grup sumber daya, Anda dapat menggunakan:

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

Pemfilteran dan kueri

Seperti perintah Azure CLI lainnya, Anda dapat menggunakan --query parameter dan --filter dengan perintah Azure CLI rest . Misalnya, untuk melihat tabel jenis kemampuan yang tersedia untuk jenis target tertentu, gunakan perintah berikut:

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

Definisi parameter

Bagian ini menjelaskan parameter yang digunakan di seluruh dokumen ini dan bagaimana Anda dapat mengisinya.

Nama Parameter Definisi Pencarian Contoh
{apiVersion} Versi API yang akan digunakan saat Anda menjalankan perintah yang disediakan Dapat ditemukan dalam dokumentasi API 2023-11-01
{experimentId} ID Sumber Daya Azure untuk eksperimen Dapat ditemukan di halaman Eksperimen Chaos Studio atau dengan panggilan GET ke /experiments titik akhir /subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/my-resource-group/providers/Microsoft.Chaos/experiments/my-chaos-experiment
{experimentName.json} JSON yang berisi konfigurasi eksperimen chaos Dihasilkan oleh pengguna experiment.json (Lihat tutorial CLI untuk file contoh lengkap)
{subscriptionId} ID Langganan tempat sumber daya target berada Temukan di halaman Langganan portal Azure atau dengan menjalankanaz account list --output table 6b052e15-03d3-4f17-b2e1-be7f07588291
{sumber dayaGroupName} Nama grup sumber daya tempat sumber daya target berada Temukan di halaman Grup Sumber Daya atau dengan menjalankan az group list --output table my-resource-group
{executionDetailsId} ID eksekusi eksekusi eksperimen Temukan di halaman Eksperimen Chaos Studio atau dengan panggilan GET ke /executions titik akhir C69E7FCD-1548-47E5-9DDA-92A5DD60E610
{targetType} Jenis target untuk sumber daya yang sesuai Temukan di daftar Penyedia kesalahan atau panggilan GET ke /locations/{locationName}/targetTypes titik akhir Microsoft-VirtualMachine
{capabilityName} Nama sumber daya kemampuan individual, memperluas sumber daya target Temukan dalam dokumentasi referensi kesalahan atau dengan panggilan GET ke capabilityTypes titik akhir Shutdown-1.0
{locationName} Wilayah Azure untuk sumber daya atau titik akhir regional Temukan semua wilayah yang mungkin untuk akun Anda dengan az account list-locations --output table eastus