title | description | author | ms.author | ms.data | ms.topic | ms.devlang | ms.service |
---|---|---|---|---|---|---|---|
Azure Batch SDK for Python |
Reference for Azure Batch SDK for Python |
cRui861 |
rechen |
04/13/2023 |
reference |
python |
batch |
Run large-scale parallel and high-performance computing applications efficiently in the cloud with Azure Batch.
To get started with Azure Batch, see Create a Batch account with the Azure portal.
The Azure Batch client libraries let you configure compute nodes and pools, define tasks and configure them to run in jobs, and set up a job manager to control and monitor job execution. Learn more about using these objects to run large-scale parallel compute solutions.
pip install azure-batch
Set up a pool of Linux compute nodes in a batch account:
# create the batch client for an account using its URI and keys
creds = batchauth.SharedKeyCredentials(account, key)
config = batch.BatchServiceClientConfiguration(creds, base_url = batch_url)
client = batch.BatchServiceClient(config)
# Create the VirtualMachineConfiguration, specifying
# the VM image reference and the Batch node agent to
# be installed on the node.
vmc = batchmodels.VirtualMachineConfiguration(
image_reference = ir,
node_agent_sku_id = "batch.node.ubuntu 14.04")
# Assign the virtual machine configuration to the pool
new_pool.virtual_machine_configuration = vmc
# Create pool in the Batch service
client.pool.add(new_pool)
[!div class="nextstepaction"] Explore the Client APIs
Use the Azure Batch management libraries to create and delete batch accounts, read and regenerate batch account keys, and manage batch account storage.
pip install azure-mgmt-batch
Create an Azure Batch account and configure a new application and Azure storage account for it.
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 = azure.mgmt.batch.models.BatchAccountCreateParameters(
location=LOCATION,
auto_storage=azure.mgmt.batch.models.AutoStorageBaseProperties(storage_resource)
)
creating = batch_client.account.create('MyBatchAccount', LOCATION, batch_account)
creating.wait()
[!div class="nextstepaction"] Explore the Management APIs