افهم تسلسل التوزيع في Azure Blueprints

هام

في 11 يوليو 2026، سيتم إهمال المخططات (إصدار أولي). قم بترحيل تعريفات المخطط الحالي وتعييناته إلى مواصفات القالبومكدسات التوزيع. سيتم تحويل البيانات الاصطناعية للمخطط إلى قوالب ARM JSON أو ملفات Bicep المستخدمة لتعريف مكدسات التوزيع. لمعرفة كيفية تأليف أداة كمورد ARM، راجع:

تستخدم Azure Blueprints ترتيب تسلسلي لتحديد ترتيب إنشاء المورد عند معالجة تعيين تعريف المخطط. تشرح هذه المقالة المفاهيم التالية:

  • ترتيب التسلسل الافتراضي المستخدم
  • كيفية تخصيص الطلب
  • كيف تتم معالجة الطلب المخصص

هناك متغيرات في أمثلة JSON تحتاج إلى استبدالها بقيمك الخاصة:

  • {YourMG} - استبدل اسم مجموعة الإدارة الخاصة بك

ترتيب التسلسل الافتراضي

إذا كان تعريف المخطط لا يحتوي على أي توجيه لترتيب توزيع البيانات الاصطناعية أو كان التوجيه فارغاً، فسيتم استخدام الترتيب التالي:

  • البيانات الاصطناعية تعيين الدور على مستوى الاشتراك مرتبة حسب اسم الأداة
  • البيانات الاصطناعية نهج تعيين مستوى الاشتراك مصنفة حسب اسم الأداة
  • مستوى الاشتراك قالب Azure Resource Manager (قوالب ARM) مصنفة حسب اسم الأداة
  • عناصرمجموعة الموارد (بما في ذلك البيانات الاصطناعية الفرعية) مرتبة حسب اسم العنصر النائب

داخل كل عنصر مجموعة موارد، يتم استخدام ترتيب التسلسل التالي للبيانات الاصطناعية التي سيتم إنشاؤها داخل مجموعة الموارد هذه:

  • البيانات الاصطناعية تعيين الدور التابعة لمجموعة الموارد مصنفة حسب اسم الأداة
  • البيانات الاصطناعية تعيين النهج التابعة لمجموعة الموارد مصنفة حسب اسم الأداة
  • البيانات الاصطناعية مجموعة الموارد الفرعية قالب Azure Resource Manager (قوالب ARM) مصنفة حسب اسم الأداة

ملاحظة

يؤدي استخدام artifacts () إلى إنشاء تبعية ضمنية على الأداة التي تتم الإشارة إليها.

تخصيص ترتيب التسلسل

عند تكوين تعريفات مخطط كبيرة، قد يكون من الضروري إنشاء الموارد بترتيب معين. نمط الاستخدام الأكثر شيوعاً لهذا السيناريو هو عندما يتضمن تعريف المخطط عدة قوالب ARM. تعالج Azure Blueprints هذا النمط من خلال السماح بتحديد ترتيب التسلسل.

يتم تنفيذ الترتيب من خلال تعريف خاصية dependsOn في JSON. يدعم تعريف المخطط، لمجموعات الموارد، والبيانات الاصطناعية هذه الخاصية. dependsOn عبارة عن صفيف سلسلة من أسماء البيانات الاصطناعية التي يجب إنشاء الأداة المعينة قبل إنشائها.

ملاحظة

عند إنشاء عناصر مخطط، يحصل كل مورد اصطناعي على اسمه من اسم الملف، في حالة استخدام PowerShell، أو نقطة نهاية عنوان URL، في حالة استخدام REST API. يجب أن تتطابق مراجع resourceGroup في البيانات الاصطناعية مع تلك المعرفة في تعريف المخطط.

مثال - مجموعة الموارد المطلوبة

يحتوي تعريف المخطط النموذجي هذا على مجموعة موارد قامت بتعريف ترتيب تسلسل مخصص عن طريق إعلان قيمة لـ dependsOn، جنباً إلى جنب مع مجموعة موارد قياسية. في هذه الحالة، ستتم معالجة العنصر المسمى assignPolicyTags قبل مجموعة الموارد order-rg. ستتم معالجةstandard-rg وفقاً لترتيب التسلسل الافتراضي.

{
    "properties": {
        "description": "Example blueprint with custom sequencing order",
        "resourceGroups": {
            "ordered-rg": {
                "dependsOn": [
                    "assignPolicyTags"
                ],
                "metadata": {
                    "description": "Resource Group that waits for 'assignPolicyTags' creation"
                }
            },
            "standard-rg": {
                "metadata": {
                    "description": "Resource Group that follows the standard sequence ordering"
                }
            }
        },
        "targetScope": "subscription"
    },
    "type": "Microsoft.Blueprint/blueprints"
}

مثال - قطعة أثرية بترتيب مخصص

هذا المثال هو أحد عناصر النهج التي تعتمد على قالب ARM. من خلال الترتيب الافتراضي، سيتم إنشاء عنصر النهج قبل قالب ARM. يسمح هذا الترتيب لعنصر النهج بالانتظار حتى يتم إنشاء قالب ARM.

{
    "properties": {
        "displayName": "Assigns an identifying tag",
        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/2a0e14a6-b0a6-4fab-991a-187a4f81c498",
        "resourceGroup": "standard-rg",
        "dependsOn": [
            "customTemplate"
        ]
    },
    "kind": "policyAssignment",
    "type": "Microsoft.Blueprint/artifacts"
}

مثال - عنصر قالب مستوى الاشتراك بناءً على مجموعة موارد

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

"resourceGroups": {
    "wait-for-me": {
        "metadata": {
            "description": "Resource Group that is deployed prior to the subscription level template artifact"
        }
    }
}

يتم تحديد عنصر قالب مستوى الاشتراك الذي يعتمد على مجموعة موارد wait-for-me على النحو التالي:

{
    "properties": {
        "template": {
            ...
        },
        "parameters": {
            ...
        },
        "dependsOn": ["wait-for-me"],
        "displayName": "SubLevelTemplate",
        "description": ""
    },
    "kind": "template",
    "type": "Microsoft.Blueprint/blueprints/artifacts"
}

معالجة التسلسل المخصص

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

إذا تم الإعلان عن تبعية أثرية لن تغير الترتيب الافتراضي، فلن يتم إجراء أي تغيير. مثال على ذلك هو مجموعة الموارد التي تعتمد على نهج مستوى الاشتراك. مثال آخر هو تعيين نهج تابع لمجموعة الموارد "standard-rg" يعتمد على تعيين الدور الفرعي لمجموعة الموارد "standard-rg". في كلتا الحالتين، لن يغير dependsOn ترتيب التسلسل الافتراضي ولن يتم إجراء أي تغييرات.

الخطوات التالية