Python-kódtárak Azure Batch

Áttekintés

Nagy léptékű párhuzamos és nagy teljesítményű számítási alkalmazásokat futtathat hatékonyan a felhőben a Azure Batch használatával.

A Azure Batch használatának első lépéseiért lásd: Batch-fiók létrehozása a Azure Portal.

A kódtárak telepítése

Ügyfélkódtár

A Azure Batch ügyfélkódtárak lehetővé teszik a számítási csomópontok és készletek konfigurálását, a feladatok definiálását és a feladatok futtatásának konfigurálását, valamint egy feladatkezelő beállítását a feladatok végrehajtásának szabályozására és figyelésére. További információ ezekről az objektumokról nagy léptékű párhuzamos számítási megoldások futtatásához.

pip install azure-batch

Példa

Linux számítási csomópontok készletének beállítása batch-fiókban:

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)

Felügyeleti API

A Azure Batch felügyeleti kódtárak használatával batch-fiókokat hozhat létre és törölhet, batch-fiókkulcsokat olvashat és hozhat létre újra, valamint kezelheti a batch-fiók tárterületét.

pip install azure-mgmt-batch

Példa

Hozzon létre egy Azure Batch fiókot, és konfiguráljon hozzá egy új alkalmazást és egy Azure Storage-fiókot.

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()