Azure Batch pustaka untuk python

Gambaran Umum

Jalankan aplikasi komputasi paralel dan performa tinggi skala besar secara efisien di cloud dengan Azure Batch.

Untuk mulai menggunakan Azure Batch, lihat Membuat akun Batch dengan portal Azure.

Instal pustaka

Pustaka klien

Pustaka klien Azure Batch memungkinkan Anda mengonfigurasi simpul dan kumpulan komputasi, menentukan tugas dan mengonfigurasinya untuk dijalankan dalam pekerjaan, dan menyiapkan manajer pekerjaan untuk mengontrol dan memantau eksekusi pekerjaan. Pelajari selengkapnya tentang menggunakan objek ini untuk menjalankan solusi komputasi paralel skala besar.

pip install azure-batch

Contoh

Siapkan kumpulan simpul komputasi Linux di akun batch:

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)

API Manajemen

Gunakan pustaka manajemen Azure Batch untuk membuat dan menghapus akun batch, membaca dan meregenerasi kunci akun batch, dan mengelola penyimpanan akun batch.

pip install azure-mgmt-batch

Contoh

Buat akun Azure Batch dan konfigurasikan aplikasi baru dan akun penyimpanan Azure untuk akun tersebut.

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