مثال CLI: قم بتشغيل وظيفة ومهام باستخدام Azure Batch

ينشئ هذا البرنامج النصي مهمة مجمعة ويضيف سلسلة من المهام إلى الوظيفة. كما يوضح كيفية مراقبة الوظيفة ومهامها.

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

المتطلبات الأساسية

نموذج البرنامج النصي

إطلاق Azure Cloud Shell

Azure Cloud Shell هو shell تفاعلية مجانية التي يمكنك استخدامها لتشغيل الخطوات في هذه المقالة. يحتوي على أدوات Azure الشائعة المثبتة مسبقًا والمهيئة للاستخدام مع حسابك.

لفتح Cloud Shell، ما عليك سوى تحديد جربه من الزاوية اليمنى العليا من مجموعة التعليمات البرمجية. يمكنك أيضًا تشغيل Cloud Shell في علامة تبويب مستعرض منفصلة بالانتقال إلى https://shell.azure.com.

عند فتح Cloud Shell، تحقق من تحديد Bash لبيئتك. ستستخدم الجلسات اللاحقة Azure CLI في بيئة Bash، حدد نسخ لنسخ كتل التعليمات البرمجية، وألصقها في Cloud Shell، واضغط على Enter لتشغيلها.

تسجيل الدخول إلى Azure

يُصادق Cloud Shell تلقائياً بموجب الحساب الأولي الذي سُجل الدخول به. استخدم البرنامج النصي التالي لتسجيل الدخول باستخدام اشتراك مختلف، واستبدل <Subscription ID> بمعرّف اشتراك Azure الخاص بك. إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

لمزيد من المعلومات، راجع تعيين اشتراك نشط أو تسجيل الدخول بشكل تفاعلي

إنشاء حساب دفعي في وضع خدمة الدفعة

# Run a job and tasks with Azure Batch

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
[[ "$RESOURCE_GROUP" == '' ]] && resourceGroup="msdocs-batch-rg-$randomIdentifier" || resourceGroup="${RESOURCE_GROUP}"
tag="run-job"
storageAccount="msdocsstorage$randomIdentifier"
batchAccount="msdocsbatch$randomIdentifier"

# Create a resource group.
echo "Creating $resourceGroup in "$location"..."
az group create --name $resourceGroup --location "$location" --tag $tag

# Create a general-purpose storage account in your resource group.
echo "Creating $storageAccount"
az storage account create --resource-group $resourceGroup --name $storageAccount --location "$location" --sku Standard_LRS

# Create a Batch account.
echo "Creating $batchAccount"
az batch account create --name $batchAccount --storage-account $storageAccount --resource-group $resourceGroup --location "$location"

# Authenticate against the account directly for further CLI interaction.
az batch account login --name $batchAccount --resource-group $resourceGroup --shared-key-auth

# Create a new Linux pool with a virtual machine configuration. 
az batch pool create --id mypool --vm-size Standard_A1 --target-dedicated 2 --image canonical:ubuntuserver:18_04-lts-gen2 --node-agent-sku-id "batch.node.ubuntu 18.04"

# Create a new job to encapsulate the tasks that are added.
az batch job create --id myjob --pool-id mypool

# Add tasks to the job. Here the task is a basic shell command.
az batch task create --job-id myjob --task-id task1 --command-line "/bin/bash -c 'printenv AZ_BATCH_TASK_WORKING_DIR'"

لإضافة عدة مهام في وقت واحد

لإضافة العديد من المهام في وقت واحد، حدد المهام في ملف JSON، ومررها إلى الأمر. للتنسيق، راجع https://github.com/Azure/azure-docs-cli-python-samples/blob/master/batch/run-job/tasks.json. قدّم المسار المطلق إلى ملف JSON. للحصول على مثال لملف JSON، راجع https://github.com/Azure-Samples/azure-cli-samples/blob/master/batch/run-job/tasks.json.

az batch task create \
    --job-id myjob \
    --json-file tasks.json

لتحديث المهمة

يمكنك تحديث المهمة حيث يتم وضع علامة تلقائيا عليها بأنها مكتملة بمجرد الانتهاء من جميع المهام.

az batch job set \
--job-id myjob \
--on-all-tasks-complete terminatejob

لمراقبة حالة المهمة

az batch job show --job-id myjob

لمراقبة حالة مهمة

az batch task show \
    --job-id myjob \
    --task-id task1

تنظيف الموارد

استخدم الأمر التالي لإزالة مجموعة الموارد وجميع الموارد المقترنة بها باستخدام الأمر az group delete - إلا إذا وُجدت حاجة مستمرة لهذه الموارد. قد يستغرق إنشاء بعض هذه الموارد بعض الوقت، وكذلك حذفها.

az group delete --name $resourceGroup

نموذج مرجع

يستخدم هذا البرنامج النصي الأوامر التالية. يرتبط كل أمر في الجدول بالوثائق الخاصة بالأوامر.

الأمر الملاحظات
az group create إنشاء مجموعة موارد يتم تخزين كل الموارد فيها.
az batch account create ينشئ حساب الدُفعات.
az batch account login يصادق على حساب الدُفعة المحدد لمزيد من تفاعل CLI.
إنشاء تجمع الدُفعات az ينشئ مجموعة من عقد الحساب.
az batch job create يُنشئ وظيفة دُفعية.
az batch task create يضيف مهمة إلى وظيفة المجموعة المحددة.
az batch job set يحدّث خصائص مهمة مجمعة.
az batch job show يسترجع تفاصيل مهمة دفعة محددة.
az batch task show يسترجع تفاصيل مهمة من وظيفة المجموعة المحددة.
حذف مجموعة az يحذف مجموعة الموارد بما في ذلك جميع الموارد المتداخلة.

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

لمزيد من المعلومات عن Azure CLI، راجع وثائق Azure CLI.