إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
باستخدام Azure Batch PowerShell cmdlets، يمكنك تنفيذ العديد من مهام Batch الشائعة وبرمجتها. هذه مقدمة سريعة إلى أوامر cmdlets التي يمكنك استخدامها لإدارة حسابات Batch الخاصة بك والعمل مع موارد Batch الخاصة بك مثل التجمعات والوظائف والمهام.
للحصول على قائمة كاملة ب Batch cmdlets وصياغة cmdlet المفصلة التفصيلية، راجع مرجع Azure Batch cmdlet.
نوصي بتحديث وحدات Azure PowerShell بشكل متكرر للاستفادة من تحديثات الخدمة والتحسينات.
المتطلبات الأساسية
قم بتثبيت وتكوين وحدة Azure PowerShell. لتثبيت وحدة Azure Batch محددة، مثل وحدة ما قبل الإصدار، راجع PowerShell Gallery.
قم بتشغيل Connect-AzAccount cmdlet للاتصال باشتراكك (حزمة Azure Batch cmdlets في وحدة Azure Resource Manager):
Connect-AzAccountسجل في مساحة أسماء مزود الدفعة. تحتاج فقط لتنفيذ هذه العملية مرة واحدة لكل اشتراك.
Register-AzResourceProvider -ProviderNamespace Microsoft.Batch
إدارة حسابات الدفعات والمفاتيح
أنشئ حساب Batch
ينشئ حساب New-AzBatchAccount حساب دفعة في مجموعة موارد محددة. إذا لم يكن لديك مجموعة موارد بالفعل، أنشئ واحدة عن طريق تشغيل مجموعة New-AzResourceGroup . حدد إحدى مناطق Azure في معامل الموقع، مثل "Central US". على سبيل المثال:
New-AzResourceGroup –Name MyBatchResourceGroup –Location "Central US"
ثم قم بإنشاء حساب Batch في مجموعة الموارد. حدد اسما للحساب في <account_name>، وموقع واسم مجموعة الموارد الخاصة بك. قد يستغرق إنشاء حساب Batch بعض الوقت لإكماله. على سبيل المثال:
New-AzBatchAccount –AccountName <account_name> –Location "Central US" –ResourceGroupName <res_group_name>
ملاحظة
يجب أن يكون اسم حساب Batch فريدا لمنطقة Azure لمجموعة الموارد، وأن يحتوي على ما بين 3 و24 حرفا، وأن يستخدم أحرفا صغيرة وأرقاما فقط.
الحصول على مفاتيح الوصول إلى الحساب
Get-AzBatchAccountKeys يعرض مفاتيح الوصول المرتبطة بحساب Azure Batch. على سبيل المثال، قم بتشغيل ما يلي للحصول على المفاتيح الأساسية والثانوية للحساب الذي أنشأته.
$Account = Get-AzBatchAccountKeys –AccountName <account_name>
$Account.PrimaryAccountKey
$Account.SecondaryAccountKey
إنشاء مفتاح وصول جديد
يقوم New-AzBatchAccountKey بإنشاء مفتاح حساب رئيسي أو ثانوي جديد لحساب Azure Batch. على سبيل المثال، لإنشاء مفتاح أساسي جديد لحساب Batch الخاص بك، اكتب:
New-AzBatchAccountKey -AccountName <account_name> -KeyType Primary
ملاحظة
لتوليد مفتاح ثانوي جديد، حدد "ثانوي" لمعامل نوع المفاتيح . يجب إعادة إنشاء المفاتيح الأساسية والثانوية بشكل منفصل.
حذف حساب Batch
Remove-AzBatchAccount يحذف حساب Batch الخاص بهم. على سبيل المثال:
Remove-AzBatchAccount -AccountName <account_name>
عند مطالبتك، تأكد من رغبتك في إزالة الحساب. قد تستغرق عملية إزالة الحساب بعض الوقت لإكمالها.
إنشاء كائن BatchAccountContext
يمكنك المصادقة لإدارة موارد Batch باستخدام إما مصادقة المفتاح المشترك أو مصادقة Microsoft Entra. للمصادقة باستخدام Batch PowerShell cmdlets، قم أولا بإنشاء كائن BatchAccountContext لتخزين بيانات اعتماد حسابك أو هويتك. تقوم بتمرير كائن BatchAccountContext إلى مجموعات cmdlets تستخدم معامل BatchContext .
مصادقة المفتاح المشترك
$context = Get-AzBatchAccountKeys -AccountName <account_name>
ملاحظة
افتراضيا، يستخدم المفتاح الأساسي للحساب للمصادقة، لكن يمكنك اختيار المفتاح المطلوب صراحة عن طريق تغيير خاصية KeyInUse في كائن BatchAccountContext الخاص بك: $context.KeyInUse = "Secondary".
مصادقة Microsoft Entra
$context = Get-AzBatchAccount -AccountName <account_name>
إنشاء موارد Batch وتعديلها
استخدم مقاطع cmdlet مثل New-AzBatchPool، New-AzBatchJob، وNew-AzBatchTask لإنشاء موارد تحت حساب Batch (الحساب). هناك مجموعات Get-وSet- مقابلة لتحديث خصائص الموارد الموجودة، وأوامر Remove (Removed - cmdlets) لإزالة الموارد من حساب Batch فقط.
عند استخدام العديد من أوامر cmdlets هذه، بالإضافة إلى تمرير كائن BatchContext، تحتاج إلى إنشاء أو تمرير الكائنات التي تحتوي على إعدادات الموارد التفصيلية، كما هو موضح في المثال التالي. راجع التعليمات التفصيلية لكل cmdlet للحصول على أمثلة إضافية.
إنشاء تجمع Batch
عند إنشاء أو تحديث مجموعة الدفعات، تحدد إعدادا. يجب عادة تكوين مجموعات الأنظمة باستخدام Virtual Machine Configuration، الذي يتيح لك تحديد إحدى صور أجهزة Linux أو Windows المدعومة المدرجة في سوق Azure Virtual Machines، أو توفير صورة مخصصة قمت بتحضيرها. توفر تجمعات تكوين الخدمات السحابية عقد حساب Windows فقط ولا تدعم جميع ميزات Batch.
عند تشغيل New-AzBatchPool، مرر إعدادات نظام التشغيل في كائن PSVirtualMachineConfiguration أو PSCloudServiceConfiguration. على سبيل المثال، ينشئ القصاصة البرمجية التالية تجمع Batch بحجم Standard_A1 عقد حساب في تكوين الجهاز الظاهري، تم تصويره باستخدام Ubuntu Server 20.04-LTS. هنا، يحدد معامل VirtualMachineConfiguration المتغير $configuration ككائن PSVirtualMachineConfiguration. يحدد معامل BatchContext متغيرا معرفا مسبقا $context ككائن BatchAccountContext.
$imageRef = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSImageReference" -ArgumentList @("UbuntuServer","Canonical","20.04-LTS")
$configuration = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSVirtualMachineConfiguration" -ArgumentList @($imageRef, "batch.node.ubuntu 20.04")
New-AzBatchPool -Id "mypspool" -VirtualMachineSize "Standard_a1" -VirtualMachineConfiguration $configuration -AutoScaleFormula '$TargetDedicated=4;' -BatchContext $context
يتم حساب العدد المستهدف لعقد الحوسبة في التجمع الجديد بواسطة صيغة تغيير الحجم التلقائي. في هذه الحالة، الصيغة ببساطة هي $TargetDedicated=4، مما يشير إلى أن عدد عقد الحوسبة في المجموعة هو 4 على الأكثر.
الاستعلام عن التجمعات والوظائف والمهام والتفاصيل الأخرى
استخدم cmdlets مثل Get-AzBatchPool، Get-AzBatchJob، وGet-AzBatchTask للاستعلام عن الكيانات التي تم إنشاؤها تحت حساب Batch (الحساب).
الاستعلام عن البيانات
كمثال، استخدم Get-AzBatchPools للعثور على مجموعات الجمع الخاصة بك. افتراضيا، هذا يستشعر جميع مجموعات الحسابات تحت حسابك، بافتراض أنك قد خزنت بالفعل كائن BatchAccountContext في $context:
Get-AzBatchPool -BatchContext $context
استخدام عامل تصفية OData
يمكنك توفير مرشح OData باستخدام معامل الفلتر للعثور فقط على الكائنات التي تهتم بها. على سبيل المثال، يمكنك العثور على جميع التجمعات ذات المعرف بدءا من "myPool":
$filter = "startswith(id,'myPool')"
Get-AzBatchPool -Filter $filter -BatchContext $context
هذا الأسلوب غير مرن مثل استخدام "Where-Object" في البنية الأساسية لبرنامج ربط العمليات التجارية المحلية. ومع ذلك، يتم إرسال الاستعلام إلى خدمة Batch مباشرة بحيث تحدث جميع التصفية على جانب الخادم، ما يؤدي إلى حفظ عرض النطاق الترددي للإنترنت.
استخدام معلمة المعرف
بديل لمرشح OData هو استخدام معامل Id . للاستعلام عن تجمع معين بالمعرف "myPool":
Get-AzBatchPool -Id "myPool" -BatchContext $context
يدعم معامل Id فقط البحث الكامل للمعرف؛ ليست فلاتر بأسلوب OData أو غير متوقعة.
استخدام المعلمة MaxCount
بشكل افتراضي، يقوم كل cmdlet بإرجاع 1000 عنصر كحد أقصى. إذا وصلت إلى هذا الحد، إما أن تحسن الفلتر لإعادة عدد أقل من الأجسام، أو تحدد الحد الأقصى بشكل صريح باستخدام معامل MaxCount . على سبيل المثال:
Get-AzBatchTask -MaxCount 2500 -BatchContext $context
لإزالة الحد الأعلى، اضبط MaxCount على 0 أو أقل.
استخدام البنية الأساسية لبرنامج ربط العمليات التجارية PowerShell
تستخدم أوامر cmdlets الدفعية البنية الأساسية لبرنامج ربط العمليات التجارية PowerShell لإرسال البيانات بين أوامر cmdlets. هذا له نفس تأثير تحديد معلمة، ولكنه يجعل العمل مع كيانات متعددة أسهل.
على سبيل المثال، ابحث عن جميع المهام وعرضها ضمن حسابك:
Get-AzBatchJob -BatchContext $context | Get-AzBatchTask -BatchContext $context
أعد تشغيل (إعادة التشغيل) كل عقدة حساب في تجمع:
Get-AzBatchComputeNode -PoolId "myPool" -BatchContext $context | Restart-AzBatchComputeNode -BatchContext $context
إدارة حزمة التطبيق
توفر حزم التطبيقات طريقة مبسطة لنشر التطبيقات إلى عقد الحوسبة في مجموعات التطبيقات الخاصة بك. باستخدام Batch PowerShell cmdlets، يمكنك تحميل حزم التطبيقات وإدارتها في حساب Batch الخاص بك، ونشر إصدارات الحزمة لحساب العقد.
هام
يجب ربط حساب تخزين Azure بحساب Batch الخاص بك لاستخدام حزم التطبيقات.
أنشئ تطبيقا:
New-AzBatchApplication -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication"
إضافة حزمة تطبيق:
New-AzBatchApplicationPackage -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication" -ApplicationVersion "1.0" -Format zip -FilePath package001.zip
حدد النسخة الافتراضية للتطبيق:
Set-AzBatchApplication -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication" -DefaultVersion "1.0"
قائمة بحزم التطبيق
$application = Get-AzBatchApplication -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication"
$application.ApplicationPackages
حذف حزمة تطبيق
Remove-AzBatchApplicationPackage -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication" -ApplicationVersion "1.0"
حذف تطبيق
Remove-AzBatchApplication -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication"
ملاحظة
يجب حذف جميع إصدارات حزمة تطبيق التطبيق قبل حذف التطبيق. تتلقى خطأ 'تعارض' إذا حاولت حذف تطبيق يحتوي حاليا على حزم تطبيقات.
نشر حزمة تطبيق
يمكنك تحديد حزمة تطبيق واحدة أو أكثر للنشر عند إنشاء تجمع. عند تحديد حزمة في وقت إنشاء التجمع، يتم نشرها في كل عقدة حيث تنضم العقدة إلى التجمع. يتم أيضا نشر الحزم عند إعادة تشغيل عقدة أو إعادة تصورها.
حدد -ApplicationPackageReference الخيار عند إنشاء تجمع لنشر حزمة تطبيقات على عقد المجموعة أثناء انضمامها إلى المجموعة. أولا، أنشئ كائن PSApplicationPackageReference ، وقم بتكيينه مع معرف التطبيق وإصدار الحزمة الذي تريد نشره في عقد الحوسبة في المجموعة:
$appPackageReference = New-Object Microsoft.Azure.Commands.Batch.Models.PSApplicationPackageReference
$appPackageReference.ApplicationId = "MyBatchApplication"
$appPackageReference.Version = "1.0"
الآن قم بإنشاء التجمع، وحدد كائن مرجع الحزمة كوسيطة للخيار #D0:
New-AzBatchPool -Id "PoolWithAppPackage" -VirtualMachineSize "Small" -VirtualMachineConfiguration $configuration -BatchContext $context -ApplicationPackageReferences $appPackageReference
يمكنك العثور على مزيد من المعلومات حول حزم التطبيقات في تطبيقات Deploy لحساب العقد باستخدام حزم تطبيقات Batch (Batch Applications).
تحديث حزم تطبيقات التجمع
لتحديث التطبيقات المعينة إلى تجمع موجود، قم أولا بإنشاء كائن PSApplicationPackageReference بالخصائص المطلوبة (معرف التطبيق وإصدار الحزمة):
$appPackageReference = New-Object Microsoft.Azure.Commands.Batch.Models.PSApplicationPackageReference
$appPackageReference.ApplicationId = "MyBatchApplication"
$appPackageReference.Version = "2.0"
بعد ذلك، احصل على التجمع من Batch، وقم بإلغاء تحديد أي حزم موجودة، وأضف مرجع الحزمة الجديد، وقم بتحديث خدمة Batch بإعدادات التجمع الجديدة:
$pool = Get-AzBatchPool -BatchContext $context -Id "PoolWithAppPackage"
$pool.ApplicationPackageReferences.Clear()
$pool.ApplicationPackageReferences.Add($appPackageReference)
Set-AzBatchPool -BatchContext $context -Pool $pool
لقد قمت الآن بتحديث خصائص التجمع في خدمة Batch. لتوزيع حزمة التطبيق الجديدة فعليا لحساب العقد في التجمع، ومع ذلك، يجب إعادة تشغيل تلك العقد أو إعادة تعيينها. يمكنك إعادة تشغيل كل عقدة في تجمع باستخدام هذا الأمر:
Get-AzBatchComputeNode -PoolId "PoolWithAppPackage" -BatchContext $context | Restart-AzBatchComputeNode -BatchContext $context
تلميح
يمكنك نشر حزم تطبيقات متعددة إلى عقد الحوسبة في تجمع. إذا كنت ترغب في إضافة حزمة تطبيق بدلا من استبدال الحزم المنشورة حاليا، احذف السطر $pool.ApplicationPackageReferences.Clear() أعلاه.
الخطوات التالية
- راجع مرجع Azure Batch cmdlet للحصول على صياغة cmdlet وأمثلة تفصيلية.
- تعلم كيفية نشر التطبيقات لحساب العقد باستخدام حزم تطبيقات الدفعة.