Condividi tramite


Tasks - Create Task

Crea un compito per il lavoro specificato.
La durata massima di un compito dall'aggiunta al completamento è di 180 giorni. Se un compito non viene completato entro 180 giorni dall'aggiunta, verrà terminato dal servizio batch e lasciato nello stato in cui si trovava in quel momento.

POST {endpoint}/jobs/{jobId}/tasks?api-version=2025-06-01
POST {endpoint}/jobs/{jobId}/tasks?api-version=2025-06-01&timeOut={timeOut}

Parametri dell'URI

Nome In Necessario Tipo Descrizione
endpoint
path True

string (uri)

Endpoint dell'account Batch (ad esempio: https://batchaccount.eastus2.batch.azure.com).

jobId
path True

string

L'ID del Lavoro a cui il Compito deve essere creato.

api-version
query True

string

minLength: 1

Versione dell'API da usare per questa operazione.

timeOut
query

integer (int32)

Tempo massimo di elaborazione della richiesta da parte del server, espresso in secondi. Il valore predefinito è 30 secondi. Se il valore è superiore a 30, verrà utilizzato il valore predefinito.".

Intestazione della richiesta

Media Types: "application/json; odata=minimalmetadata"

Nome Necessario Tipo Descrizione
client-request-id

string

Identità della richiesta generata dal chiamante, sotto forma di GUID senza decorazioni come parentesi graffe, ad esempio 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.

return-client-request-id

boolean

Indica se il server deve restituire l'ID richiesta client nella risposta.

ocp-date

string (date-time-rfc7231)

Ora di emissione della richiesta. Le librerie client in genere impostano questo valore sull'ora corrente dell'orologio di sistema; impostarla in modo esplicito se si chiama direttamente l'API REST.

Corpo della richiesta

Media Types: "application/json; odata=minimalmetadata"

Nome Necessario Tipo Descrizione
commandLine True

string

La riga di comando del Compito. Per i compiti multi-istanza, la riga di comando viene eseguita come compito primario, dopo che il compito primario e tutti i sottocompiti hanno terminato l'esecuzione della linea di comando di coordinamento. La riga di comando non viene eseguita in una shell e pertanto non può sfruttare le funzionalità della shell, ad esempio l'espansione delle variabili di ambiente. Se si desidera sfruttare tali funzionalità, è necessario richiamare la shell nella riga di comando, ad esempio usando "cmd /c MyCommand" in Windows o "/bin/sh -c MyCommand" in Linux. Se la riga di comando fa riferimento ai percorsi di file, deve usare un percorso relativo (relativo alla directory di lavoro attività) o usare la variabile di ambiente fornita da Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

id True

string

Una stringa che identifica in modo unico il Compito all'interno del Lavoro. L'ID può contenere qualsiasi combinazione di caratteri alfanumerici, inclusi trattini e caratteri di sottolineatura, e non può contenere più di 64 caratteri. L'ID preserva le case e non è insensibile alla maiuscola (cioè, potresti non avere due ID all'interno di un Job che differiscono solo per caso).

affinityInfo

BatchAffinityInfo

Un suggerimento di località che può essere usato dal servizio Batch per selezionare un Nodo di Calcolo su cui iniziare il nuovo Task.

applicationPackageReferences

BatchApplicationPackageReference[]

Un elenco dei pacchetti che il servizio Batch distribuirà al Nodo di Calcolo prima di eseguire la riga di comando. I pacchetti applicativi vengono scaricati e distribuiti in una directory condivisa, non nella directory di lavoro Task. Pertanto, se un pacchetto di riferimento è già presente nel Nodo ed è aggiornato, non viene riscaricato; viene utilizzata la copia esistente sul Nodo di Calcolo. Se un Pacchetto di riferimento non può essere installato, ad esempio perché il pacchetto è stato eliminato o perché il download è fallito, il Task fallisce.

authenticationTokenSettings

AuthenticationTokenSettings

Impostazioni per un token di autenticazione che l'attività può usare per eseguire operazioni del servizio Batch. Se questa proprietà è impostata, il servizio Batch fornisce al Task un token di autenticazione che può essere utilizzato per autenticare le operazioni del servizio Batch senza richiedere una chiave di accesso all'account. Il token viene fornito tramite la variabile di ambiente AZ_BATCH_AUTHENTICATION_TOKEN. Le operazioni che il Task può eseguire utilizzando il token dipendono dalle impostazioni. Ad esempio, un Task può richiedere permessi di Job per aggiungere altri Task al Job, o verificare lo stato del Job o di altri Task sotto il Job.

constraints

BatchTaskConstraints

I vincoli di esecuzione che si applicano a questo Compito. Se non specifichi vincoli, il maxTaskRetryCount è il maxTaskRetryCount specificato per il Job, il maxWallClockTime, è infinito e il retentionTime, è di 7 giorni.

containerSettings

BatchTaskContainerSettings

Le impostazioni del contenitore sotto cui viene eseguita il Task. Se il Pool che eseguirà questo Task ha containerConfiguration impostato, anche questo deve essere impostato. Se il Pool che eseguirà questo Task non ha containerConfiguration impostato, questo non deve essere impostato. Quando questo viene specificato, tutte le directory ricorsivamente sotto la AZ_BATCH_NODE_ROOT_DIR (la radice delle directory Azure Batch sul nodo) vengono mappate nel container, tutte le variabili dell'ambiente Task vengono mappate nel container e la riga di comando Task viene eseguita nel container. I file prodotti nel contenitore al di fuori di AZ_BATCH_NODE_ROOT_DIR potrebbero non essere riflessi sul disco host, il che significa che le API dei file Batch non potranno accedere a quei file.

dependsOn

BatchTaskDependencies

I compiti da cui dipende questo compito. Questo compito non sarà programmato finché tutti i compiti da cui dipende non saranno completati con successo. Se uno di questi Compiti fallisce ed esaurisce il numero di ritentativi, questo Compito non verrà mai programmato. Se il Job non ha usesTaskDependencies impostato su true e questo elemento è presente, la richiesta fallisce con il codice di errore TaskDependenciesNotSpecifiedOnJob.

displayName

string

Un nome visualizzato per il Compito. Il nome visualizzato non deve essere univoco e può contenere caratteri Unicode fino a una lunghezza massima di 1024.

environmentSettings

EnvironmentSetting[]

Un elenco delle impostazioni delle variabili ambientali per il Task.

exitConditions

ExitConditions

Come dovrebbe rispondere il servizio batch al completamento del compito.

multiInstanceSettings

MultiInstanceSettings

Un oggetto che indica che il Task è un Task multi-istanze e contiene informazioni su come eseguire il Task multi-istanza.

outputFiles

OutputFile[]

Un elenco dei file che il servizio Batch caricherà dal Nodo di Calcolo dopo aver eseguito la riga di comando. Per i Task multi-istanza, i file verranno caricati solo dal Nodo di Calcolo su cui viene eseguito il Task principale.

requiredSlots

integer (int32)

Il numero di slot di programmazione che il Compito richiedeva per essere eseguito. Il valore predefinito è 1. Un Task può essere programmato per essere eseguito su un nodo di calcolo solo se il nodo dispone di abbastanza slot di programmazione liberi. Per i Task multi-istanze, questo deve essere 1.

resourceFiles

ResourceFile[]

Elenco di file scaricati dal servizio Batch nel nodo di calcolo prima di eseguire la riga di comando. Per i compiti multi-istanza, i file di risorse verranno scaricati solo nel nodo di calcolo su cui viene eseguito il compito principale. È prevista una dimensione massima per l'elenco dei file di risorse. Quando viene superata la dimensione massima, la richiesta avrà esito negativo e il codice di errore della risposta sarà RequestEntityTooLarge. In questo caso, la raccolta di ResourceFiles deve essere ridotta di dimensioni. A tale scopo, è possibile usare .zip file, pacchetti di applicazioni o contenitori Docker.

userIdentity

UserIdentity

L'identità utente sotto cui viene eseguito il Task. Se omesso, il Task viene eseguito come un utente non amministrativo unico per il Task.

Risposte

Nome Tipo Descrizione
201 Created

La richiesta ha avuto esito positivo e di conseguenza è stata creata una nuova risorsa.

Intestazioni

  • DataServiceId: string
  • ETag: string
  • Last-Modified: string
  • client-request-id: string
  • request-id: string
Other Status Codes

BatchError

Risposta di errore imprevista.

Sicurezza

OAuth2Auth

Tipo: oauth2
Flow: implicit
URL di autorizzazione: https://login.microsoftonline.com/common/oauth2/v2.0/authorize

Ambiti

Nome Descrizione
https://batch.core.windows.net//.default

Esempio

Creates a basic task
Creates a task with container settings
Creates a task with container settings with data isolation
Creates a task with container settings with duplicate source
Creates a task with exit conditions
Creates a task with extra slot requirement

Creates a basic task

Esempio di richiesta

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "task1",
  "commandLine": "cmd /c echo task1"
}

Risposta di esempio

Creates a task with container settings

Esempio di richiesta

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerRunOptions": "--rm"
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Risposta di esempio

Creates a task with container settings with data isolation

Esempio di richiesta

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerHostBatchBindMounts": [
      {
        "source": "Task",
        "isReadOnly": true
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Risposta di esempio

Creates a task with container settings with duplicate source

Esempio di richiesta

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerHostBatchBindMounts": [
      {
        "source": "Task",
        "isReadOnly": true
      },
      {
        "source": "Task",
        "isReadOnly": true
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Risposta di esempio

Creates a task with exit conditions

Esempio di richiesta

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "taskId",
  "commandLine": "cmd /c exit 3",
  "exitConditions": {
    "exitCodeRanges": [
      {
        "start": 2,
        "end": 4,
        "exitOptions": {
          "jobAction": "terminate"
        }
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Risposta di esempio

Creates a task with extra slot requirement

Esempio di richiesta

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "task1",
  "requiredSlots": 2,
  "commandLine": "cmd /c echo task1"
}

Risposta di esempio

Definizioni

Nome Descrizione
AuthenticationTokenSettings

Impostazioni per un token di autenticazione che l'attività può usare per eseguire operazioni del servizio Batch.

AutoUserScope

Enum AutoUserScope

AutoUserSpecification

Specifica le opzioni per l'utente automatico che esegue un'attività di Azure Batch.

BatchAccessScope

Enum BatchAccessScope

BatchAffinityInfo

Hint di località che può essere usato dal servizio Batch per selezionare un nodo di calcolo in cui avviare un'attività.

BatchApplicationPackageReference

Riferimento a un pacchetto da distribuire nei nodi di calcolo.

BatchError

Risposta di errore ricevuta dal servizio Azure Batch.

BatchErrorDetail

Elemento di informazioni aggiuntive incluse in una risposta di errore di Azure Batch.

BatchErrorMessage

Messaggio di errore ricevuto in una risposta di errore di Azure Batch.

BatchJobActionKind

Enum di BatchJobAction

BatchNodeIdentityReference

Riferimento a un'identità assegnata dall'utente associata al pool di Batch che verrà usato da un nodo di calcolo.

BatchTaskConstraints

Vincoli di esecuzione da applicare a un'attività.

BatchTaskContainerSettings

Impostazioni del contenitore per un'attività.

BatchTaskCreateOptions

Parametri per la creazione di un'attività di Azure Batch.

BatchTaskDependencies

Specifica le dipendenze di un'attività. Qualsiasi attività specificata in modo esplicito o all'interno di un intervallo di dipendenze deve essere completata prima che l'attività dipendente venga pianificata.

BatchTaskIdRange

L'inizio e la fine dell'intervallo sono inclusivi. Ad esempio, se un intervallo ha inizio 9 e fine 12, rappresenta attività '9', '10', '11' e '12'.

ContainerHostBatchBindMountEntry

Voce di percorso e modalità di montaggio da montare nel contenitore di attività.

ContainerHostDataPath

Percorsi che verranno montati nel contenitore dell'attività contenitore.

ContainerRegistryReference

Registro contenitori privato.

ContainerWorkingDirectory

ContainerWorkingDirectory enums

DependencyAction

Enum di DependencyAction

ElevationLevel

Enum di ElevationLevel

EnvironmentSetting

Variabile di ambiente da impostare in un processo task.

ExitCodeMapping

Modalità di risposta del servizio Batch se un'attività viene chiusa con un codice di uscita specifico.

ExitCodeRangeMapping

Un intervallo di codici di uscita e il modo in cui il servizio Batch deve rispondere ai codici di uscita all'interno di tale intervallo.

ExitConditions

Specifica la modalità di risposta del servizio Batch al termine dell'attività.

ExitOptions

Specifica il modo in cui il servizio Batch risponde a una determinata condizione di uscita.

MultiInstanceSettings

Le attività a istanze multiple vengono comunemente usate per supportare le attività MPI. Nel caso MPI, se una delle sottoattività ha esito negativo ,ad esempio a causa dell'uscita con un codice di uscita diverso da zero, l'intera attività a istanze multipli ha esito negativo. L'attività a istanze multipla viene quindi terminata e ritentata fino al limite di tentativi.

OutputFile

In ogni caricamento di file, il servizio Batch scrive due file di log nel nodo di calcolo, 'fileuploadout.txt' e 'fileuploaderr.txt'. Questi file di log vengono usati per altre informazioni su un errore specifico.

OutputFileBlobContainerDestination

Specifica una destinazione di caricamento di file all'interno di un contenitore di archiviazione BLOB di Azure.

OutputFileDestination

Destinazione in cui caricare un file.

OutputFileUploadCondition

OutputFileUploadCondition enums

OutputFileUploadConfig

Opzioni per un'operazione di caricamento del file di output, incluse le condizioni per eseguire il caricamento.

OutputFileUploadHeader

Coppia nome-valore intestazione HTTP

ResourceFile

Un singolo file o più file da scaricare in un nodo di calcolo.

UserIdentity

Definizione dell'identità utente in cui viene eseguita l'attività. Specificare la proprietà userName o autoUser, ma non entrambe.

AuthenticationTokenSettings

Impostazioni per un token di autenticazione che l'attività può usare per eseguire operazioni del servizio Batch.

Nome Tipo Descrizione
access

BatchAccessScope[]

Le risorse batch a cui il token concede accesso. Il token di autenticazione concede l'accesso a un insieme limitato di operazioni di servizio Batch. Attualmente l'unico valore supportato per la proprietà di accesso è 'job', che concede l'accesso a tutte le operazioni relative al Job che contiene il Task.

AutoUserScope

Enum AutoUserScope

Valore Descrizione
task

Specifica che il servizio dovrebbe creare un nuovo utente per il Task.

pool

Specifica che il Task viene eseguito come il comune account utente automatico creato su ogni Nodo di Calcolo in un Pool.

AutoUserSpecification

Specifica le opzioni per l'utente automatico che esegue un'attività di Azure Batch.

Nome Tipo Descrizione
elevationLevel

ElevationLevel

Livello di elevazione dell'utente automatico. Il valore predefinito è nonAdmin.

scope

AutoUserScope

Ambito dell'utente automatico. Il valore predefinito è pool. Se il pool esegue Windows, è necessario specificare il valore Task se è necessario un isolamento più rigoroso tra le attività. Ad esempio, se l'attività modifica il Registro di sistema in un modo che potrebbe influire su altre attività.

BatchAccessScope

Enum BatchAccessScope

Valore Descrizione
job

Concede l'accesso per eseguire tutte le operazioni sul Lavoro che contiene il Compito.

BatchAffinityInfo

Hint di località che può essere usato dal servizio Batch per selezionare un nodo di calcolo in cui avviare un'attività.

Nome Tipo Descrizione
affinityId

string

Una stringa opaca che rappresenta la posizione di un Nodo di Calcolo o di un Compito già eseguito. Puoi passare l'affinityId di un Nodo per indicare che questo Task deve essere eseguito su quel Nodo di Calcolo. Si noti che si tratta solo di un'affinità soft. Se il nodo di calcolo di destinazione è occupato o non è disponibile al momento della pianificazione dell'attività, l'attività verrà pianificata altrove.

BatchApplicationPackageReference

Riferimento a un pacchetto da distribuire nei nodi di calcolo.

Nome Tipo Descrizione
applicationId

string

L'ID dell'applicazione da distribuire. Quando si crea un pool, l'ID applicazione del pacchetto deve essere completo (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}).

version

string

Versione dell'applicazione da distribuire. Se omesso, viene distribuita la versione predefinita. Se questo viene omesso in un Pool e non viene specificata una versione predefinita per questa applicazione, la richiesta fallisce con il codice di errore InvalidApplicationPackageReferences e il codice di stato HTTP 409. Se questo viene omesso in un Task e non è specificata una versione predefinita per questa applicazione, il Task fallisce con un errore di pre-elaborazione.

BatchError

Risposta di errore ricevuta dal servizio Azure Batch.

Nome Tipo Descrizione
code

string

Identificatore dell'errore. I codici sono invarianti e devono essere utilizzati a livello di codice.

message

BatchErrorMessage

Messaggio che descrive l'errore, destinato a essere adatto per la visualizzazione in un'interfaccia utente.

values

BatchErrorDetail[]

Raccolta di coppie chiave-valore contenenti dettagli aggiuntivi sull'errore.

BatchErrorDetail

Elemento di informazioni aggiuntive incluse in una risposta di errore di Azure Batch.

Nome Tipo Descrizione
key

string

Identificatore che specifica il significato della proprietà Value.

value

string

Informazioni aggiuntive incluse nella risposta di errore.

BatchErrorMessage

Messaggio di errore ricevuto in una risposta di errore di Azure Batch.

Nome Tipo Descrizione
lang

string

Il codice linguistico del messaggio di errore.

value

string

Testo del messaggio.

BatchJobActionKind

Enum di BatchJobAction

Valore Descrizione
none

Non intraprendere alcuna azione.

disable

Disabilita il lavoro. Questo equivale a chiamare l'API Job disabilitate, con un valore disableTasks di requeue.

terminate

Rinunciare al lavoro. La terminationReason nell'executionInfo del Job è impostata su "TaskFailed".

BatchNodeIdentityReference

Riferimento a un'identità assegnata dall'utente associata al pool di Batch che verrà usato da un nodo di calcolo.

Nome Tipo Descrizione
resourceId

string (arm-id)

ID risorsa ARM dell'identità assegnata dall'utente.

BatchTaskConstraints

Vincoli di esecuzione da applicare a un'attività.

Nome Tipo Descrizione
maxTaskRetryCount

integer (int32)

Numero massimo di tentativi dell'attività. Il servizio Batch ritenta un'attività se il codice di uscita è diverso da zero. Si noti che questo valore controlla specificamente il numero di tentativi per l'eseguibile Task a causa di un codice di uscita diverso da zero. Il servizio Batch proverà l'attività una sola volta e potrebbe quindi riprovare fino a questo limite. Ad esempio, se il numero massimo di tentativi è 3, Batch prova l'attività fino a 4 volte (un tentativo iniziale e 3 tentativi). Se il conteggio massimo dei ritentativi è 0, il servizio Batch non ritenta il Task dopo il primo tentativo. Se il numero massimo di tentativi è -1, il servizio Batch ritenta l'attività senza limite, ma non è consigliabile per un'attività di avvio o per qualsiasi attività. Il valore predefinito è 0 (nessun tentativo).

maxWallClockTime

string (duration)

Il tempo massimo trascorso che il compito può eseguire, misurato dal momento in cui il compito inizia. Se il Task non viene completato entro il limite di tempo, il servizio Batch lo termina. Se questo non viene specificato, non c'è limite di tempo su quanto tempo il Task può durare in corso.

retentionTime

string (duration)

Il tempo minimo per mantenere la directory Task sul Nodo di Calcolo in cui è stato eseguito, dal momento in cui completa l'esecuzione. Dopo questo periodo, il servizio Batch può eliminare la cartella Task e tutto il suo contenuto. Il valore predefinito è 7 giorni, cioè la directory Task verrà mantenuta per 7 giorni a meno che il Nodo di Calcolo non venga rimosso o il Lavoro venga eliminato.

BatchTaskContainerSettings

Impostazioni del contenitore per un'attività.

Nome Tipo Descrizione
containerHostBatchBindMounts

ContainerHostBatchBindMountEntry[]

Percorsi da montare nell'attività contenitore. Se questa matrice è null o non è presente, l'attività contenitore monta l'intera unità disco temporanea in Windows (o AZ_BATCH_NODE_ROOT_DIR in Linux). Se questa matrice è impostata come vuota, non verrà montato alcun percorso dati nel contenitore.

containerRunOptions

string

Opzioni aggiuntive per il comando create del contenitore. Queste opzioni aggiuntive vengono fornite come argomenti al comando "docker create", oltre a quelli controllati dal servizio Batch.

imageName

string

L'immagine da usare per creare il contenitore in cui verrà eseguito il Task. Questa è la referenza completa all'Image, come specificato per "docker pull". Se non viene fornito alcun tag come parte del nome dell'Immagine, il tag ":latest" viene usato come predefinito.

registry

ContainerRegistryReference

Il registro privato che contiene l'immagine del contenitore. Questa impostazione può essere omessa se era già stata fornita alla creazione del Pool.

workingDirectory

ContainerWorkingDirectory

La posizione della directory di lavoro Task del container. Il valore predefinito è 'taskWorkingDirectory'.

BatchTaskCreateOptions

Parametri per la creazione di un'attività di Azure Batch.

Nome Tipo Descrizione
affinityInfo

BatchAffinityInfo

Un suggerimento di località che può essere usato dal servizio Batch per selezionare un Nodo di Calcolo su cui iniziare il nuovo Task.

applicationPackageReferences

BatchApplicationPackageReference[]

Un elenco dei pacchetti che il servizio Batch distribuirà al Nodo di Calcolo prima di eseguire la riga di comando. I pacchetti applicativi vengono scaricati e distribuiti in una directory condivisa, non nella directory di lavoro Task. Pertanto, se un pacchetto di riferimento è già presente nel Nodo ed è aggiornato, non viene riscaricato; viene utilizzata la copia esistente sul Nodo di Calcolo. Se un Pacchetto di riferimento non può essere installato, ad esempio perché il pacchetto è stato eliminato o perché il download è fallito, il Task fallisce.

authenticationTokenSettings

AuthenticationTokenSettings

Impostazioni per un token di autenticazione che l'attività può usare per eseguire operazioni del servizio Batch. Se questa proprietà è impostata, il servizio Batch fornisce al Task un token di autenticazione che può essere utilizzato per autenticare le operazioni del servizio Batch senza richiedere una chiave di accesso all'account. Il token viene fornito tramite la variabile di ambiente AZ_BATCH_AUTHENTICATION_TOKEN. Le operazioni che il Task può eseguire utilizzando il token dipendono dalle impostazioni. Ad esempio, un Task può richiedere permessi di Job per aggiungere altri Task al Job, o verificare lo stato del Job o di altri Task sotto il Job.

commandLine

string

La riga di comando del Compito. Per i compiti multi-istanza, la riga di comando viene eseguita come compito primario, dopo che il compito primario e tutti i sottocompiti hanno terminato l'esecuzione della linea di comando di coordinamento. La riga di comando non viene eseguita in una shell e pertanto non può sfruttare le funzionalità della shell, ad esempio l'espansione delle variabili di ambiente. Se si desidera sfruttare tali funzionalità, è necessario richiamare la shell nella riga di comando, ad esempio usando "cmd /c MyCommand" in Windows o "/bin/sh -c MyCommand" in Linux. Se la riga di comando fa riferimento ai percorsi di file, deve usare un percorso relativo (relativo alla directory di lavoro attività) o usare la variabile di ambiente fornita da Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

constraints

BatchTaskConstraints

I vincoli di esecuzione che si applicano a questo Compito. Se non specifichi vincoli, il maxTaskRetryCount è il maxTaskRetryCount specificato per il Job, il maxWallClockTime, è infinito e il retentionTime, è di 7 giorni.

containerSettings

BatchTaskContainerSettings

Le impostazioni del contenitore sotto cui viene eseguita il Task. Se il Pool che eseguirà questo Task ha containerConfiguration impostato, anche questo deve essere impostato. Se il Pool che eseguirà questo Task non ha containerConfiguration impostato, questo non deve essere impostato. Quando questo viene specificato, tutte le directory ricorsivamente sotto la AZ_BATCH_NODE_ROOT_DIR (la radice delle directory Azure Batch sul nodo) vengono mappate nel container, tutte le variabili dell'ambiente Task vengono mappate nel container e la riga di comando Task viene eseguita nel container. I file prodotti nel contenitore al di fuori di AZ_BATCH_NODE_ROOT_DIR potrebbero non essere riflessi sul disco host, il che significa che le API dei file Batch non potranno accedere a quei file.

dependsOn

BatchTaskDependencies

I compiti da cui dipende questo compito. Questo compito non sarà programmato finché tutti i compiti da cui dipende non saranno completati con successo. Se uno di questi Compiti fallisce ed esaurisce il numero di ritentativi, questo Compito non verrà mai programmato. Se il Job non ha usesTaskDependencies impostato su true e questo elemento è presente, la richiesta fallisce con il codice di errore TaskDependenciesNotSpecifiedOnJob.

displayName

string

Un nome visualizzato per il Compito. Il nome visualizzato non deve essere univoco e può contenere caratteri Unicode fino a una lunghezza massima di 1024.

environmentSettings

EnvironmentSetting[]

Un elenco delle impostazioni delle variabili ambientali per il Task.

exitConditions

ExitConditions

Come dovrebbe rispondere il servizio batch al completamento del compito.

id

string

Una stringa che identifica in modo unico il Compito all'interno del Lavoro. L'ID può contenere qualsiasi combinazione di caratteri alfanumerici, inclusi trattini e caratteri di sottolineatura, e non può contenere più di 64 caratteri. L'ID preserva le case e non è insensibile alla maiuscola (cioè, potresti non avere due ID all'interno di un Job che differiscono solo per caso).

multiInstanceSettings

MultiInstanceSettings

Un oggetto che indica che il Task è un Task multi-istanze e contiene informazioni su come eseguire il Task multi-istanza.

outputFiles

OutputFile[]

Un elenco dei file che il servizio Batch caricherà dal Nodo di Calcolo dopo aver eseguito la riga di comando. Per i Task multi-istanza, i file verranno caricati solo dal Nodo di Calcolo su cui viene eseguito il Task principale.

requiredSlots

integer (int32)

Il numero di slot di programmazione che il Compito richiedeva per essere eseguito. Il valore predefinito è 1. Un Task può essere programmato per essere eseguito su un nodo di calcolo solo se il nodo dispone di abbastanza slot di programmazione liberi. Per i Task multi-istanze, questo deve essere 1.

resourceFiles

ResourceFile[]

Elenco di file scaricati dal servizio Batch nel nodo di calcolo prima di eseguire la riga di comando. Per i compiti multi-istanza, i file di risorse verranno scaricati solo nel nodo di calcolo su cui viene eseguito il compito principale. È prevista una dimensione massima per l'elenco dei file di risorse. Quando viene superata la dimensione massima, la richiesta avrà esito negativo e il codice di errore della risposta sarà RequestEntityTooLarge. In questo caso, la raccolta di ResourceFiles deve essere ridotta di dimensioni. A tale scopo, è possibile usare .zip file, pacchetti di applicazioni o contenitori Docker.

userIdentity

UserIdentity

L'identità utente sotto cui viene eseguito il Task. Se omesso, il Task viene eseguito come un utente non amministrativo unico per il Task.

BatchTaskDependencies

Specifica le dipendenze di un'attività. Qualsiasi attività specificata in modo esplicito o all'interno di un intervallo di dipendenze deve essere completata prima che l'attività dipendente venga pianificata.

Nome Tipo Descrizione
taskIdRanges

BatchTaskIdRange[]

L'elenco degli intervalli degli ID del Compito da cui dipende questo Compito. Tutti i Compiti in tutti gli intervalli devono essere completati con successo prima che il Compito dipendente possa essere programmato.

taskIds

string[]

L'elenco degli ID del compito da cui dipende questo compito. Tutti i Compiti in questa lista devono essere completati con successo prima che il Compito dipendente possa essere programmato. La raccolta taskIds è limitata a un totale di 64.000 caratteri (cioè la lunghezza combinata di tutti gli ID Task). Se la raccolta taskIds supera la lunghezza massima, la richiesta Add Task fallisce con il codice di errore TaskDependencyListTooLong. In questo caso considera invece l'uso degli intervalli di ID Task.

BatchTaskIdRange

L'inizio e la fine dell'intervallo sono inclusivi. Ad esempio, se un intervallo ha inizio 9 e fine 12, rappresenta attività '9', '10', '11' e '12'.

Nome Tipo Descrizione
end

integer (int32)

L'ultimo ID Task nella gamma.

start

integer (int32)

Il primo ID Compito nella gamma.

ContainerHostBatchBindMountEntry

Voce di percorso e modalità di montaggio da montare nel contenitore di attività.

Nome Tipo Descrizione
isReadOnly

boolean

Montare o meno questo percorso di origine come modalità di sola lettura. Il valore predefinito è false (modalità lettura/scrittura). Per Linux, se si monta questo percorso come modalità di lettura/scrittura, ciò non significa che tutti gli utenti nel contenitore dispongano dell'accesso in lettura/scrittura per il percorso, dipende dall'accesso nella macchina virtuale host. Se questo percorso viene montato in sola lettura, tutti gli utenti all'interno del contenitore non potranno modificare il percorso.

source

ContainerHostDataPath

Il percorso che può essere montato nel cliente del contenitore può selezionare.

ContainerHostDataPath

Percorsi che verranno montati nel contenitore dell'attività contenitore.

Valore Descrizione
Shared

Percorso dell'attività a più istanze in cui condividere i propri file.

Startup

Percorso dell'attività di avvio.

VfsMounts

Il percorso contiene tutti i file system virtuali montati in questo nodo.

Task

Percorso dell'attività.

JobPrep

Percorso dell'attività di preparazione del processo.

Applications

Percorso delle applicazioni.

ContainerRegistryReference

Registro contenitori privato.

Nome Tipo Descrizione
identityReference

BatchNodeIdentityReference

Riferimento all'identità assegnata dall'utente da usare per accedere a un Registro Azure Container invece di nome utente e password.

password

string (password)

Password per accedere al server del Registro di sistema.

registryServer

string (uri)

URL del Registro di sistema. Se omesso, il valore predefinito è "docker.io".

username

string

Nome utente per accedere al server del Registro di sistema.

ContainerWorkingDirectory

ContainerWorkingDirectory enums

Valore Descrizione
taskWorkingDirectory

Usa la directory standard di lavoro Task di servizio Batch, che conterrà i File Risorsa Task popolati per Batch.

containerImageDefault

Usa la directory di lavoro definita nell'immagine del container. Attenzione che questa directory non conterrà i File Risorse scaricati da Batch.

DependencyAction

Enum di DependencyAction

Valore Descrizione
satisfy

Soddisfa i compiti in attesa di questo compito; una volta soddisfatte tutte le dipendenze, il compito sarà programmato per l'esecuzione.

block

Blocca i compiti in attesa di questo compito, impedendo che vengano programmati.

ElevationLevel

Enum di ElevationLevel

Valore Descrizione
nonadmin

L'utente è un utente standard senza accesso con privilegi elevati.

admin

L'utente è un utente con accesso con privilegi elevati e opera con autorizzazioni di amministratore complete.

EnvironmentSetting

Variabile di ambiente da impostare in un processo task.

Nome Tipo Descrizione
name

string

Nome della variabile di ambiente.

value

string

Valore della variabile di ambiente.

ExitCodeMapping

Modalità di risposta del servizio Batch se un'attività viene chiusa con un codice di uscita specifico.

Nome Tipo Descrizione
code

integer (int32)

Un codice di uscita di processo.

exitOptions

ExitOptions

Come dovrebbe rispondere il servizio batch se il Task esce con questo codice di uscita.

ExitCodeRangeMapping

Un intervallo di codici di uscita e il modo in cui il servizio Batch deve rispondere ai codici di uscita all'interno di tale intervallo.

Nome Tipo Descrizione
end

integer (int32)

L'ultimo codice di uscita nel range.

exitOptions

ExitOptions

Come dovrebbe rispondere il servizio batch se il Task esce con un codice di uscita nell'intervallo dall'inizio alla fine (incluso).

start

integer (int32)

Il primo codice di uscita nel range.

ExitConditions

Specifica la modalità di risposta del servizio Batch al termine dell'attività.

Nome Tipo Descrizione
default

ExitOptions

Come dovrebbe rispondere il servizio Batch se il Task fallisce con una condizione di uscita non coperta da nessuna delle altre proprietà. Questo valore viene utilizzato se il Task esce con un codice di uscita diverso da zero non elencato nella collezione exitCodes o exitCodeRanges, con un errore di pre-processing se la proprietà preProcessingError non è presente, o con un errore di caricamento file se la proprietà fileUploadError non è presente. Se vuoi un comportamento non predefinito sul codice di uscita 0, devi elencarlo esplicitamente usando la collezione exitCodes o exitCodeRanges.

exitCodeRanges

ExitCodeRangeMapping[]

Un elenco degli intervalli di codici di uscita del compito e come il servizio Batch dovrebbe rispondere ad essi.

exitCodes

ExitCodeMapping[]

Un elenco dei singoli codici di uscita del Task e come il servizio Batch dovrebbe rispondere a essi.

fileUploadError

ExitOptions

Come dovrebbe rispondere il servizio Batch se si verifica un errore di upload del file. Se il Task è uscito con un codice di uscita specificato tramite exitCodes o exitCodeRanges, e poi ha incontrato un errore di caricamento del file, allora l'azione specificata dal codice di uscita ha la precedenza.

preProcessingError

ExitOptions

Come dovrebbe rispondere il servizio Batch se il Task non si avvia a causa di un errore.

ExitOptions

Specifica il modo in cui il servizio Batch risponde a una determinata condizione di uscita.

Nome Tipo Descrizione
dependencyAction

DependencyAction

Un'azione che il servizio Batch esegue su Task che dipendono da questo Task. I valori possibili sono 'soddisfare' (permettere ai compiti dipendenti di progredire) e 'blocca' (i compiti dipendenti continuano ad aspettare). Il batch non supporta ancora la cancellazione dei compiti dipendenti.

jobAction

BatchJobActionKind

Un'azione da compiere sul Lavoro che contiene il Compito, se il Compito si completa con la condizione di uscita data e la proprietà onTaskFailed del Lavoro è 'performExitOptionsJobAction'. Il predefinito è nessuno per il codice di uscita 0 e termina per tutte le altre condizioni di uscita. Se la proprietà onTaskFailed del Job è noaction, allora specificare questa proprietà restituisce un errore e la richiesta di aggiunta Task fallisce con un errore di valore di proprietà invalido; se stai chiamando direttamente l'API REST, il codice di stato HTTP è 400 (Richiesta Mala).

MultiInstanceSettings

Le attività a istanze multiple vengono comunemente usate per supportare le attività MPI. Nel caso MPI, se una delle sottoattività ha esito negativo ,ad esempio a causa dell'uscita con un codice di uscita diverso da zero, l'intera attività a istanze multipli ha esito negativo. L'attività a istanze multipla viene quindi terminata e ritentata fino al limite di tentativi.

Nome Tipo Descrizione
commonResourceFiles

ResourceFile[]

Un elenco dei file che il servizio Batch scaricherà prima di eseguire la riga di comando di coordinamento. La differenza tra i file di risorse comuni e i file di risorse Task è che i file di risorse comuni vengono scaricati per tutti i sottotask, incluso il primario, mentre i file di risorse Task vengono scaricati solo per il primario. Si noti inoltre che questi file di risorse non vengono scaricati nella directory di lavoro Task, ma invece nella directory radice Task (una directory sopra quella di lavoro). È prevista una dimensione massima per l'elenco dei file di risorse. Quando viene superata la dimensione massima, la richiesta avrà esito negativo e il codice di errore della risposta sarà RequestEntityTooLarge. In questo caso, la raccolta di ResourceFiles deve essere ridotta di dimensioni. A tale scopo, è possibile usare .zip file, pacchetti di applicazioni o contenitori Docker.

coordinationCommandLine

string

La riga di comando viene eseguita su tutti i Nodi di Calcolo per permettere loro di coordinarsi quando il comando principale esegue il comando Task principale. Una tipica linea di comando di coordinamento avvia un servizio in background e verifica che il servizio sia pronto a elaborare i messaggi inter-nodo.

numberOfInstances

integer (int32)

Il numero di nodi di calcolo richiesti dal compito. Se omesso, il valore predefinito è 1.

OutputFile

In ogni caricamento di file, il servizio Batch scrive due file di log nel nodo di calcolo, 'fileuploadout.txt' e 'fileuploaderr.txt'. Questi file di log vengono usati per altre informazioni su un errore specifico.

Nome Tipo Descrizione
destination

OutputFileDestination

La destinazione per il/i file/i di output.

filePattern

string

Uno schema che indica quale file/i caricare. Sono supportati sia i percorsi relativi che quelli assoluti. I percorsi relativi sono relativi alla directory di lavoro Task. Sono supportate le seguenti carte jolly: * corrisponde a 0 o più caratteri (ad esempio il pattern abc* corrisponderebbe ad abc o abcdef), ** corrisponde a qualsiasi directory, ? corrisponde a un singolo carattere, [ABC] corrisponde a un carattere tra parentesi, e [A-C] corrisponde a un carattere nell'intervallo. I parentesi possono includere una negazione che corrisponde a qualsiasi carattere non specificato (ad esempio [!abc] corrisponde a qualsiasi carattere tranne a, b o c). Se un nome di file inizia con "." viene ignorato di default ma può essere abbinato specificandolo esplicitamente (ad esempio .gif non corrisponderà .a.gif, ma.gif sì). Un esempio semplice: ***.txt corrisponde a qualsiasi file che non inizia con '.' e termina con .txt nella directory di lavoro Task o in qualsiasi sottodirectory. Se il nome del file contiene un personaggio jolly, può essere sfuggito usando parentesi (ad esempio abc[] corrisponderebbe a un file chiamato abc). Nota che sia \ che / sono trattati come separatori di directory su Windows, ma solo / è su Linux. Le variabili ambientali (%var% su Windows o $var su Linux) vengono espanse prima che il pattern venga applicato.

uploadOptions

OutputFileUploadConfig

Opzioni aggiuntive per l'operazione di upload, incluse le condizioni in cui effettuare il caricamento.

OutputFileBlobContainerDestination

Specifica una destinazione di caricamento di file all'interno di un contenitore di archiviazione BLOB di Azure.

Nome Tipo Descrizione
containerUrl

string (uri)

L'URL del container all'interno di Azure Blob Storage su cui caricare il/i file/i. Se non si utilizza un'identità gestita, l'URL deve includere una Firma di Accesso Condiviso (SAS) che concede permessi di scrittura al container.

identityReference

BatchNodeIdentityReference

Il riferimento all'identità assegnata dall'utente da utilizzare per accedere a Azure Blob Storage specificato da containerUrl. L'identità deve avere accesso di scrittura al container Azure Blob Storage.

path

string

Il blob di destinazione o la directory virtuale all'interno del contenitore Azure Storage. Se filePattern si riferisce a un file specifico (cioè non contiene wildcard), allora path è il nome del blob su cui caricare quel file. Se filePattern contiene una o più wildcard (e quindi può corrispondere a più file), allora path è il nome della cartella virtuale del blob (che viene preattaccato a ciascun nome del blob) su cui caricare il/i file/i. Se omesso, i file/i vengono caricati alla radice del container con un nome di blob corrispondente al nome del loro file.

uploadHeaders

OutputFileUploadHeader[]

Un elenco di coppie nome-valore per le intestazioni da utilizzare nel caricamento dei file di output. Queste intestazioni saranno specificate durante il caricamento dei file su Azure Storage. Documento ufficiale sulle intestazioni consentite durante il caricamento dei blob: https://learn.microsoft.com/rest/api/storageservices/put-blob#request-headers-all-blob-types.

OutputFileDestination

Destinazione in cui caricare un file.

Nome Tipo Descrizione
container

OutputFileBlobContainerDestination

Una posizione nello storage blob di Azure dove vengono caricati i file.

OutputFileUploadCondition

OutputFileUploadCondition enums

Valore Descrizione
tasksuccess

Carica il/i file/i solo dopo che il processo Task esce con un codice di uscita pari a 0.

taskfailure

Carica il/i file/i solo dopo che il processo Task esce con un codice di uscita diverso da zero.

taskcompletion

Carica il/i file/i dopo che il processo Task si è chiuso, indipendentemente dal codice di uscita.

OutputFileUploadConfig

Opzioni per un'operazione di caricamento del file di output, incluse le condizioni per eseguire il caricamento.

Nome Tipo Descrizione
uploadCondition

OutputFileUploadCondition

Le condizioni in cui il file di output o l'insieme di file di Task devono essere caricati. Il modo predefinito è il completamento del compito.

OutputFileUploadHeader

Coppia nome-valore intestazione HTTP

Nome Tipo Descrizione
name

string

Il nome insensibile a maiuscole dell'intestazione da utilizzare durante il caricamento dei file di output.

value

string

Il valore dell'intestazione da utilizzare durante il caricamento dei file di output.

ResourceFile

Un singolo file o più file da scaricare in un nodo di calcolo.

Nome Tipo Descrizione
autoStorageContainerName

string

Il nome del container di archiviazione nell'account di auto storage. Le proprietà autoStorageContainerName, storageContainerUrl e httpUrl si escludono a vicenda e una di esse deve essere specificata.

blobPrefix

string

Prefisso BLOB da usare durante il download di BLOB da un contenitore di Archiviazione di Azure. Verranno scaricati solo i BLOB i cui nomi iniziano con il prefisso specificato. La proprietà è valida solo quando si usa autoStorageContainerName o storageContainerUrl. Questo prefisso può essere un nome file parziale o una sottodirectory. Se non viene specificato un prefisso, verranno scaricati tutti i file nel contenitore.

fileMode

string

Attributo della modalità di autorizzazione file in formato ottale. Questa proprietà si applica solo ai file scaricati su Linux Compute Nodes. Verrà ignorato se viene specificato per un file di risorsa che verrà scaricato su un nodo di calcolo di Windows. Se questa proprietà non è specificata per un nodo Linux Compute, allora viene applicato un valore predefinito 0770 al file.

filePath

string

La posizione sul Nodo di Calcolo su cui scaricare il/i file/i, rispetto alla directory operativa del Task. Se viene specificata la proprietà httpUrl, filePath è obbligatorio e descrive il percorso in cui verrà scaricato il file, incluso il nome file. In caso contrario, se si specifica la proprietà autoStorageContainerName o storageContainerUrl, filePath è facoltativo ed è la directory in cui scaricare i file. Nel caso in cui filePath venga usato come directory, qualsiasi struttura di directory già associata ai dati di input verrà mantenuta in modo completo e accodato alla directory filePath specificata. Il percorso relativo specificato non può uscire dalla directory di lavoro del Task (ad esempio usando '..').

httpUrl

string (uri)

URL del file da scaricare. Le proprietà autoStorageContainerName, storageContainerUrl e httpUrl si escludono a vicenda e una di esse deve essere specificata. Se l'URL punta ad Archiviazione BLOB di Azure, deve essere leggibile dai nodi di calcolo. Esistono tre modi per ottenere tale URL per un BLOB nell'archiviazione di Azure: includere una firma di accesso condiviso (SAS) che concede le autorizzazioni di lettura per il BLOB, usare un'identità gestita con autorizzazione di lettura o impostare l'ACL per il BLOB o il relativo contenitore per consentire l'accesso pubblico.

identityReference

BatchNodeIdentityReference

Il riferimento all'identità assegnata dall'utente da utilizzare per accedere a Azure Blob Storage specificato da storageContainerUrl o httpUrl.

storageContainerUrl

string (uri)

URL del contenitore BLOB all'interno di Archiviazione BLOB di Azure. Le proprietà autoStorageContainerName, storageContainerUrl e httpUrl si escludono a vicenda e una di esse deve essere specificata. Questo URL deve essere leggibile ed elencabile dai nodi di calcolo. Esistono tre modi per ottenere tale URL per un contenitore nell'archiviazione di Azure: includere una firma di accesso condiviso che concede autorizzazioni di lettura ed elenco per il contenitore, usare un'identità gestita con autorizzazioni di lettura ed elenco o impostare l'ACL per il contenitore per consentire l'accesso pubblico.

UserIdentity

Definizione dell'identità utente in cui viene eseguita l'attività. Specificare la proprietà userName o autoUser, ma non entrambe.

Nome Tipo Descrizione
autoUser

AutoUserSpecification

L'utente automatico sotto cui viene eseguito il Task. Le proprietà userName e autoUser si escludono a vicenda; è necessario specificarne uno ma non entrambi.

username

string

Il nome dell'identità utente con cui viene eseguito il Task. Le proprietà userName e autoUser si escludono a vicenda; è necessario specificarne uno ma non entrambi.