Azure Batch bibliotheken voor Python

Overzicht

Voer grootschalige parallelle en high-performance computingtoepassingen efficiƫnt uit in de cloud met Azure Batch.

Zie Een Batch-account maken met de Azure Portal om aan de slag te gaan met Azure Batch.

De bibliotheken installeren

Clientbibliotheek

Met de Azure Batch-clientbibliotheken kunt u rekenknooppunten en -pools configureren, taken definiƫren en deze configureren voor uitvoering in taken en een taakbeheerder instellen om de uitvoering van taken te controleren en te bewaken. Meer informatie over het gebruik van deze objecten om grootschalige parallelle rekenoplossingen uit te voeren.

pip install azure-batch

Voorbeeld

Een pool met Linux-rekenknooppunten instellen in een batch-account:

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)

Beheer-API

Gebruik de Azure Batch-beheerbibliotheken om batchaccounts te maken en te verwijderen, batchaccountsleutels te lezen en opnieuw te genereren en de opslag van batchaccounts te beheren.

pip install azure-mgmt-batch

Voorbeeld

Maak een Azure Batch-account en configureer hiervoor een nieuwe toepassing en een Azure-opslagaccount.

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