استخدام واجهات برمجة تطبيقات REST للتفاعل مع Chaos Studio

إذا كنت تقوم بدمج Azure Chaos Studio في مسارات CI/CD، أو كنت تفضل ببساطة استخدام استدعاءات API المباشرة للتفاعل مع موارد Azure الخاصة بك، يمكنك استخدام واجهة برمجة تطبيقات REST الخاصة ب Chaos Studio. للحصول على مرجع API الكامل، تفضل بزيارة مرجع واجهة برمجة تطبيقات REST في Azure Chaos Studio. توفر هذه الصفحة نماذج لاستخدام واجهة برمجة تطبيقات REST بشكل فعال، ولا يقصد بها أن تكون مرجعا شاملا.

تفترض هذه المقالة أنك تستخدم Azure CLI لتنفيذ هذه الأوامر، ولكن يمكنك تكييفها مع عملاء REST القياسيين الآخرين.

يمكنك استخدام واجهات برمجة تطبيقات Chaos Studio REST من أجل:

  • إنشاء التجارب وتعديلها وحذفها
  • عرض عمليات تنفيذ التجارب وبدء تشغيلها وإيقافها
  • عرض الأهداف وإدارتها
  • تسجيل اشتراكك وإلغاء تسجيله مع موفر موارد Chaos Studio
  • عرض عمليات موفر الموارد المتوفرة.

az cli استخدم الأداة المساعدة لتنفيذ هذه الإجراءات من سطر الأوامر.

تلميح

للحصول على المزيد من الإخراج المطول باستخدام Azure CLI، قم بالإلحاق --verbose بنهاية كل أمر. يقوم هذا المتغير بإرجاع المزيد من بيانات التعريف عند تنفيذ الأوامر، بما في ذلك x-ms-correlation-request-id، والتي تساعد في تصحيح الأخطاء.

تمت مراجعة هذه الأمثلة باستخدام إصدار 2023-11-01واجهة برمجة تطبيقات Chaos Studio المتوفر بشكل عام .

أوامر موفر الموارد

يسرد هذا القسم أوامر موفر Chaos Studio، والتي تساعدك على فهم حالة موفر الموارد والعمليات المتوفرة.

سرد تفاصيل حول موفر موارد Microsoft.Chaos

يعرض هذا معلومات مثل إصدارات واجهة برمجة التطبيقات المتوفرة لموفر موارد Chaos وتوافر المنطقة. قد يختلف api-version أحدث api-version مطلوب لهذا عن عمليات موفر موارد Chaos.

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

سرد جميع عمليات موفر موارد Microsoft.Chaos

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

الأهداف والقدرات

تساعدك هذه العمليات على معرفة الأهداف والقدرات المتوفرة، وإضافتها إلى الهدف.

سرد جميع أنواع الأهداف المتوفرة في منطقة

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

سرد جميع الإمكانات المتوفرة لنوع هدف

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

تمكين مورد كهدف

لاستخدام مورد في تجربة، تحتاج إلى تمكينه كهدف.

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

تمكين قدرات الهدف

بمجرد تمكين مورد كهدف، تحتاج إلى تحديد القدرات المسموح بها (المقابلة للأخطاء).

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

تعرف على القدرات التي تم تمكينها لهدف

بمجرد تمكين الهدف والقدرات، يمكنك عرض الإمكانات الممكنة. هذا مفيد لإنشاء تجربة الفوضى الخاصة بك، لأنه يتضمن مخطط المعلمة لكل خطأ.

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

التجارب

تساعدك هذه العمليات على عرض التجارب وتشغيلها وإدارتها.

سرد جميع التجارب في مجموعة موارد

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

الحصول على تفاصيل تكوين التجربة حسب الاسم

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

إنشاء تجربة أو تحديثها

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

حذف تجربة

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

بدء تجربة

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

الحصول على جميع عمليات تنفيذ التجربة

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

سرد تفاصيل تنفيذ تجربة معينة

إذا فشلت تجربة، يمكن استخدام هذا للعثور على رسائل الخطأ وأهداف أو فروع أو خطوات أو إجراءات محددة فشلت.

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

إلغاء (إيقاف) تجربة

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

أوامر وتلميحات مفيدة أخرى

في حين أن هذه الأوامر لا تستخدم واجهة برمجة تطبيقات Chaos Studio على وجه التحديد، فإنها يمكن أن تكون مفيدة لاستخدام Chaos Studio بشكل فعال.

عرض موارد Chaos Studio باستخدام Azure Resource Graph

يمكنك استخدام Azure Resource Graph REST API للاستعلام عن الموارد المرتبطة ب Chaos Studio، مثل الأهداف والقدرات.

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

بدلا من ذلك، يمكنك استخدام ملحق Azure Resource Graph.az cli

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

على سبيل المثال، إذا كنت تريد ملخصا لجميع أهداف Chaos Studio النشطة في اشتراكك حسب مجموعة الموارد، يمكنك استخدام:

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

التصفية والاستعلام

مثل أوامر Azure CLI الأخرى، يمكنك استخدام --query المعلمات و --filter مع أوامر Azure CLI rest . على سبيل المثال، لمشاهدة جدول أنواع الإمكانات المتوفرة لنوع هدف معين، استخدم الأمر التالي:

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

تعريفات المعلمات

يصف هذا القسم المعلمات المستخدمة في هذا المستند وكيف يمكنك تعبئتها.

اسم المعلمة التعريف البحث مثال
{apiVersion} إصدار واجهة برمجة التطبيقات لاستخدامه عند تنفيذ الأمر المقدم يمكن العثور عليها في وثائق واجهة برمجة التطبيقات 2023-11-01
{experimentId} معرف مورد Azure للتجربة يمكن العثور عليها في صفحة Chaos Studio Experiment أو مع استدعاء GET إلى /experiments نقطة النهاية /subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/my-resource-group/providers/Microsoft.Chaos/experiments/my-chaos-experiment
{experimentName.json} JSON الذي يحتوي على تكوين تجربة الفوضى تم إنشاؤه بواسطة المستخدم experiment.json (راجع البرنامج التعليمي CLI للحصول على ملف مثال كامل)
{subscriptionId} معرف الاشتراك حيث يوجد المورد الهدف البحث في صفحة اشتراكات مدخل Microsoft Azure أو عن طريق تشغيل az account list --output table 6b052e15-03d3-4f17-b2e1-be7f07588291
{resourceGroupName} اسم مجموعة الموارد حيث يوجد المورد الهدف البحث في صفحة مجموعات الموارد أو عن طريق تشغيل az group list --output table my-resource-group
{executionDetailsId} معرف التنفيذ لتنفيذ التجربة البحث في صفحة Chaos Studio Experiment أو مع استدعاء GET إلى /executions نقطة النهاية C69E7FCD-1548-47E5-9DDA-92A5DD60E610
{targetType} نوع الهدف للمورد المقابل البحث في قائمة موفري الأخطاء أو استدعاء GET إلى /locations/{locationName}/targetTypes نقطة النهاية Microsoft-VirtualMachine
{capabilityName} اسم مورد قدرة فردي، توسيع مورد هدف البحث في الوثائق المرجعية للخطأ أو مع استدعاء GET إلى capabilityTypes نقطة النهاية Shutdown-1.0
{locationName} منطقة Azure لمورد أو نقطة نهاية إقليمية البحث عن جميع المناطق الممكنة لحسابك باستخدام az account list-locations --output table eastus