"AzureBatch" (Batch Computation Provider)
Details
Environment Properties
"PoolID" | (required) | ID of the Azure Batch pool to which jobs are submitted |
Job Settings
"ContainerImage" | ![]() | name/URL of image to use for the job container | |
"JobPriority" | 0 | priority of the job, between -1 and +1 | |
"VCPUCount" | 1 | integer number of vCPUs » |
RemoteBatchSubmit job ("single" job) | an Azure Batch job containing a single task | |
RemoteBatchMapSubmit array job | an Azure Batch job containing multiple tasks | |
RemoteBatchMapSubmit array child job | a task within an Azure Batch job |
Job Statuses
"Active" | the job task is queued and able to run, but has not yet been scheduled to a compute node | |
"Running" | the job task is running on a compute node | |
"Succeeded" | the job task's execution has succeeded and its output has been uploaded | |
"Failed" | the job task's execution has failed |
"Active" | the array job is running child job tasks or waiting for child job tasks to be submitted | |
"Completed" | all child job tasks have completed or been terminated |
Job Properties
"JobExitCode" | exit code returned by the kernel within the job container | |
"JobLog" | standard output console logs from the job container | |
"JobStandardErrorLog" | standard error console logs from the job container | |
"JobStatusReason" | string describing the reason for which the job is in its current state | |
"ProviderJobID" | unique identifier for the job in Azure Batch | |
"ProviderTaskID" | unique identifier for the job's task in Azure Batch |
"ChildJobExitCodes" | "JobExitCode" property of each array child job | |
"ChildJobStatusReasons" | "JobStatusReason" property of each array child job | |
"JobStatusReason" | string describing the reason for which the array job is in its current state | |
"ProviderFirstTaskID" | sequential numeric identifier of the first child job | |
"ProviderJobID" | unique identifier for the array job in Azure Batch |
"JobExitCode" | exit code returned by the kernel within the child job container | |
"JobLog" | standard output console logs from the child job container | |
"JobStandardErrorLog" | standard error console logs from the child job container | |
"JobStatusReason" | string describing the reason for which the child job is in its current state | |
"ProviderJobID" | unique identifier for the parent array job in Azure Batch | |
"ProviderTaskID" | unique identifier for the child job's task in Azure Batch |
Examples
open allclose allBasic Examples (2)Summary of the most common use cases
Create an "AzureBatch" RemoteBatchSubmissionEnvironment object, after configuring the "AzureBatch" batch computation provider as described in the Set Up the Azure Batch Computation Provider workflow:

https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-erqqjz


https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-ircomj


https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-qizr2

Query the job’s status again, after it has completed:

https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-fln9ob


https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-h66qpm

Submit an array job to Azure Batch that uses GPU computation to perform inference with a pretrained neural net:

https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-mlkj7

Download the array job output:

https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-glvxje

Job Settings (1)
Job Properties (2)
"Single" Jobs (1)
Submit a batch job to Azure Batch using RemoteBatchSubmit:

https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-df9rlo

Query the job’s status and exit code:

https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-ecxdi

Obtain the console output from the job container:

https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-i43qt

"Array" and "ArrayChild" Jobs (1)
Submit an array job to Azure Batch using RemoteBatchMapSubmit:

https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-capz2h

Query the status of each child job:

https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-uu5z8

Obtain a RemoteBatchJobObject expression representing the first child job:

https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-e69pyd

Query the child job’s status and exit code:

https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-bk9auq

Obtain the console output from the child job container:

https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-eauidf

Properties & Relations (1)Properties of the function, and connections to other functions
If a job was terminated with RemoteBatchJobAbort, the value of the "JobStatusReason" property will indicate that the termination request originated from the Wolfram Language:

https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-6p2du


https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-bf4sch


https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-co85uc

Possible Issues (1)Common pitfalls and unexpected behavior
If "Save Connection" was previously checked in the Azure Batch authentication dialog, the supplied credentials will be saved persistently and used automatically in future sessions. Specify the environment property "ServiceObject""New" to disregard saved credentials and force the authentication dialog to display again:

https://wolfram.com/xid/0edsd7lxultfxvzrqvw2bso55h0h4nkf3m2zwic-d0epf7
