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-01
tersedia 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}
Catatan: jika Anda menerima kesalahan UnsupportedMediaType
, pastikan file JSON yang dirujuk valid, dan coba cara lain untuk mereferensikan .json
file. Penerjemah baris perintah yang berbeda mungkin memerlukan metode referensi file yang berbeda. Sintaks umum lainnya adalah --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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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 |
aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e |
{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 |