Partilhar via


Tasks - Create Task

Cria uma tarefa para o trabalho especificado.
A duração máxima de uma Tarefa desde a adição até à conclusão é de 180 dias. Se uma Tarefa não for concluída dentro de 180 dias após a sua adicionação, será terminada pelo serviço Batch e deixada no estado em que estava nessa altura.

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

Parâmetros do URI

Name Em Necessário Tipo Description
endpoint
path True

string (uri)

Ponto de extremidade da conta em lote (por exemplo: https://batchaccount.eastus2.batch.azure.com).

jobId
path True

string

O ID do Trabalho para o qual a Tarefa deve ser criada.

api-version
query True

string

minLength: 1

A versão da API a utilizar para esta operação.

timeOut
query

integer (int32)

O tempo máximo que o servidor pode gastar processando a solicitação, em segundos. O padrão é 30 segundos. Se o valor for superior a 30, será usado o padrão em vez disso.".

Cabeçalho do Pedido

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

Name Necessário Tipo Description
client-request-id

string

A identidade de solicitação gerada pelo chamador, na forma de um GUID sem decoração, como chaves encaracoladas, por exemplo, 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.

return-client-request-id

boolean

Se o servidor deve retornar o client-request-id na resposta.

ocp-date

string (date-time-rfc7231)

A hora em que o pedido foi emitido. As bibliotecas de cliente normalmente definem isso para a hora atual do relógio do sistema; defina-o explicitamente se você estiver chamando a API REST diretamente.

Corpo do Pedido

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

Name Necessário Tipo Description
commandLine True

string

A linha de comandos da Tarefa. Para Tarefas multi-instância, a linha de comando é executada como a Tarefa principal, depois de a Tarefa principal e todas as subtarefas terem terminado a execução da linha de comandos de coordenação. A linha de comando não é executada sob um shell e, portanto, não pode aproveitar os recursos do shell, como a expansão da variável de ambiente. Se você quiser aproveitar esses recursos, você deve invocar o shell na linha de comando, por exemplo, usando "cmd /c MyCommand" no Windows ou "/bin/sh -c MyCommand" no Linux. Se a linha de comando se referir a caminhos de arquivo, ela deverá usar um caminho relativo (relativo ao diretório de trabalho Tarefa) ou usar a variável de ambiente Batch provided (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

id True

string

Uma cadeia que identifica de forma única a Tarefa dentro do Trabalho. O ID pode conter qualquer combinação de caracteres alfanuméricos, incluindo hífenes e sublinhados, e não pode conter mais de 64 caracteres. O ID preserva o caso e é insensível a maiúsculas minúsculas (ou seja, pode não ter dois IDs dentro de um Job que diferem apenas consoante o caso).

affinityInfo

BatchAffinityInfo

Uma dica de localidade que pode ser usada pelo serviço Batch para selecionar um Nó de Computação onde iniciar a nova Tarefa.

applicationPackageReferences

BatchApplicationPackageReference[]

Uma lista de Pacotes que o serviço Batch irá implementar no Nó de Computação antes de executar a linha de comandos. Os pacotes de aplicações são descarregados e implementados num diretório partilhado, não no diretório de trabalho Tarefa. Portanto, se um pacote referenciado já estiver no Nó e estiver atualizado, então não é descarregado novamente; a cópia existente no Nó de Computação é utilizada. Se um Pacote referenciado não puder ser instalado, por exemplo porque o pacote foi eliminado ou porque o download falhou, a Tarefa falha.

authenticationTokenSettings

AuthenticationTokenSettings

As configurações de um token de autenticação que a Tarefa pode usar para executar operações de serviço em lote. Se esta propriedade estiver definida, o serviço Batch fornece à Tarefa um token de autenticação que pode ser usado para autenticar operações do serviço Batch sem exigir uma chave de acesso à Conta. O token é fornecido através da variável de ambiente AZ_BATCH_AUTHENTICATION_TOKEN. As operações que a Tarefa pode realizar usando o token dependem das definições. Por exemplo, uma Tarefa pode solicitar permissões de Trabalho para adicionar outras Tarefas ao Trabalho, ou verificar o estado do Trabalho ou de outras Tarefas sob o Trabalho.

constraints

BatchTaskConstraints

As restrições de execução que se aplicam a esta Tarefa. Se não especificar restrições, o maxTaskRetryCount é o maxTaskRetryCount especificado para o Job, o maxWallClockTime, é infinito e o retentionTime é de 7 dias.

containerSettings

BatchTaskContainerSettings

As definições do contentor sob o qual a Tarefa é executada. Se o Pool que irá executar esta tarefa tiver containerConfiguration definido, isto também deve ser definido. Se o Pool que irá executar esta Tarefa não tiver containerConfiguration ativado, isto não deve estar definido. Quando isto é especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz dos diretórios Batch do Azure no nó) são mapeados para o contentor, todas as variáveis do ambiente Task são mapeadas para o contentor e a linha de comando Task é executada no contentor. Ficheiros produzidos no contentor fora de AZ_BATCH_NODE_ROOT_DIR podem não ser refletidos para o disco anfitrião, o que significa que as APIs de ficheiros Batch não poderão aceder a esses ficheiros.

dependsOn

BatchTaskDependencies

As Tarefas das quais esta Tarefa depende. Esta Tarefa não será agendada até que todas as Tarefas de que depende tenham sido concluídas com sucesso. Se alguma dessas Tarefas falhar e esgotar o número de retentativas, essa Tarefa nunca será agendada. Se o Job não tiver usesTaskDependencies definido como true, e este elemento estiver presente, o pedido falha com o código de erro TaskDependenciesNotSpecifiedOnJob.

displayName

string

Um nome de exibição para a Tarefa. O nome para exibição não precisa ser exclusivo e pode conter caracteres Unicode até um comprimento máximo de 1024.

environmentSettings

EnvironmentSetting[]

Uma lista de definições de variáveis de ambiente para a Tarefa.

exitConditions

ExitConditions

Como o serviço Batch deve responder quando a Tarefa for concluída.

multiInstanceSettings

MultiInstanceSettings

Um objeto que indica que a Tarefa é uma Tarefa multiinstância e contém informações sobre como executar a Tarefa multi-instância.

outputFiles

OutputFile[]

Uma lista de ficheiros que o serviço Batch irá carregar do Nó de Computação após executar a linha de comandos. Para Tarefas de múltiplas instâncias, os ficheiros só serão carregados a partir do Nó de Computação onde a Tarefa principal é executada.

requiredSlots

integer (int32)

O número de espaços de agendamento que a Tarefa precisava para executar. O padrão é 1. Uma Tarefa só pode ser agendada para correr num nó de computação se este tiver espaços de agendamento livres suficientes. Para Tarefas de múltiplas instâncias, isto deve ser 1.

resourceFiles

ResourceFile[]

Uma lista de arquivos que o serviço em lote baixará para o nó de computação antes de executar a linha de comando. Para Tarefas multiinstância, os ficheiros de recurso serão descarregados apenas para o Nó de Computação onde a Tarefa principal é executada. Há um tamanho máximo para a lista de arquivos de recursos. Quando o tamanho máximo for excedido, a solicitação falhará e o código de erro de resposta será RequestEntityTooLarge. Se isso ocorrer, a coleção de ResourceFiles deve ser reduzida em tamanho. Isso pode ser feito usando arquivos .zip, pacotes de aplicativos ou contêineres do Docker.

userIdentity

UserIdentity

A identidade do utilizador sob a qual a Tarefa é executada. Se omitida, a Tarefa é executada como um utilizador não administrativo único da Tarefa.

Respostas

Name Tipo Description
201 Created

O pedido foi bem-sucedido e, como resultado, foi criado um novo recurso.

Cabeçalhos

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

BatchError

Uma resposta de erro inesperada.

Segurança

OAuth2Auth

Tipo: oauth2
Fluxo: implicit
URL de Autorização: https://login.microsoftonline.com/common/oauth2/v2.0/authorize

Âmbitos

Name Description
https://batch.core.windows.net//.default

Exemplos

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

Pedido de amostra

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



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

Resposta da amostra

Creates a task with container settings

Pedido de amostra

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"
    }
  }
}

Resposta da amostra

Creates a task with container settings with data isolation

Pedido de amostra

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"
    }
  }
}

Resposta da amostra

Creates a task with container settings with duplicate source

Pedido de amostra

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"
    }
  }
}

Resposta da amostra

Creates a task with exit conditions

Pedido de amostra

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"
    }
  }
}

Resposta da amostra

Creates a task with extra slot requirement

Pedido de amostra

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



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

Resposta da amostra

Definições

Name Description
AuthenticationTokenSettings

As configurações de um token de autenticação que a Tarefa pode usar para executar operações de serviço em lote.

AutoUserScope

Enums AutoUserScope

AutoUserSpecification

Especifica as opções para o usuário automático que executa uma Tarefa em Lote do Azure.

BatchAccessScope

Enums BatchAccessScope

BatchAffinityInfo

Uma dica de localidade que pode ser usada pelo serviço Batch para selecionar um Nó de Computação no qual iniciar uma Tarefa.

BatchApplicationPackageReference

Uma referência a um pacote a ser implantado em nós de computação.

BatchError

Uma resposta de erro recebida do serviço Batch do Azure.

BatchErrorDetail

Um item de informações adicionais incluído em uma resposta de erro do Lote do Azure.

BatchErrorMessage

Uma mensagem de erro recebida em uma resposta de erro do Lote do Azure.

BatchJobActionKind

Enums do BatchJobAction

BatchNodeIdentityReference

A referência a uma identidade atribuída ao usuário associada ao pool de lotes que um nó de computação usará.

BatchTaskConstraints

Restrições de execução a serem aplicadas a uma Tarefa.

BatchTaskContainerSettings

As configurações de contêiner para uma Tarefa.

BatchTaskCreateOptions

Parâmetros para criar uma Tarefa em Lote do Azure.

BatchTaskDependencies

Especifica quaisquer dependências de uma Tarefa. Qualquer Tarefa especificada explicitamente ou dentro de um intervalo de dependência deve ser concluída antes que a Tarefa dependente seja agendada.

BatchTaskIdRange

O início e o fim do intervalo são inclusivos. Por exemplo, se um intervalo tiver início 9 e fim 12, ele representa Tarefas '9', '10', '11' e '12'.

ContainerHostBatchBindMountEntry

A entrada do caminho e do modo de montagem que você deseja montar no contêiner de tarefas.

ContainerHostDataPath

Os caminhos que serão montados no contêiner da tarefa do contêiner.

ContainerRegistryReference

Um registro de contêiner privado.

ContainerWorkingDirectory

ContainerWorkingDirectory enums

DependencyAction

Enums DependencyAction

ElevationLevel

Enums ElevationLevel

EnvironmentSetting

Uma variável de ambiente a ser definida em um processo Task.

ExitCodeMapping

Como o serviço Batch deve responder se uma Tarefa sair com um código de saída específico.

ExitCodeRangeMapping

Um intervalo de códigos de saída e como o serviço Batch deve responder aos códigos de saída dentro desse intervalo.

ExitConditions

Especifica como o serviço em lote deve responder quando a tarefa for concluída.

ExitOptions

Especifica como o serviço Batch responde a uma condição de saída específica.

MultiInstanceSettings

Tarefas de várias instâncias são comumente usadas para dar suporte a tarefas MPI. No caso do MPI, se qualquer uma das subtarefas falhar (por exemplo, devido à saída com um código de saída diferente de zero), toda a Tarefa de várias instâncias falhará. A tarefa de várias instâncias é então encerrada e repetida, até seu limite de repetição.

OutputFile

Em cada upload de arquivo, o serviço Batch grava dois arquivos de log no nó de computação, 'fileuploadout.txt' e 'fileuploaderr.txt'. Esses arquivos de log são usados para saber mais sobre uma falha específica.

OutputFileBlobContainerDestination

Especifica um destino de carregamento de arquivo em um contêiner de armazenamento de blob do Azure.

OutputFileDestination

O destino para o qual um arquivo deve ser carregado.

OutputFileUploadCondition

OutputFileUploadCondition enums

OutputFileUploadConfig

Opções para uma operação de upload de arquivo de saída, incluindo em que condições executar o upload.

OutputFileUploadHeader

Um par nome-valor de cabeçalho HTTP

ResourceFile

Um único arquivo ou vários arquivos a serem baixados para um nó de computação.

UserIdentity

A definição da identidade do usuário sob a qual a Tarefa é executada. Especifique a propriedade userName ou autoUser, mas não ambas.

AuthenticationTokenSettings

As configurações de um token de autenticação que a Tarefa pode usar para executar operações de serviço em lote.

Name Tipo Description
access

BatchAccessScope[]

Os recursos do Batch a que o token concede acesso. O token de autenticação concede acesso a um conjunto limitado de operações de serviço em lote. Atualmente, o único valor suportado para a propriedade de acesso é 'job', que concede acesso a todas as operações relacionadas com o Job que contém a Tarefa.

AutoUserScope

Enums AutoUserScope

Valor Description
task

Especifica que o serviço deve criar um novo utilizador para a Tarefa.

pool

Especifica que a Tarefa corre como a Conta de utilizador automática comum, criada em cada Nó de Computação de um Pool.

AutoUserSpecification

Especifica as opções para o usuário automático que executa uma Tarefa em Lote do Azure.

Name Tipo Description
elevationLevel

ElevationLevel

O nível de elevação do usuário automático. O valor padrão é nonAdmin.

scope

AutoUserScope

O escopo para o usuário automático. O valor padrão é pool. Se o pool estiver executando o Windows, um valor de Task deverá ser especificado se for necessário um isolamento mais rigoroso entre as tarefas. Por exemplo, se a tarefa muta o registro de uma forma que pode afetar outras tarefas.

BatchAccessScope

Enums BatchAccessScope

Valor Description
job

Concede acesso para realizar todas as operações no Trabalho que contém a Tarefa.

BatchAffinityInfo

Uma dica de localidade que pode ser usada pelo serviço Batch para selecionar um Nó de Computação no qual iniciar uma Tarefa.

Name Tipo Description
affinityId

string

Uma cadeia opaca que representa a localização de um Nó de Computação ou de uma Tarefa que já foi executada anteriormente. Podes passar o affinityId de um Nó para indicar que esta Tarefa precisa de ser executada nesse Nó de Computação. Note que esta é apenas uma afinidade suave. Se o Nó de Computação de destino estiver ocupado ou indisponível no momento em que a Tarefa for agendada, a Tarefa será agendada em outro lugar.

BatchApplicationPackageReference

Uma referência a um pacote a ser implantado em nós de computação.

Name Tipo Description
applicationId

string

O ID da aplicação a implementar. Ao criar um pool, a ID do aplicativo do pacote deve ser totalmente qualificada (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}).

version

string

A versão do aplicativo a ser implantado. Se omitida, a versão padrão será implantada. Se isto for omitido num Pool e não for especificada uma versão padrão para esta aplicação, o pedido falha com o código de erro InvalidApplicationPackageReferences e o código de estado HTTP 409. Se isto for omitido numa Tarefa, e não for especificada uma versão padrão para esta aplicação, a Tarefa falha com um erro de pré-processamento.

BatchError

Uma resposta de erro recebida do serviço Batch do Azure.

Name Tipo Description
code

string

Um identificador para o erro. Os códigos são invariantes e destinam-se a ser consumidos programaticamente.

message

BatchErrorMessage

Uma mensagem descrevendo o erro, destinada a ser adequada para exibição em uma interface do usuário.

values

BatchErrorDetail[]

Uma coleção de pares chave-valor contendo detalhes adicionais sobre o erro.

BatchErrorDetail

Um item de informações adicionais incluído em uma resposta de erro do Lote do Azure.

Name Tipo Description
key

string

Um identificador que especifica o significado da propriedade Value.

value

string

As informações adicionais incluídas com a resposta de erro.

BatchErrorMessage

Uma mensagem de erro recebida em uma resposta de erro do Lote do Azure.

Name Tipo Description
lang

string

O código da linguagem da mensagem de erro.

value

string

O texto da mensagem.

BatchJobActionKind

Enums do BatchJobAction

Valor Description
none

Não tomes nenhuma atitude.

disable

Desativa o trabalho. Isto é equivalente a chamar a disable Job API, com um valor disableTasks como requeue.

terminate

Termina o trabalho. A terminationReason na executionInfo do Job está definida como "TaskFailed".

BatchNodeIdentityReference

A referência a uma identidade atribuída ao usuário associada ao pool de lotes que um nó de computação usará.

Name Tipo Description
resourceId

string (arm-id)

O ID de recurso ARM da identidade atribuída ao usuário.

BatchTaskConstraints

Restrições de execução a serem aplicadas a uma Tarefa.

Name Tipo Description
maxTaskRetryCount

integer (int32)

O número máximo de vezes que a Tarefa pode ser repetida. O serviço de lote tenta novamente uma tarefa se seu código de saída for diferente de zero. Note que este valor controla especificamente o número de tentativas para o executável Task devido a um código de saída não nulo. O serviço de lote tentará a tarefa uma vez e, em seguida, poderá tentar novamente até esse limite. Por exemplo, se a contagem máxima de tentativas for 3, o Batch tentará a Tarefa até 4 vezes (uma tentativa inicial e 3 tentativas). Se o número máximo de tentativas for 0, o serviço Batch não tenta novamente a Tarefa após a primeira tentativa. Se a contagem máxima de tentativas for -1, o serviço em lote repetirá a tarefa sem limite, no entanto, isso não é recomendado para uma tarefa inicial ou qualquer tarefa. O valor padrão é 0 (sem tentativas).

maxWallClockTime

string (duration)

O tempo máximo decorrido que a Tarefa pode executar, medido a partir do momento em que a Tarefa começa. Se a Tarefa não for concluída dentro do limite de tempo, o serviço Batch termina-a. Se isto não for especificado, não existe limite de tempo para a duração da Tarefa.

retentionTime

string (duration)

O tempo mínimo para reter o diretório Tarefa no Nó de Computação onde foi executado, a partir da conclusão da execução. Após este período, o serviço Batch pode eliminar o diretório Task e todo o seu conteúdo. O padrão é 7 dias, ou seja, o diretório Tarefa será mantido durante 7 dias, a menos que o Nó de Computação seja removido ou o Trabalho seja eliminado.

BatchTaskContainerSettings

As configurações de contêiner para uma Tarefa.

Name Tipo Description
containerHostBatchBindMounts

ContainerHostBatchBindMountEntry[]

Os caminhos que você deseja montar para a tarefa de contêiner. Se essa matriz for nula ou não estiver presente, a tarefa de contêiner montará toda a unidade de disco temporária no Windows (ou AZ_BATCH_NODE_ROOT_DIR no Linux). Ele não montará nenhum caminho de dados no contêiner se essa matriz estiver definida como vazia.

containerRunOptions

string

Opções adicionais para o comando container create. Essas opções adicionais são fornecidas como argumentos para o comando "docker create", além daquelas controladas pelo Batch Service.

imageName

string

A imagem a usar para criar o contentor onde a tarefa será executada. Esta é a referência completa da Imagem, conforme especificado para "docker pull". Se não for fornecida uma etiqueta como parte do nome da Imagem, a etiqueta ":latest" é usada como padrão.

registry

ContainerRegistryReference

O registo privado que contém a imagem do contentor. Esta definição pode ser omitida se já foi fornecida na criação do Pool.

workingDirectory

ContainerWorkingDirectory

A localização do diretório de trabalho da Tarefa do contentor. O padrão é 'taskWorkingDirectory'.

BatchTaskCreateOptions

Parâmetros para criar uma Tarefa em Lote do Azure.

Name Tipo Description
affinityInfo

BatchAffinityInfo

Uma dica de localidade que pode ser usada pelo serviço Batch para selecionar um Nó de Computação onde iniciar a nova Tarefa.

applicationPackageReferences

BatchApplicationPackageReference[]

Uma lista de Pacotes que o serviço Batch irá implementar no Nó de Computação antes de executar a linha de comandos. Os pacotes de aplicações são descarregados e implementados num diretório partilhado, não no diretório de trabalho Tarefa. Portanto, se um pacote referenciado já estiver no Nó e estiver atualizado, então não é descarregado novamente; a cópia existente no Nó de Computação é utilizada. Se um Pacote referenciado não puder ser instalado, por exemplo porque o pacote foi eliminado ou porque o download falhou, a Tarefa falha.

authenticationTokenSettings

AuthenticationTokenSettings

As configurações de um token de autenticação que a Tarefa pode usar para executar operações de serviço em lote. Se esta propriedade estiver definida, o serviço Batch fornece à Tarefa um token de autenticação que pode ser usado para autenticar operações do serviço Batch sem exigir uma chave de acesso à Conta. O token é fornecido através da variável de ambiente AZ_BATCH_AUTHENTICATION_TOKEN. As operações que a Tarefa pode realizar usando o token dependem das definições. Por exemplo, uma Tarefa pode solicitar permissões de Trabalho para adicionar outras Tarefas ao Trabalho, ou verificar o estado do Trabalho ou de outras Tarefas sob o Trabalho.

commandLine

string

A linha de comandos da Tarefa. Para Tarefas multi-instância, a linha de comando é executada como a Tarefa principal, depois de a Tarefa principal e todas as subtarefas terem terminado a execução da linha de comandos de coordenação. A linha de comando não é executada sob um shell e, portanto, não pode aproveitar os recursos do shell, como a expansão da variável de ambiente. Se você quiser aproveitar esses recursos, você deve invocar o shell na linha de comando, por exemplo, usando "cmd /c MyCommand" no Windows ou "/bin/sh -c MyCommand" no Linux. Se a linha de comando se referir a caminhos de arquivo, ela deverá usar um caminho relativo (relativo ao diretório de trabalho Tarefa) ou usar a variável de ambiente Batch provided (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

constraints

BatchTaskConstraints

As restrições de execução que se aplicam a esta Tarefa. Se não especificar restrições, o maxTaskRetryCount é o maxTaskRetryCount especificado para o Job, o maxWallClockTime, é infinito e o retentionTime é de 7 dias.

containerSettings

BatchTaskContainerSettings

As definições do contentor sob o qual a Tarefa é executada. Se o Pool que irá executar esta tarefa tiver containerConfiguration definido, isto também deve ser definido. Se o Pool que irá executar esta Tarefa não tiver containerConfiguration ativado, isto não deve estar definido. Quando isto é especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz dos diretórios Batch do Azure no nó) são mapeados para o contentor, todas as variáveis do ambiente Task são mapeadas para o contentor e a linha de comando Task é executada no contentor. Ficheiros produzidos no contentor fora de AZ_BATCH_NODE_ROOT_DIR podem não ser refletidos para o disco anfitrião, o que significa que as APIs de ficheiros Batch não poderão aceder a esses ficheiros.

dependsOn

BatchTaskDependencies

As Tarefas das quais esta Tarefa depende. Esta Tarefa não será agendada até que todas as Tarefas de que depende tenham sido concluídas com sucesso. Se alguma dessas Tarefas falhar e esgotar o número de retentativas, essa Tarefa nunca será agendada. Se o Job não tiver usesTaskDependencies definido como true, e este elemento estiver presente, o pedido falha com o código de erro TaskDependenciesNotSpecifiedOnJob.

displayName

string

Um nome de exibição para a Tarefa. O nome para exibição não precisa ser exclusivo e pode conter caracteres Unicode até um comprimento máximo de 1024.

environmentSettings

EnvironmentSetting[]

Uma lista de definições de variáveis de ambiente para a Tarefa.

exitConditions

ExitConditions

Como o serviço Batch deve responder quando a Tarefa for concluída.

id

string

Uma cadeia que identifica de forma única a Tarefa dentro do Trabalho. O ID pode conter qualquer combinação de caracteres alfanuméricos, incluindo hífenes e sublinhados, e não pode conter mais de 64 caracteres. O ID preserva o caso e é insensível a maiúsculas minúsculas (ou seja, pode não ter dois IDs dentro de um Job que diferem apenas consoante o caso).

multiInstanceSettings

MultiInstanceSettings

Um objeto que indica que a Tarefa é uma Tarefa multiinstância e contém informações sobre como executar a Tarefa multi-instância.

outputFiles

OutputFile[]

Uma lista de ficheiros que o serviço Batch irá carregar do Nó de Computação após executar a linha de comandos. Para Tarefas de múltiplas instâncias, os ficheiros só serão carregados a partir do Nó de Computação onde a Tarefa principal é executada.

requiredSlots

integer (int32)

O número de espaços de agendamento que a Tarefa precisava para executar. O padrão é 1. Uma Tarefa só pode ser agendada para correr num nó de computação se este tiver espaços de agendamento livres suficientes. Para Tarefas de múltiplas instâncias, isto deve ser 1.

resourceFiles

ResourceFile[]

Uma lista de arquivos que o serviço em lote baixará para o nó de computação antes de executar a linha de comando. Para Tarefas multiinstância, os ficheiros de recurso serão descarregados apenas para o Nó de Computação onde a Tarefa principal é executada. Há um tamanho máximo para a lista de arquivos de recursos. Quando o tamanho máximo for excedido, a solicitação falhará e o código de erro de resposta será RequestEntityTooLarge. Se isso ocorrer, a coleção de ResourceFiles deve ser reduzida em tamanho. Isso pode ser feito usando arquivos .zip, pacotes de aplicativos ou contêineres do Docker.

userIdentity

UserIdentity

A identidade do utilizador sob a qual a Tarefa é executada. Se omitida, a Tarefa é executada como um utilizador não administrativo único da Tarefa.

BatchTaskDependencies

Especifica quaisquer dependências de uma Tarefa. Qualquer Tarefa especificada explicitamente ou dentro de um intervalo de dependência deve ser concluída antes que a Tarefa dependente seja agendada.

Name Tipo Description
taskIdRanges

BatchTaskIdRange[]

A lista de intervalos de IDs de Tarefa de que esta Tarefa depende. Todas as Tarefas em todos os intervalos devem ser concluídas com sucesso antes que a Tarefa dependente possa ser agendada.

taskIds

string[]

A lista de IDs de Tarefa de que esta Tarefa depende. Todas as Tarefas desta lista devem ser concluídas com sucesso antes que a Tarefa dependente possa ser agendada. A coleção de taskIds está limitada a 64000 caracteres no total (ou seja, o comprimento combinado de todos os IDs de tarefa). Se a coleção taskIds exceder o comprimento máximo, o pedido de Adicionar Tarefa falha com o código de erro TaskDependencyListTooLong. Neste caso, considere usar intervalos de ID de tarefa em vez disso.

BatchTaskIdRange

O início e o fim do intervalo são inclusivos. Por exemplo, se um intervalo tiver início 9 e fim 12, ele representa Tarefas '9', '10', '11' e '12'.

Name Tipo Description
end

integer (int32)

O último ID de Tarefa na gama.

start

integer (int32)

O primeiro ID de Tarefa na gama.

ContainerHostBatchBindMountEntry

A entrada do caminho e do modo de montagem que você deseja montar no contêiner de tarefas.

Name Tipo Description
isReadOnly

boolean

Monte esse caminho de origem como modo somente leitura ou não. O valor padrão é false (modo de leitura/gravação). Para Linux, se você montar esse caminho como um modo de leitura/gravação, isso não significa que todos os usuários no contêiner tenham o acesso de leitura/gravação para o caminho, depende do acesso na VM do host. Se esse caminho for montado somente leitura, todos os usuários dentro do contêiner não poderão modificá-lo.

source

ContainerHostDataPath

O caminho que ser montado para o cliente de contêiner pode selecionar.

ContainerHostDataPath

Os caminhos que serão montados no contêiner da tarefa do contêiner.

Valor Description
Shared

O caminho para a tarefa de várias instâncias compartilhar seus arquivos.

Startup

O caminho para iniciar a tarefa.

VfsMounts

O caminho contém todos os sistemas de arquivos virtuais montados neste nó.

Task

O caminho da tarefa.

JobPrep

O caminho da tarefa de preparação para o trabalho.

Applications

O caminho dos aplicativos.

ContainerRegistryReference

Um registro de contêiner privado.

Name Tipo Description
identityReference

BatchNodeIdentityReference

A referência à identidade atribuída ao usuário a ser usada para acessar um Registro de Contêiner do Azure em vez de nome de usuário e senha.

password

string (password)

A palavra-passe para iniciar sessão no servidor de registo.

registryServer

string (uri)

O URL do registo. Se omitido, o padrão é "docker.io".

username

string

O nome de utilizador para iniciar sessão no servidor de registo.

ContainerWorkingDirectory

ContainerWorkingDirectory enums

Valor Description
taskWorkingDirectory

Use o diretório de trabalho padrão de Tarefas do serviço Batch, que conterá os Ficheiros de Recursos da Tarefa preenchidos por Batch.

containerImageDefault

Use o diretório de trabalho definido na imagem do contentor. Atenção que este diretório não conterá os Ficheiros de Recursos descarregados pelo Batch.

DependencyAction

Enums DependencyAction

Valor Description
satisfy

Satisfazer tarefas que aguardam essa tarefa; Uma vez satisfeitas todas as dependências, a tarefa será agendada para execução.

block

Bloqueia tarefas à espera dessa tarefa, impedindo-as de serem agendadas.

ElevationLevel

Enums ElevationLevel

Valor Description
nonadmin

O usuário é um usuário padrão sem acesso elevado.

admin

O usuário é um usuário com acesso elevado e opera com permissões completas de administrador.

EnvironmentSetting

Uma variável de ambiente a ser definida em um processo Task.

Name Tipo Description
name

string

O nome da variável de ambiente.

value

string

O valor da variável de ambiente.

ExitCodeMapping

Como o serviço Batch deve responder se uma Tarefa sair com um código de saída específico.

Name Tipo Description
code

integer (int32)

Um código de saída de processo.

exitOptions

ExitOptions

Como o serviço Batch deve responder se a Tarefa sair com este código de saída.

ExitCodeRangeMapping

Um intervalo de códigos de saída e como o serviço Batch deve responder aos códigos de saída dentro desse intervalo.

Name Tipo Description
end

integer (int32)

O último código de saída na gama.

exitOptions

ExitOptions

Como o serviço Batch deve responder se a Tarefa sair com um código de saída no intervalo do início ao fim (inclusive).

start

integer (int32)

O primeiro código de saída na gama.

ExitConditions

Especifica como o serviço em lote deve responder quando a tarefa for concluída.

Name Tipo Description
default

ExitOptions

Como o serviço Batch deve responder caso a Tarefa falhe com uma condição de saída não coberta por nenhuma das outras propriedades. Este valor é usado se a Tarefa sair com qualquer código de saída não nulo que não esteja listado na coleção exitCodes ou exitCodeRanges, com um erro de pré-processamento se a propriedade preProcessingError não estiver presente, ou com um erro de carregamento de ficheiro se a propriedade fileUploadError não estiver presente. Se quiser um comportamento não padrão no código de saída 0, deve listá-lo explicitamente usando a coleção exitCodes ou exitCodeRanges.

exitCodeRanges

ExitCodeRangeMapping[]

Uma lista de intervalos de códigos de saída de tarefa e como o serviço Batch deve responder a eles.

exitCodes

ExitCodeMapping[]

Uma lista de códigos individuais de saída de tarefa e como o serviço Batch deve responder a eles.

fileUploadError

ExitOptions

Como o serviço Batch deve responder caso ocorra um erro de carregamento de ficheiros. Se a tarefa saiu com um código de saída especificado através de exitCodes ou exitCodeRanges, e depois encontrou um erro de carregamento de ficheiro, então a ação especificada pelo código de saída tem prioridade.

preProcessingError

ExitOptions

Como o serviço Batch deve responder se a Tarefa falhar no início devido a um erro.

ExitOptions

Especifica como o serviço Batch responde a uma condição de saída específica.

Name Tipo Description
dependencyAction

DependencyAction

Uma ação que o serviço Batch realiza em Tarefas que dependem dessa Tarefa. Os valores possíveis são 'satisfizer' (permitindo que tarefas dependentes progridam) e 'bloqueio' (tarefas dependentes continuam à espera). O batch ainda não suporta o cancelamento de tarefas dependentes.

jobAction

BatchJobActionKind

Uma ação a realizar no Trabalho que contém a Tarefa, se a Tarefa for concluída com a condição de saída dada e a propriedade onTaskFailed do Trabalho for 'performExitOptionsJobAction'. O padrão é nenhum para o código de saída 0 e terminar para todas as outras condições de saída. Se a propriedade onTaskFailed do Job for noaction, então especificar essa propriedade retorna um erro e o pedido de adicionar Task falha com um erro de valor de propriedade inválido; se estiver a chamar diretamente a API REST, o código de estado HTTP é 400 (Pedido Mau).

MultiInstanceSettings

Tarefas de várias instâncias são comumente usadas para dar suporte a tarefas MPI. No caso do MPI, se qualquer uma das subtarefas falhar (por exemplo, devido à saída com um código de saída diferente de zero), toda a Tarefa de várias instâncias falhará. A tarefa de várias instâncias é então encerrada e repetida, até seu limite de repetição.

Name Tipo Description
commonResourceFiles

ResourceFile[]

Uma lista de ficheiros que o serviço Batch irá descarregar antes de executar a linha de comandos de coordenação. A diferença entre os ficheiros de recursos comuns e os ficheiros de recursos da Tarefa é que os ficheiros de recursos comuns são descarregados para todas as subtarefas, incluindo a primária, enquanto os ficheiros de recursos da Tarefa são descarregados apenas para a primária. Note também que estes ficheiros de recursos não são descarregados para o diretório de trabalho Tarefa, mas sim para o diretório raiz de Tarefa (um diretório acima do diretório de trabalho). Há um tamanho máximo para a lista de arquivos de recursos. Quando o tamanho máximo for excedido, a solicitação falhará e o código de erro de resposta será RequestEntityTooLarge. Se isso ocorrer, a coleção de ResourceFiles deve ser reduzida em tamanho. Isso pode ser feito usando arquivos .zip, pacotes de aplicativos ou contêineres do Docker.

coordinationCommandLine

string

A linha de comandos para correr em todos os Nós de Computação para lhes permitir coordenar quando o principal executa o comando principal de Tarefa. Uma linha de comandos típica de coordenação lança um serviço em segundo plano e verifica se o serviço está pronto para processar mensagens entre nós.

numberOfInstances

integer (int32)

O número de Nós de Computação exigidos pela Tarefa. Se for omitido, o padrão é 1.

OutputFile

Em cada upload de arquivo, o serviço Batch grava dois arquivos de log no nó de computação, 'fileuploadout.txt' e 'fileuploaderr.txt'. Esses arquivos de log são usados para saber mais sobre uma falha específica.

Name Tipo Description
destination

OutputFileDestination

O destino do(s) ficheiro(s) de saída.

filePattern

string

Um padrão que indica que ficheiro(s) carregar. Tanto os caminhos relativos como os absolutos são suportados. Os caminhos relativos são relativos ao diretório de trabalho Tarefa. São suportados os seguintes coringas: * corresponde a 0 ou mais caracteres (por exemplo, o padrão abc* corresponderia a abc ou abcdef), ** corresponde a qualquer diretório, ? corresponde a qualquer personagem individual, [ABC] corresponde a um personagem entre parênteses, e [A-C] corresponde a um carácter no intervalo. Os parênteses podem incluir uma negação para corresponder a qualquer carácter não especificado (por exemplo, [!abc] corresponde a qualquer carácter exceto a, b ou c). Se o nome de um ficheiro começar por "." é ignorado por defeito, mas pode ser correspondido especificando-o explicitamente (por exemplo ,.gif não corresponderá .a.gif, mas.gif sim). Um exemplo simples: ***.txt corresponde a qualquer ficheiro que não comece em '.' e termine com .txt no diretório de trabalho Task ou em qualquer subdiretório. Se o nome do ficheiro contiver um carácter curinga, pode ser escapado usando parênteses (por exemplo, abc[] corresponderia a um ficheiro chamado abc). Note que tanto \ como / são tratados como separadores de diretórios no Windows, mas apenas / é no Linux. As variáveis de ambiente (%var% no Windows ou $var no Linux) são expandidas antes da aplicação do padrão.

uploadOptions

OutputFileUploadConfig

Opções adicionais para a operação de upload, incluindo em que condições realizar o upload.

OutputFileBlobContainerDestination

Especifica um destino de carregamento de arquivo em um contêiner de armazenamento de blob do Azure.

Name Tipo Description
containerUrl

string (uri)

A URL do contentor dentro do Azure Blob Storage para onde carregar o(s) ficheiro(s). Se não estiver a usar uma identidade gerida, a URL deve incluir uma Assinatura de Acesso Partilhado (SAS) que conceda permissões de escrita ao contentor.

identityReference

BatchNodeIdentityReference

A referência à identidade atribuída pelo utilizador para aceder ao Azure Blob Storage especificada pelo containerUrl. A identidade deve ter acesso de escrita ao contentor Azure Blob Storage.

path

string

O blob de destino ou diretório virtual dentro do contentor Azure Storage. Se filePattern se referir a um ficheiro específico (ou seja, não contiver curingas), então path é o nome do blob para onde se deve carregar esse ficheiro. Se o filePattern contiver um ou mais wildcards (e, portanto, pode corresponder a vários ficheiros), então path é o nome do diretório virtual do blob (que é antecedido a cada nome do blob) para o qual carregar o(s) ficheiro(s). Se omitido(s), o(s) ficheiro(s) são carregados para a raiz do contentor com um nome de blob correspondente ao nome do ficheiro.

uploadHeaders

OutputFileUploadHeader[]

Uma lista de pares nome-valor para cabeçalhos a serem usados no carregamento de ficheiros de saída. Estes cabeçalhos serão especificados ao carregar ficheiros para o Azure Storage. Documento oficial sobre cabeçalhos permitidos ao carregar blobs: https://learn.microsoft.com/rest/api/storageservices/put-blob#request-headers-all-blob-types.

OutputFileDestination

O destino para o qual um arquivo deve ser carregado.

Name Tipo Description
container

OutputFileBlobContainerDestination

Um local no armazenamento de blobs do Azure para onde os ficheiros são carregados.

OutputFileUploadCondition

OutputFileUploadCondition enums

Valor Description
tasksuccess

Carregue o(s) ficheiro(s) apenas depois de o processo de Tarefa sair com um código de saída 0.

taskfailure

Carrega o(s) ficheiro(s) apenas depois de o processo de Tarefa sair com um código de saída diferente de zero.

taskcompletion

Carrega o(s) ficheiro(s) depois de o processo de Tarefa sair, independentemente do código de saída.

OutputFileUploadConfig

Opções para uma operação de upload de arquivo de saída, incluindo em que condições executar o upload.

Name Tipo Description
uploadCondition

OutputFileUploadCondition

As condições sob as quais o ficheiro de saída da Tarefa ou conjunto de ficheiros deve ser carregado. O padrão é a conclusão de tarefas.

OutputFileUploadHeader

Um par nome-valor de cabeçalho HTTP

Name Tipo Description
name

string

O nome insensível a maiúsculas minúsculas do cabeçalho a ser usado durante o carregamento dos ficheiros de saída.

value

string

O valor do cabeçalho a ser usado ao carregar ficheiros de saída.

ResourceFile

Um único arquivo ou vários arquivos a serem baixados para um nó de computação.

Name Tipo Description
autoStorageContainerName

string

O nome do contentor de armazenamento na conta de armazenamento automático. As propriedades autoStorageContainerName, storageContainerUrl e httpUrl são mutuamente exclusivas e uma delas deve ser especificada.

blobPrefix

string

O prefixo de blob a ser usado ao baixar blobs de um contêiner de Armazenamento do Azure. Somente os blobs cujos nomes começam com o prefixo especificado serão baixados. A propriedade é válida somente quando autoStorageContainerName ou storageContainerUrl é usado. Esse prefixo pode ser um nome de arquivo parcial ou um subdiretório. Se um prefixo não for especificado, todos os arquivos no contêiner serão baixados.

fileMode

string

O atributo file permission mode em formato octal. Esta propriedade aplica-se apenas a ficheiros descarregados para os Nós de Computação Linux. Será ignorado se for especificado para um resourceFile que será descarregado para um Nó de Computação do Windows. Se esta propriedade não for especificada para um Nó de Computação Linux, então é aplicado um valor padrão de 0770 ao ficheiro.

filePath

string

A localização no Nó de Computação para onde descarregar o(s) ficheiro(s), relativa ao diretório de trabalho da Tarefa. Se a propriedade httpUrl for especificada, o filePath será necessário e descreverá o caminho para o qual o arquivo será baixado, incluindo o nome do arquivo. Caso contrário, se a propriedade autoStorageContainerName ou storageContainerUrl for especificada, filePath será opcional e será o diretório para o qual os arquivos serão baixados. No caso em que filePath é usado como um diretório, qualquer estrutura de diretório já associada aos dados de entrada será mantida na íntegra e anexada ao diretório filePath especificado. O caminho relativo especificado não pode sair do diretório de trabalho da Tarefa (por exemplo, usando '..').

httpUrl

string (uri)

O URL do ficheiro a transferir. As propriedades autoStorageContainerName, storageContainerUrl e httpUrl são mutuamente exclusivas e uma delas deve ser especificada. Se a URL apontar para o Armazenamento de Blobs do Azure, ela deverá ser legível a partir dos nós de computação. Há três maneiras de obter essa URL para um blob no armazenamento do Azure: incluir uma Assinatura de Acesso Compartilhado (SAS) concedendo permissões de leitura no blob, usar uma identidade gerenciada com permissão de leitura ou definir a ACL para o blob ou seu contêiner para permitir acesso público.

identityReference

BatchNodeIdentityReference

A referência à identidade atribuída pelo utilizador para aceder ao Azure Blob Storage especificada por storageContainerUrl ou httpUrl.

storageContainerUrl

string (uri)

A URL do contêiner de blob no Armazenamento de Blob do Azure. As propriedades autoStorageContainerName, storageContainerUrl e httpUrl são mutuamente exclusivas e uma delas deve ser especificada. Este URL deve ser legível e listável a partir de nós de computação. Há três maneiras de obter essa URL para um contêiner no armazenamento do Azure: incluir uma SAS (Assinatura de Acesso Compartilhado) concedendo permissões de leitura e lista no contêiner, usar uma identidade gerenciada com permissões de leitura e lista ou definir a ACL do contêiner para permitir acesso público.

UserIdentity

A definição da identidade do usuário sob a qual a Tarefa é executada. Especifique a propriedade userName ou autoUser, mas não ambas.

Name Tipo Description
autoUser

AutoUserSpecification

O utilizador automático sob o qual a Tarefa é executada. As propriedades userName e autoUser são mutuamente exclusivas; você deve especificar um, mas não ambos.

username

string

O nome da identidade do utilizador sob a qual a Tarefa é executada. As propriedades userName e autoUser são mutuamente exclusivas; você deve especificar um, mas não ambos.