نشر التطبيقات لحساب العقد باستخدام حزم تطبيقات Batch

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

تعد واجهات برمجة التطبيقات لإنشاء حزم التطبيقات وإدارتها جزءا من مكتبة Batch Management .NET . تعد واجهات برمجة التطبيقات لتثبيت حزم التطبيقات على عقدة حساب جزءا من مكتبة Batch .NET . توجد ميزات قابلة للمقارنة في واجهات برمجة التطبيقات الدفعية المتوفرة للغات البرمجة الأخرى.

تصف هذه المقالة سير عمل الرفع المدعوم لحزم التطبيقات، وتشرح كيفية رفعها وإدارتها في بوابة Azure، وتوضح كيفية تثبيتها على عقد الحوسبة الخاصة بمجموعة باستخدام مكتبة .NET Batch

هام

بدءا من مايو 2026، حدث تحسين أمني يؤثر على رفع حزم التطبيقات البرمجية عبر Azure PowerShell، وحزمة تطوير البرمجيات لإدارة الدفعات، وواجهة برمجة تطبيقات REST لإدارة الدفعات. راجع سير عمل الرفع المدعوم قبل رفع حزم التطبيقات الجديدة. مستخدمو بوابة Azure وAzure CLI ومستكشف الدفعات غير متأثرين.

متطلبات حزمة التطبيق

لاستخدام حزم التطبيقات، تحتاج إلى ربط حساب تخزين Azure بحساب Batch الخاص بك.

هناك قيود على عدد التطبيقات وحزم التطبيقات داخل حساب Batch وعلى الحد الأقصى لحجم حزمة التطبيق. لمزيد من المعلومات، راجع حصص الخدمة المجمعة وحدودها.

إشعار

لا تدعم مجموعات الدفعات التي تم إنشاؤها قبل 5 يوليو 2017 حزم التطبيقات (ما لم يتم إنشاؤها بعد 10 مارس 2016 باستخدام تكوين الخدمات السحابية). تحل ميزة حزم التطبيقات الموضحة هنا محل ميزة Batch Apps المتوفرة في الإصدارات السابقة من الخدمة.

فهم التطبيقات وحزم التطبيقات

ضمن Azure Batch، يشير أحد التطبيقات إلى مجموعة من الثنائيات التي تم إصدارها والتي يمكن تنزيلها تلقائيًا إلى العقد الحوسبية في المجموعة الخاصة بك. يحتوي التطبيق على حزمة تطبيق واحدة أو أكثر، والتي تمثل إصدارات مختلفة من التطبيق.

كل حزمة تطبيق هي ملف .zip يحتوي على ثنائيات التطبيق وأي ملفات داعمة. يتم اعتماد تنسيق .zip فقط.

رسم تخطيطي يوضح طريقة عرض عالية المستوى للتطبيقات وحزم التطبيقات.

يمكنك تحديد حزم التطبيقات على مستوى التجمع أو المهمة.

  • يتم نشر حزم تطبيقات التجمع إلى كل عقدة في التجمع. يتم نشر التطبيقات عندما تنضم عقدة إلى تجمع وعند إعادة تمهيدها أو إعادة تصورها.

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

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

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

    السيناريوهات الأخرى التي يمكن أن تستفيد من حزم تطبيقات المهام هي الوظائف التي تشغل تطبيقا كبيرا ولكن لعدد قليل فقط من المهام. على سبيل المثال، قد تكون تطبيقات المهام مفيدة لمرحلة معالجة مسبقة ثقيلة الوزن أو مهمة دمج.

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

إشعار

يجب أن يكون الحجم الإجمالي لمهمة البدء أقل من 32768 حرفا أو مساويا له، بما في ذلك ملفات الموارد ومتغيرات البيئة. إذا تجاوزت مهمة البدء هذا الحد، فإن استخدام حزم التطبيقات هو خيار آخر. يمكنك أيضا إنشاء ملف .zip يحتوي على ملفات الموارد الخاصة بك، وتحميل الملف ككائن ثنائي كبير الحجم إلى تخزين Azure، ثم فك ضغطه من سطر الأوامر لمهمة البدء.

تحميل التطبيقات وإدارتها

تستعرض الأقسام التالية كيفية ربط حساب تخزين، وتصف سير عمل الرفع المدعوم، وتوضح كيفية إضافة وإدارة التطبيقات وحزم التطبيقات في بوابة Azure.

إشعار

بينما يمكنك تعريف قيم التطبيق في مورد Microsoft.Batch/batchAccountsلقالب ARM، لا يمكن حاليا استخدام قالب ARM لتحميل حزم التطبيقات لاستخدامها في حساب Batch الخاص بك. يجب تحميلها إلى حساب التخزين المرتبط كما هو موضح في إضافة تطبيق جديد.

لاستخدام حزم التطبيقات، يجب ربط حساب تخزين Azure بحساب Batch الخاص بك. تستخدم خدمة Batch حساب التخزين المقترن لتخزين حزم التطبيقات الخاصة بك. من الناحية المثالية، يجب إنشاء حساب تخزين خصيصا للاستخدام مع حساب Batch الخاص بك.

إذا لم تكن قد قمت بتكوين حساب تخزين بعد، يعرض مدخل Microsoft Azure تحذيرا في المرة الأولى التي تحدد فيها التطبيقات من قائمة التنقل اليسرى في حساب Batch الخاص بك. لربط حساب تخزين بحسابك في Batch الخاص بك:

  1. حدد نافذة التحذير التي تنص على "لا يوجد حساب تخزين تم تكوينه لحساب الدفعة هذا".
  2. ثم اختر مجموعة حساب التخزين... في الصفحة التالية.
  3. اختر الارتباط تحديد حساب تخزين في قسم معلومات حساب التخزين .
  4. حدد حساب التخزين الذي تريد استخدامه مع حساب الدفعة هذا في القائمة في جزء اختيار حساب التخزين .
  5. ثم حدد حفظ في الزاوية العلوية اليمنى من الصفحة.

بعد ربط الحسابين، يمكن ل Batch نشر الحزم المخزنة في حساب التخزين المرتبط تلقائيا إلى عقد الحوسبة الخاصة بك.

هام

لا يمكنك استخدام حزم التطبيقات مع حسابات تخزين Azure المكونة مع قواعد جدار الحماية أو مع تعيين مساحة الاسم الهرمية إلى ممكن.

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

سير عمل الرفع المدعوم

يمكنك رفع وإدارة حزم التطبيقات باستخدام Azure portal، Azure CLI، Azure PowerShell، مستكشف الدفعات، حزمة تطوير تطوير إدارة الدفعات، أو واجهة برمجة تطبيقات REST لإدارة الدفعات.

بدءا من مايو 2026، إذا قمت برفع حزم التطبيقات برمجيا باستخدام Azure PowerShell أو Batch Management SDK أو Batch Management REST API أو أي أداة أخرى تعتمد على API، يجب عليك استخدام سير عمل الرفع المدعوم الموضح في هذا القسم.

تسلسل الرفع المطلوب: إنشاؤ، رفع، ثم تفعيل

استخدم التسلسل التالي لرفع نسخة حزمة التطبيق:

  1. استخدم ApplicationPackage - Create (HTTP PUT) لإنشاء أو تحديث حزمة التطبيق. تحتوي properties.storageUrlالاستجابة على ، الرابط الذي ترفع إليه ملف الحزمة الخاص بك، و properties.storageUrlExpiry، والذي يشير إلى موعد انتهاء صلاحية العنوان.
  2. ارفع ملف حزمة الطلب الخاص بك (ملف .zip) إليه storageUrl. يشير رابط الرابط إلى كتلة كتلة في حساب التخزين المرتبط بحساب الدفعة الخاص بك.
  3. استخدم ApplicationPackage - Activate (HTTP POST) لتفعيل الحزمة بحيث يمكن استخدامها من قبل مجموعات المهام.

سلوك و storageUrlstorageUrlExpiry في استجابات واجهات برمجة التطبيقات

مع هذا التحسين الأمني، Azure Batch يعيد رابط الرفع وانتهاء صلاحيته فقط في استجابة ApplicationPackage - Create (HTTP PUT). في ApplicationPackage - Get (HTTP GET) و ApplicationPackage - Activate (HTTP POST) ، properties.storageUrl و properties.storageUrlExpiry هي null:

  • إصدارات API التي تأتي بعد 2025-06-01: properties.storageUrl ودائما properties.storageUrlExpirynull ما تكون في ردود HTTP GET وHTTPPOST. لا يمكنك الانسحاب من هذا السلوك.
  • إصدارات 2025-06-01 API وما قبلها: بدءا من مايو 2026، يطبق الطرح التدريجي نفس السلوك. لتقليل الاضطراب، يعفي Azure Batch المستخدمين المؤقتين الذين اكتشفتهم لا يزالون يستخدمون HTTP GET للحصول على رابط الرفع لأغراض الرفع. خطط للانتقال إلى سير العمل المدعوم: استخدم HTTP PUT للحصول على عنوان URL للرفع، ثم رفع ملف الحزمة، ثم استخدم HTTP POST لتفعيل حزمة التطبيق.

هام

إذا كنت تستخدم نسخة API 2025-06-01 أو أقدم وتأثرت أثناء النشر التدريجي لأن سير عملك يعتمد على شكل الاستجابة القديمة، فتح تذكرة Azure support. خطط للانتقال إلى سير عمل الرفع المدعوم.

كيف يؤثر هذا على أدواتك

يلخص الجدول التالي ما إذا كنت بحاجة لاتخاذ إجراء لكل أداة.

أداة الإجراء المطلوب
Azure portal بلا.
Azure CLI بلا.
Azure PowerShell تحديث إلى الإصدار Azure PowerShell 15.2 أو أحدث، والذي يتضمن نسخة وحدة Az.Batch4.0.1 أو أحدث.
Batch Explorer بلا.
حزمة تطوير إدارة الدفعات راجع سير عملك. إذا كان سير عمل الرفع لديك يستخدم HTTP GET للحصول على عنوان الرفع، قم بتحديث سير العمل ليستخدم HTTP PUT. على سبيل المثال، في .NET، استخدم Update()، ورفعه إلى الرابط، ثم استخدم Activate(). لا تستخدم Get() للحصول على رابط الرابط لأغراض الرفع.
واجهة برمجة تطبيقات REST لإدارة الدُفعات راجع سير عملك. إذا كان سير عمل الرفع لديك يستخدم HTTP GET للحصول على عنوان الرفع، قم بتحديث سير العمل ليستخدم HTTP PUT. لا تستخدم HTTP GET للحصول على عنوان URL لأغراض الرفع.

إضافة تطبيق جديد

لإنشاء تطبيق جديد، يمكنك إضافة حزمة تطبيق وتحديد معرف تطبيق فريد.

في حساب Batch الخاص بك، حدد Applications من قائمة التنقل اليسرى، ثم حدد Add.

لقطة شاشة لعملية إنشاء تطبيق جديد في مدخل Microsoft Azure.

أدخل المعلومات التالية:

  • معرف التطبيق: معرف التطبيق الجديد.
  • الإصدار: النسخة الخاصة بحزمة التطبيق التي تقوم بتحميلها.
  • حزمة التطبيق: ملف .zip يحتوي على ثنائيات التطبيق والملفات الداعمة المطلوبة لتشغيل التطبيق.

يجب أن يتبع معرف التطبيقوالإصدار الذي تدخله المتطلبات التالية:

  • في عقد Windows، يمكن أن يحتوي المعرّف على أي مجموعة من الأحرف الأبجدية الرقمية والواصلات والشرطات السفلية. على عقد Linux، يُسمح فقط بالأحرف الأبجدية الرقمية والشرطات السفلية.
  • لا يمكن أن يحتوي على أكثر من 64 حرفا.
  • يجب أن يكون فريدا داخل حساب Batch.
  • المعرفات تحافظ على حالة الأحرف وتكون غير حساسة لحالة الأحرف.

عندما تصبح جاهزا، حدد إرسال. بعد تحميل ملف .zip إلى حساب تخزين Azure الخاص بك، يعرض المدخل إعلاما. اعتمادا على حجم الملف الذي تقوم بتحميله وسرعة اتصال الشبكة، قد تستغرق هذه العملية بعض الوقت.

عرض التطبيقات الحالية

لعرض التطبيقات في حساب Batch الخاص بك، حدد Applications في قائمة التنقل اليسرى.

لقطة شاشة لعنصر قائمة التطبيقات في مدخل Microsoft Azure.

يؤدي تحديد خيار القائمة هذا إلى فتح نافذة التطبيقات . تعرض هذه النافذة معرف كل تطبيق في حسابك والخصائص التالية:

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

لمشاهدة بنية ملف حزمة التطبيق على عقدة حساب، انتقل إلى حساب Batch الخاص بك في مدخل Microsoft Azure. حدد Pools. ثم حدد التجمع الذي يحتوي على عقدة الحساب. حدد عقدة الحساب التي تم تثبيت حزمة التطبيق عليها وافتح مجلد التطبيقات .

عرض تفاصيل التطبيق

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

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

إضافة حزمة تطبيق جديدة

لإضافة إصدار حزمة تطبيق لتطبيق موجود، حدد التطبيق في صفحة التطبيقات لحساب Batch الخاص بك. ثمَّ حَدِّد إضَافَة.

كما فعلت للتطبيق الجديد، حدد الإصدار لحزمتك الجديدة، وقم بتحميل ملف .zip في حقل حزمة التطبيق ، ثم حدد إرسال.

تحديث حزمة تطبيق أو حذفها

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

لقطة شاشة تعرض خيارات التحديث والحذف لحزم التطبيقات في مدخل Microsoft Azure.

إذا حددت تحديث، يمكنك تحميل ملف .zip جديد. يحل هذا الملف محل ملف .zip السابق الذي قمت بتحميله لهذا الإصدار.

إذا حددت حذف، فستتم مطالبتك بتأكيد حذف هذا الإصدار. بعد تحديد موافق، يحذف Batch ملف .zip من حساب تخزين Azure الخاص بك. إذا قمت بحذف الإصدار الافتراضي من أحد التطبيقات، تتم إزالة إعداد الإصدار الافتراضي لهذا التطبيق.

تثبيت التطبيقات على عقد الحوسبة

لقد تعلمت كيفية إدارة حزم التطبيقات في مدخل Microsoft Azure. الآن يمكنك معرفة كيفية توزيعها لحساب العقد وتشغيلها مع مهام Batch.

تثبيت حزم تطبيقات التجمع

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

في Azure. ResourceManager.Batch، حدد مدخلا أو أكثر من BatchApplicationPackageReference في مجموعة BatchAccountPoolData.ApplicationPackages عند إنشاء تجمع جديد أو تحديث تجمع موجود. تحدد الفئة BatchApplicationPackageReference معرف التطبيق والإصدار الذي يجب تثبيته على عقد الحوسبة في المجموعة.

ArmClient armClient = new ArmClient(new DefaultAzureCredential());

ResourceIdentifier batchAccountResourceId =
    BatchAccountResource.CreateResourceIdentifier("subscriptionId", "resourceGroupName", "accountName");
BatchAccountResource batchAccount = armClient.GetBatchAccountResource(batchAccountResourceId);

BatchAccountPoolCollection poolCollection = batchAccount.GetBatchAccountPools();

BatchAccountPoolData poolData = new BatchAccountPoolData()
{
    VmSize = "standard_d1_v2",
    DeploymentConfiguration = new BatchDeploymentConfiguration()
    {
        VmConfiguration = new BatchVmConfiguration(
            imageReference: new BatchImageReference()
            {
                Publisher = "MicrosoftWindowsServer",
                Offer = "WindowsServer",
                Sku = "2019-datacenter-core",
                Version = "latest"
            },
            nodeAgentSkuId: "batch.node.windows amd64")
    },
    ScaleSettings = new BatchAccountPoolScaleSettings()
    {
        FixedScale = new BatchAccountFixedScaleSettings() { TargetDedicatedNodes = 1 }
    }
};

// Specify the application and version to install on the compute nodes
poolData.ApplicationPackages.Add(
    new Azure.ResourceManager.Batch.Models.BatchApplicationPackageReference(
        new ResourceIdentifier($"{batchAccountResourceId}/applications/litware"))
    {
        Version = "1.1001.2b"
    });

// Create the pool. As the nodes join the pool, the specified application package
// is installed on each.
ArmOperation<BatchAccountPoolResource> pool = await poolCollection.CreateOrUpdateAsync(
    WaitUntil.Completed, "myPool", poolData);

هام

إذا فشل نشر حزمة تطبيق، فإن خدمة Batch تحدد العقدة غير قابلة للاستخدام ولا تتم جدولة أي مهام للتنفيذ على تلك العقدة. إذا حدث ذلك، فقم بإعادة تشغيل العقدة لإعادة نشر الحزمة. تؤدي إعادة تشغيل العقدة أيضا إلى تمكين جدولة المهام مرة أخرى على العقدة.

تثبيت حزم تطبيقات المهام

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

لتثبيت حزمة تطبيق مهمة، قم بتكوين خاصية BatchTaskCreateOptions.ApplicationPackageReferences الخاصة بالمهمة:

BatchTaskCreateOptions task = new BatchTaskCreateOptions(
    "litwaretask001",
    "cmd /c %AZ_BATCH_APP_PACKAGE_LITWARE%\\litware.exe -args -here");

task.ApplicationPackageReferences.Add(
    new Azure.Compute.Batch.BatchApplicationPackageReference("litware")
    {
        Version = "1.1001.2b"
    });

تنفيذ التطبيقات المثبتة

يتم تنزيل الحزم التي تحددها لتجمع أو مهمة واستخراجها إلى دليل مسمى داخل AZ_BATCH_ROOT_DIR العقدة. ينشئ Batch أيضا متغير بيئة يحتوي على المسار إلى الدليل المسمى. تستخدم أسطر أوامر المهمة متغير البيئة هذا عند الرجوع إلى التطبيق على العقدة.

في عقد Windows، يكون المتغير بالتنسيق التالي:

Windows:
AZ_BATCH_APP_PACKAGE_APPLICATIONID#version

في عقد Linux، يختلف التنسيق قليلا. يتم تسوية الفترات (.) والواصلات (-) وعلامات الأرقام (#) إلى تسطير أسفل السطر في متغير البيئة. أيضا، يتم الاحتفاظ بحالة معرف التطبيق. على سبيل المثال:

Linux:
AZ_BATCH_APP_PACKAGE_applicationid_version

APPLICATIONID و version هي القيم التي تتوافق مع إصدار التطبيق والحزمة التي حددتها للتوزيع. على سبيل المثال، إذا حددت أن الإصدار 2.7 من خلاط التطبيق يجب تثبيته على عقد Windows، فستستخدم أسطر أوامر المهمة متغير البيئة هذا للوصول إلى ملفاته:

Windows:
AZ_BATCH_APP_PACKAGE_BLENDER#2.7

في عقد Linux، حدد متغير البيئة بهذا التنسيق. قم بتسطيح الفترات (.) والواصلات (-) وعلامات الأرقام (#) إلى تسطير أسفل السطر، والاحتفاظ بحالة معرف التطبيق:

Linux:
AZ_BATCH_APP_PACKAGE_blender_2_7

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

على سبيل المثال، إذا قمت بتعيين "2.7" كإصدار افتراضي لمجموعة التطبيقات، وكانت مهامك تشير إلى متغير البيئة التالي، فإن عقد Windows تستخدم الإصدار 2.7:

AZ_BATCH_APP_PACKAGE_BLENDER

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

string taskId = "blendertask01";
string commandLine =
    @"cmd /c %AZ_BATCH_APP_PACKAGE_BLENDER%\blender.exe -args -here";
BatchTaskCreateOptions blenderTask = new BatchTaskCreateOptions(taskId, commandLine);

تلميح

لمزيد من المعلومات حول إعدادات بيئة عقدة الحساب، راجع إعدادات البيئة للمهام.

تحديث حزم تطبيقات التجمع

إذا تم تكوين تجمع موجود بالفعل مع حزمة تطبيق، يمكنك تحديد حزمة جديدة للتجمع. يعني ذلك:

  • تقوم خدمة Batch بتثبيت الحزمة المحددة حديثا على جميع العقد الجديدة التي تنضم إلى التجمع وعلى أي عقدة موجودة يتم إعادة تمهيدها أو إعادة تصورها.
  • لا تقوم عقد الحساب الموجودة بالفعل في التجمع عند تحديث مراجع الحزمة بتثبيت حزمة التطبيق الجديدة تلقائيا. يجب إعادة تشغيل عقد الحوسبة هذه أو إعادة تصورها لتلقي الحزمة الجديدة.
  • عند نشر حزمة جديدة، تعكس متغيرات البيئة التي تم إنشاؤها مراجع حزمة التطبيق الجديدة.

في هذا المثال، لدى المجموعة الحالية نسخة 2.7 من تطبيق بلندر معدة كأحد مراجع حزمة التطبيقات. لتحديث عقد المجموعة بالإصدار 2.76b، حدد BatchApplicationPackageReference جديد بالإصدار الجديد، ثم قم بتنفيذ التغيير.

var credential = new DefaultAzureCredential();
ArmClient armClient = new ArmClient(credential);
string newVersion = "2.76b";

ResourceIdentifier batchAccountResourceId =
    BatchAccountResource.CreateResourceIdentifier("subscriptionId", "resourceGroupName", "accountName");
BatchAccountPoolResource boundPool = await armClient
    .GetBatchAccountPoolResource(BatchAccountPoolResource.CreateResourceIdentifier(
        "subscriptionId", "resourceGroupName", "accountName", "myPool"))
    .GetAsync();

BatchAccountPoolData poolData = boundPool.Data;
poolData.ApplicationPackages.Clear();
poolData.ApplicationPackages.Add(
    new Azure.ResourceManager.Batch.Models.BatchApplicationPackageReference(
        new ResourceIdentifier($"{batchAccountResourceId}/applications/blender"))
    {
        Version = newVersion
    });

await boundPool.UpdateAsync(poolData);

الآن بعد أن تم تكوين الإصدار الجديد، تقوم خدمة Batch بتثبيت الإصدار 2.76b إلى أي عقدة جديدة تنضم إلى التجمع. لتثبيت 2.76b على العقد الموجودة بالفعل في التجمع، أعد تمهيدها أو أعد تعيينها. تحتفظ العقد المعاد تمهيدها بالملفات من عمليات نشر الحزمة السابقة.

سرد التطبيقات في حساب Batch

يمكنك سرد التطبيقات وحزمها في حساب Batch باستخدام مجموعة BatchAccountResource.GetBatchApplications من Azure.ResourceManager.Batch.

var credential = new DefaultAzureCredential();
ArmClient armClient = new ArmClient(credential);
ResourceIdentifier batchAccountResourceId =
    BatchAccountResource.CreateResourceIdentifier("subscriptionId", "resourceGroupName", "accountName");
BatchAccountResource batchAccount = armClient.GetBatchAccountResource(batchAccountResourceId);

await foreach (BatchApplicationResource app in batchAccount.GetBatchApplications().GetAllAsync())
{
    Console.WriteLine("ID: {0} | Display Name: {1}", app.Data.Name, app.Data.DisplayName);

    await foreach (BatchApplicationPackageResource package in app.GetBatchApplicationPackages().GetAllAsync())
    {
        Console.WriteLine("  {0}", package.Data.Name);
    }
}

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