التحقق من سلامة الموارد في Azure

مكتمل

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

في هذه الوحدة، ستتعلم كيفية التحقق من نجاح النقل. يمكنك أيضا معرفة كيفية استخدام عملية Azure REST API validate move لاختبار التحركات والتحقق من صحتها.

استعد لاختبار عملية النقل

قبل محاولة نقل مورد، يمكنك اختبار ما إذا كان سينجح عن طريق استدعاء validate move العملية من Azure REST API. يكون هذا الاختبار مفيداً خاصة إذا كنت تحاول نقل الموارد باستخدام (على سبيل المثال) Azure PowerShell أو Azure CLI. ويمكنك استخدام هذه الأدوات لعمل برنامج نصي لعملية النقل، مع الحد الأدنى من التفاعل البشري. لا يؤثر اختبار النقل على مواردك. تختبر العملية فقط وتوضح ما إذا كانت عملية النقل ستنجح، بناءً على الخيارات التي تقدمها.

إذا كنت تحاول نقل الموارد عبر مدخل Microsoft Azure، فلن تحتاج إلى التحقق من سلامة النقل قبل محاولة القيام به. يقوم مدخل Microsoft Azure بالتحقق التلقائي من السلامة قبل السماح لك بنقل الموارد.

تُعد API REST واجهة برمجية يمكنك الاتصال بها عن طريق إرسال طلبات HTTP. غالبًا ما يتصل المبرمجون بـ REST APIs في التعليمات البرمجية المخصصة الخاصة بهم من العملاء مثل تطبيقات المحمول. لاستدعاء أسلوب AZURE REST معين، مثل validate move العملية، يمكنك استخدام Azure CLI:

az rest --method post --uri <enter the correct REST operation URI here>

لصياغة REST URI الصحيح للاتصال، ولتقديم التفاصيل الضرورية الأخرى، يتعين عليك الحصول على المعلومات التالية:

  • معرّف اشتراك Azure.
  • اسم مجموعة الموارد التي تحتفظ بمواردك حاليًا.
  • معرف المورد لكل مورد من الموارد في مجموعة الموارد الأصلية.
  • معرف المورد لمجموعة الموارد الوجهة حيث تريد نقل مواردك.
  • الرمز المميز للوصول إلى حسابك.

عند استخدام CLI Azure لاستدعاء عملية Azure REST API، لا ينبغي عليك توفير معرّف اشتراك أو رمز مميز للوصول. يتضمن CLI هذه القيم تلقائيًا.

اختبار التحقق من سلامة عملية النقل

لنلقِ نظرة رفيعة المستوى على عملية التحقق من سلامة النقل باستخدام API REST.

يمكنك إرسال طلب POST مع التفاصيل التالية:

POST https://management.azure.com/subscriptions/<your-subscription-id>/resourceGroups/<your-source-group>/validateMoveResources?api-version=2019-05-10
Authorization: Bearer <your-access-token>
Content-type: application/json

يجب أن يحتوي نص طلب POST على المعلومات التالية:

{
 "resources": ["<your-resource-id-1>", "<your-resource-id-2>", "<your-resource-id-3>"],
 "targetResourceGroup": "/subscriptions/<your-subscription-id>/resourceGroups/<your-target-group>"
}

لإرسال طلب POST هذا مع النص الأساسي الصحيح باستخدام CLI Azure، قم بتشغيل هذا الأمر:

az rest --method post \
   --uri https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/<your-source-group>/validateMoveResources?api-version=2019-05-10 \
   --body "{\"resources\": [\"<your-resource-id-1>\", \"<your-resource-id-2>\", \"<your-resource-id-3>\"], \"targetResourceGroup\": \"/subscriptions/<your-subscription-id>/resourceGroups/<your-target-group>\"}" \
   --verbose

إذا تم قبول طلبك، يقوم API بإرجاع رمز حالة 202:

Response Code: 202
cache-control: no-cache
pragma: no-cache
expires: -1
location: https://management.azure.com/subscriptions/<your-subscription-id>/operationresults/<your-operation-id>?api-version=2018-02-01
retry-after: 15

في هذه المرحلة، تظهر الاستجابة أن واجهة برمجة التطبيقات تقبل طلبك، ولكنها لم تتحقق مما إذا كانت الخطوة الخاصة بك ستكون ناجحة. تمنحك هذه الاستجابة عنوان URL للموقع. استخدم عنوان URL للموقع هذا لاختبار نقلك. انتظر مقدار الوقت الموضح في ⁧retry-after⁩ القيمة في التحقق من سلامة الطلب، قبل محاولة اختبار التحقق من السلامة. في هذا المثال، تكون القيمة 15 ثانية.

بعد انتظار الوقت المحدد، أرسل طلب GET إلى عنوان URL للموقع:

GET <location-url>
Authorization: Bearer <your-access-token>

لإرسال طلب GET هذا باستخدام CLI Azure، قم بتشغيل هذا الأمر:

az rest --method get --uri <location-url>

إذا تحققت عملية النقل من نجاحها، فستحصل على رمز حالة 204. وإلا، فستتلقى رسالة الخطأ التالية، تشير إلى أن نقلك لن يكون ناجحا:

{"error":{"code":"ResourceMoveProviderValidationFailed","message":"<message>"...}}

‏‫اختبر معلوماتك

1.

في أي من الحالات التالية سيُجرى اختبار التحقق تلقائيًا؟

2.

في أي من المواقف التالية تحتاج إلى الحصول على رمز مميز للوصول قبل أن تتمكن من التحقق من سلامة النقل؟