مكتبات Azure Batch ل python

نظرة عامة

قم بتشغيل تطبيقات الحوسبة المتوازية وعالية الأداء على نطاق واسع بكفاءة في السحابة باستخدام Azure Batch.

لبدء استخدام Azure Batch، راجع إنشاء حساب Batch باستخدام مدخل Microsoft Azure.

تثبيت المكتبات

مكتبة العميل

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

pip install azure-batch

مثال

إعداد مجموعة من عقد حساب Linux في حساب دفعة:

import azure.batch
from azure.batch import batch_auth, BatchServiceClient, models

# create the batch client for an account using its URI and keys
creds = batch_auth.SharedKeyCredentials(account, key)
client = BatchServiceClient(creds, batch_url)

# Create the VirtualMachineConfiguration, specifying
# the VM image reference and the Batch node agent to
# be installed on the node.
vmc = models.VirtualMachineConfiguration(
    image_reference = models.ImageReference(
        publisher='Canonical',
        offer='UbuntuServer',
        sku='18.04-LTS'
        ),
    node_agent_sku_id = "batch.node.ubuntu 18.04")

# Assign the virtual machine configuration to the pool
new_pool = models.PoolAddParameter(
    id = 'new_pool',
    vm_size='standard_d2_v2',
    virtual_machine_configuration = vmc
)

# Create pool in the Batch service
client.pool.add(new_pool)

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

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

pip install azure-mgmt-batch

مثال

إنشاء حساب Azure Batch وتكوين تطبيق جديد وحساب تخزين Azure له.

from azure.mgmt.batch import BatchManagementClient
from azure.mgmt.resource import ResourceManagementClient
from azure.mgmt.storage import StorageManagementClient

LOCATION ='eastus'
GROUP_NAME ='batchresourcegroup'
STORAGE_ACCOUNT_NAME ='batchstorageaccount'

# Create Resource group
print('Create Resource Group')
resource_client.resource_groups.create_or_update(GROUP_NAME, {'location': LOCATION})

# Create a storage account
storage_async_operation = storage_client.storage_accounts.create(
    GROUP_NAME,
    STORAGE_ACCOUNT_NAME,
    StorageAccountCreateParameters(
        sku=Sku(SkuName.standard_ragrs),
        kind=Kind.storage,
        location=LOCATION
    )
)
storage_account = storage_async_operation.result()

# Create a Batch Account, specifying the storage account we want to link
storage_resource = storage_account.id
batch_account_parameters = azure.mgmt.batch.models.BatchAccountCreateParameters(
    location=LOCATION,
    auto_storage=azure.mgmt.batch.models.AutoStorageBaseProperties(storage_resource)
)
creating = batch_client.batch_account.begin_create('MyBatchResourceGroup', 'MyBatchAccount', batch_account_parameters)
creating.wait()