Compartilhar via


Task - Add

Adiciona uma tarefa ao trabalho especificado.
O tempo de vida máximo de uma Tarefa desde a adição até a conclusão é de 180 dias. Se uma tarefa não tiver sido concluída no prazo de 180 dias após ser adicionada, ela será encerrada pelo serviço do Lote e deixada em qualquer estado em que estava naquele momento.

POST {batchUrl}/jobs/{jobId}/tasks?api-version=2024-07-01.20.0
POST {batchUrl}/jobs/{jobId}/tasks?timeout={timeout}&api-version=2024-07-01.20.0

Parâmetros de URI

Nome Em Obrigatório Tipo Description
batchUrl
path True

string

A URL base para todas as solicitações de serviço do Lote do Azure.

jobId
path True

string

A ID do trabalho ao qual a Tarefa deve ser adicionada.

api-version
query True

string

Versão da API do cliente.

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 maior que 30, o padrão será usado.

Cabeçalho da solicitação

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

Nome Obrigatório Tipo Description
client-request-id

string

uuid

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

return-client-request-id

boolean

Se o servidor deve retornar a ID de solicitação do cliente na resposta.

ocp-date

string

date-time-rfc1123

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

Corpo da solicitação

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

Nome Obrigatório Tipo Description
commandLine True

string

A linha de comando da Tarefa.
Para tarefas de várias instâncias, a linha de comando é executada como a Tarefa primária, depois que a Tarefa primária e todas as subtarefas terminarem de executar a linha de comando de coordenação. A linha de comando não é executada em um shell e, portanto, não pode aproveitar os recursos do shell, como expansão de variável de ambiente. Se quiser aproveitar esses recursos, invoque 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 da Tarefa) ou usar a variável de ambiente fornecida pelo Lote (https://docs.microsoft.com/azure/batch/batch-compute-node-environment-variables).

id True

string

Uma cadeia de caracteres que identifica exclusivamente a Tarefa no Trabalho.
A ID pode conter qualquer combinação de caracteres alfanuméricos, incluindo hifens e sublinhados, e não pode conter mais de 64 caracteres. A ID não diferencia maiúsculas de minúsculas e maiúsculas de minúsculas (ou seja, você pode não ter duas IDs em um trabalho que diferem apenas por caso).

affinityInfo

AffinityInformation

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

applicationPackageReferences

ApplicationPackageReference[]

Uma lista de pacotes que o serviço do Lote implantará no Nó de Computação antes de executar a linha de comando.
Os pacotes de aplicativos são baixados e implantados em um diretório compartilhado, não no diretório de trabalho da Tarefa. Portanto, se um pacote referenciado já estiver no Nó e estiver atualizado, ele não será baixado novamente; a cópia existente no Nó de Computação é usada. Se um Pacote referenciado não puder ser instalado, por exemplo, porque o pacote foi excluído ou porque o download falhou, a Tarefa falhará.

authenticationTokenSettings

AuthenticationTokenSettings

As configurações de um token de autenticação que a Tarefa pode usar para executar operações de serviço do Lote.
Se essa propriedade estiver definida, o serviço lote fornecerá à Tarefa um token de autenticação que pode ser usado para autenticar operações de serviço do Lote sem a necessidade de uma chave de acesso da conta. O token é fornecido por meio da variável de ambiente AZ_BATCH_AUTHENTICATION_TOKEN. As operações que a Tarefa pode realizar usando o token dependem das configurações. Por exemplo, uma Tarefa pode solicitar permissões de trabalho para adicionar outras Tarefas ao Trabalho ou verificar o status do Trabalho ou de outras Tarefas no Trabalho.

constraints

TaskConstraints

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

containerSettings

TaskContainerSettings

As configurações do contêiner no qual a Tarefa é executada.
Se o Pool que executará essa Tarefa tiver containerConfiguration definido, isso também deverá ser definido. Se o Pool que executará essa Tarefa não tiver containerConfiguration definido, isso não deverá ser definido. Quando isso é especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz dos diretórios do Lote do Azure no nó) são mapeados para o contêiner, todas as variáveis de ambiente de tarefa são mapeadas para o contêiner e a linha de comando Tarefa é executada no contêiner. Os arquivos produzidos no contêiner fora de AZ_BATCH_NODE_ROOT_DIR podem não ser refletidos no disco do host, o que significa que as APIs de arquivo do Lote não poderão acessar esses arquivos.

dependsOn

TaskDependencies

As tarefas das quais essa Tarefa depende.
Essa Tarefa não será agendada até que todas as tarefas das quais ela depende tenham sido concluídas com êxito. Se qualquer uma dessas Tarefas falhar e esgotar suas contagens de repetição, essa Tarefa nunca será agendada. Se o Trabalho não tiver usesTaskDependencies definido como true e esse elemento estiver presente, a solicitação falhará com o código de erro TaskDependenciesNotSpecifiedOnJob.

displayName

string

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

environmentSettings

EnvironmentSetting[]

Uma lista de configurações de variável de ambiente para a Tarefa.

exitConditions

ExitConditions

Especifica como o serviço do Lote deve responder quando a Tarefa for concluída.
Como o serviço do Lote deve responder quando a Tarefa for concluída.

multiInstanceSettings

MultiInstanceSettings

Um objeto que indica que a Tarefa é uma Tarefa de várias instâncias e contém informações sobre como executar a Tarefa de várias instâncias.
Tarefas de várias instâncias geralmente são usadas para dar suporte a Tarefas de MPI. No caso do MPI, se alguma 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á. Em seguida, a Tarefa de várias instâncias é encerrada e repetida, até o limite de repetição.

outputFiles

OutputFile[]

Uma lista de arquivos que o serviço do Lote carregará do Nó de Computação depois de executar a linha de comando.
Para tarefas de várias instâncias, os arquivos serão carregados apenas do Nó de Computação no qual a Tarefa primária é executada.

requiredSlots

integer

O número de slots de agendamento necessários para execução da Tarefa.
O padrão é 1. Uma tarefa só poderá ser agendada para ser executada em um nó de computação se o nó tiver slots de agendamento gratuitos suficientes disponíveis. Para tarefas de várias instâncias, isso deve ser 1.

resourceFiles

ResourceFile[]

Uma lista de arquivos que o serviço do Lote baixará no Nó de Computação antes de executar a linha de comando.
Para tarefas de várias instâncias, os arquivos de recurso serão baixados apenas para o Nó de Computação no qual a Tarefa primária é executada. Há um tamanho máximo para a lista de arquivos de recurso. 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 deverá ser reduzida em tamanho. Isso pode ser feito usando arquivos .zip, pacotes de aplicativos ou contêineres do Docker.

userIdentity

UserIdentity

A identidade do usuário sob a qual a Tarefa é executada.
Se omitido, a Tarefa será executada como um usuário não administrativo exclusivo para a Tarefa.

Respostas

Nome Tipo Description
201 Created

A solicitação para o serviço do Lote foi bem-sucedida.

Cabeçalhos

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

BatchError

O erro do serviço do Lote.

Segurança

azure_auth

Fluxo de código de autenticação do Microsoft Entra OAuth 2.0

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

Escopos

Nome Description
user_impersonation Representar sua conta de usuário

Authorization

Tipo: apiKey
Em: header

Exemplos

Add a basic task
Add a container task with container data isolation
Add a container task with container data isolation bad request duplicate sources
Add a task with container settings
Add a task with exit conditions
Add a task with extra slot requirement

Add a basic task

Solicitação de exemplo

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



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

Resposta de exemplo

Add a container task with container data isolation

Solicitação de exemplo

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



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

Resposta de exemplo

Add a container task with container data isolation bad request duplicate sources

Solicitação de exemplo

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "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 de exemplo

Add a task with container settings

Solicitação de exemplo

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



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

Resposta de exemplo

Add a task with exit conditions

Solicitação de exemplo

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



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

Resposta de exemplo

Add a task with extra slot requirement

Solicitação de exemplo

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



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

Resposta de exemplo

Definições

Nome Description
AccessScope

Os recursos do Lote aos quais o token concede acesso.

AffinityInformation

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

ApplicationPackageReference

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

AuthenticationTokenSettings

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

AutoUserScope

O escopo do usuário automático

AutoUserSpecification

Especifica os parâmetros para o usuário automático que executa uma Tarefa no serviço do Lote.

BatchError

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

BatchErrorDetail

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

ComputeNodeIdentityReference

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

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 de contêiner.

ContainerRegistry

Um registro de contêiner privado.

ContainerWorkingDirectory

O local do diretório de trabalho da Tarefa de contêiner.

DependencyAction

Uma ação que o serviço lote executa em Tarefas que dependem dessa Tarefa.

ElevationLevel

O nível de elevação do usuário.

EnvironmentSetting

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

ErrorMessage

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

ExitCodeMapping

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

ExitCodeRangeMapping

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

ExitConditions

Especifica como o serviço do Lote deve responder quando a Tarefa for concluída.

ExitOptions

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

HttpHeader

Um par nome-valor de cabeçalho HTTP

JobAction

Uma ação a ser executada no trabalho que contém a Tarefa, se a Tarefa for concluída com a condição de saída fornecida e a propriedade onTaskFailed do Trabalho for 'performExitOptionsJobAction'.

MultiInstanceSettings

Configurações que especificam como executar uma Tarefa de várias instâncias.

OutputFile

Uma especificação para carregar arquivos de um Nó de Computação em Lote do Azure para outro local depois que o serviço do Lote terminar de executar o processo tarefa.

OutputFileBlobContainerDestination

Especifica um destino de upload de arquivo em um contêiner de armazenamento de blobs do Azure.

OutputFileDestination

O destino para o qual um arquivo deve ser carregado.

OutputFileUploadCondition

As condições sob as quais um arquivo de saída da tarefa ou um conjunto de arquivos deve ser carregado.

OutputFileUploadOptions

Detalhes sobre uma operação de upload de arquivo de saída, inclusive sob quais condições executar o upload.

ResourceFile

Um único arquivo ou vários arquivos a serem baixados em um Nó de Computação.

TaskAddParameter

Uma Tarefa do Lote do Azure a ser adicionada.

TaskConstraints

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

TaskContainerSettings

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

TaskDependencies

Especifica as 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.

TaskIdRange

Um intervalo de IDs de tarefa das quais uma tarefa pode depender. Todas as tarefas com IDs no intervalo devem ser concluídas com êxito antes que a Tarefa dependente possa ser agendada.

UserIdentity

A definição da identidade do usuário na qual a Tarefa é executada.

AccessScope

Os recursos do Lote aos quais o token concede acesso.

Nome Tipo Description
job

string

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

AffinityInformation

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

Nome Tipo Description
affinityId

string

Uma cadeia de caracteres opaca que representa o local de um Nó de Computação ou de uma Tarefa executada anteriormente.
Você pode passar a affinityId de um nó para indicar que essa Tarefa precisa ser executada nesse nó de computação. Observe que isso é 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.

ApplicationPackageReference

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

Nome Tipo Description
applicationId

string

A ID do aplicativo a ser implantado.
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 isso for omitido em um Pool e nenhuma versão padrão for especificada para este aplicativo, a solicitação falhará com o código de erro InvalidApplicationPackageReferences e o código de status HTTP 409. Se isso for omitido em uma Tarefa e nenhuma versão padrão for especificada para este aplicativo, a Tarefa falhará com um erro de pré-processamento.

AuthenticationTokenSettings

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

Nome Tipo Description
access

AccessScope[]

Os recursos do Lote aos quais o token concede acesso.
O token de autenticação concede acesso a um conjunto limitado de operações de serviço do Lote. Atualmente, o único valor com suporte para a propriedade de acesso é 'job', que concede acesso a todas as operações relacionadas ao Trabalho que contém a Tarefa.

AutoUserScope

O escopo do usuário automático

Nome Tipo Description
pool

string

Especifica que a Tarefa é executada como a conta de usuário automático comum que é criada em cada nó de computação em um pool.

task

string

Especifica que o serviço deve criar um novo usuário para a Tarefa.

AutoUserSpecification

Especifica os parâmetros para o usuário automático que executa uma Tarefa no serviço do Lote.

Nome Tipo Description
elevationLevel

ElevationLevel

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

scope

AutoUserScope

O escopo do usuário automático
O valor padrão é pool. Se o pool estiver executando o Windows, um valor de Tarefa deverá ser especificado se for necessário um isolamento mais rigoroso entre as tarefas. Por exemplo, se a tarefa alterar o registro de uma maneira que possa afetar outras tarefas ou se os certificados tiverem sido especificados no pool, que não devem ser acessíveis por tarefas normais, mas devem ser acessíveis pelo StartTasks.

BatchError

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

Nome Tipo Description
code

string

Um identificador para o erro. Os códigos são invariáveis e devem ser consumidos programaticamente.

message

ErrorMessage

Uma mensagem que descreve 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.

Nome Tipo Description
key

string

Um identificador que especifica o significado da propriedade Value.

value

string

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

ComputeNodeIdentityReference

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

Nome Tipo Description
resourceId

string

A ID de recurso do ARM da identidade atribuída pelo usuário.

ContainerHostBatchBindMountEntry

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

Nome Tipo Description
isReadOnly

boolean

Monte esse caminho de origem como modo somente leitura ou não. O valor padrão é falso (modo de leitura/gravação).
Para o 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, isso 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 modificar o caminho.

source

ContainerHostDataPath

O caminho que será montado no cliente do contêiner pode ser selecionado.

ContainerHostDataPath

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

Nome Tipo Description
Applications

string

O caminho dos aplicativos.

JobPrep

string

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

Shared

string

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

Startup

string

O caminho para iniciar a tarefa.

Task

string

O caminho da tarefa.

VfsMounts

string

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

ContainerRegistry

Um registro de contêiner privado.

Nome Tipo Description
identityReference

ComputeNodeIdentityReference

A referência à identidade atribuída pelo usuário a ser usada para acessar um Registro de Contêiner do Azure em vez de nome de usuário e senha.
A referência a uma identidade atribuída pelo usuário associada ao pool do Lote que um nó de computação usará.

password

string

A senha para fazer logon no servidor do Registro.

registryServer

string

A URL do Registro.
Se omitido, o padrão será "docker.io".

username

string

O nome de usuário a ser conectado ao servidor do Registro.

ContainerWorkingDirectory

O local do diretório de trabalho da Tarefa de contêiner.

Nome Tipo Description
containerImageDefault

string

Use o diretório de trabalho definido na imagem do contêiner. Cuidado para que esse diretório não contenha os Arquivos de Recursos baixados pelo Lote.

taskWorkingDirectory

string

Use o diretório de trabalho da Tarefa de Serviço do Lote padrão, que conterá os Arquivos de Recurso de Tarefa preenchidos pelo Lote.

DependencyAction

Uma ação que o serviço lote executa em Tarefas que dependem dessa Tarefa.

Nome Tipo Description
block

string

Bloqueia as tarefas que aguardam essa tarefa, impedindo que elas sejam agendadas.

satisfy

string

Satisfazer tarefas aguardando essa tarefa; depois que todas as dependências forem atendidas, a tarefa será agendada para ser executada.

ElevationLevel

O nível de elevação do usuário.

Nome Tipo Description
admin

string

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

nonadmin

string

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

EnvironmentSetting

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

Nome Tipo Description
name

string

O nome da variável de ambiente.

value

string

O valor da variável de ambiente.

ErrorMessage

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

Nome Tipo Description
lang

string

O código de idioma da mensagem de erro

value

string

O texto da mensagem.

ExitCodeMapping

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

Nome Tipo Description
code

integer

Um código de saída do processo.

exitOptions

ExitOptions

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

ExitCodeRangeMapping

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

Nome Tipo Description
end

integer

O último código de saída no intervalo.

exitOptions

ExitOptions

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

start

integer

O primeiro código de saída no intervalo.

ExitConditions

Especifica como o serviço do Lote deve responder quando a Tarefa for concluída.

Nome Tipo Description
default

ExitOptions

Como o serviço lote deve responder se a Tarefa falhar com uma condição de saída não coberta por nenhuma das outras propriedades.
Esse valor será usado se a Tarefa sair com qualquer código de saída diferente de zero não 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 upload de arquivo se a propriedade fileUploadError não estiver presente. Se você quiser um comportamento não padrão no código de saída 0, deverá listá-lo explicitamente usando a coleção exitCodes ou exitCodeRanges.

exitCodeRanges

ExitCodeRangeMapping[]

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

exitCodes

ExitCodeMapping[]

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

fileUploadError

ExitOptions

Como o serviço do Lote deve responder se ocorrer um erro de upload de arquivo.
Se a Tarefa foi encerrada com um código de saída especificado por meio de exitCodes ou exitCodeRanges e, em seguida, encontrou um erro de upload de arquivo, a ação especificada pelo código de saída terá precedência.

preProcessingError

ExitOptions

Como o serviço lote deve responder se a Tarefa não for iniciada devido a um erro.

ExitOptions

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

Nome Tipo Description
dependencyAction

DependencyAction

Uma ação que o serviço lote executa em Tarefas que dependem dessa Tarefa.
Os valores possíveis são 'satisfação' (permitindo que tarefas dependentes progridam) e 'bloquear' (as tarefas dependentes continuam aguardando). O Lote ainda não dá suporte ao cancelamento de tarefas dependentes.

jobAction

JobAction

Uma ação a ser executada no trabalho que contém a Tarefa, se a Tarefa for concluída com a condição de saída fornecida e a propriedade onTaskFailed do Trabalho for 'performExitOptionsJobAction'.
O padrão não é nenhum para sair do código 0 e terminar para todas as outras condições de saída. Se a propriedade onTaskFailed do Trabalho for noaction, especificar essa propriedade retornará um erro e a solicitação adicionar Tarefa falhará com um erro de valor de propriedade inválido; se você estiver chamando a API REST diretamente, o código de status HTTP será 400 (Solicitação Incorreta).

HttpHeader

Um par nome-valor de cabeçalho HTTP

Nome Tipo Description
name

string

O nome que não diferencia maiúsculas de minúsculas do cabeçalho a ser usado durante o carregamento de arquivos de saída

value

string

O valor do cabeçalho a ser usado durante o carregamento de arquivos de saída

JobAction

Uma ação a ser executada no trabalho que contém a Tarefa, se a Tarefa for concluída com a condição de saída fornecida e a propriedade onTaskFailed do Trabalho for 'performExitOptionsJobAction'.

Nome Tipo Description
disable

string

Desabilite o trabalho. Isso é equivalente a chamar a API de desabilitação do Trabalho, com um valor de desabilitação de tarefas de requeue.

none

string

Não faça nenhuma ação.

terminate

string

Encerre o trabalho. O terminateReason no executionInfo do trabalho é definido como "TaskFailed".

MultiInstanceSettings

Configurações que especificam como executar uma Tarefa de várias instâncias.

Nome Tipo Description
commonResourceFiles

ResourceFile[]

Uma lista de arquivos que o serviço do Lote baixará antes de executar a linha de comando de coordenação.
A diferença entre arquivos de recurso comuns e arquivos de recurso de tarefa é que os arquivos de recurso comuns são baixados para todas as subtarefas, incluindo a primária, enquanto os arquivos de recurso de tarefa são baixados apenas para o primário. Observe também que esses arquivos de recurso não são baixados para o diretório de trabalho da Tarefa, mas, em vez disso, são baixados para o diretório raiz da tarefa (um diretório acima do diretório de trabalho). Há um tamanho máximo para a lista de arquivos de recurso. 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 deverá ser reduzida em tamanho. Isso pode ser feito usando arquivos .zip, pacotes de aplicativos ou contêineres do Docker.

coordinationCommandLine

string

A linha de comando a ser executada em todos os Nós de Computação para permitir que eles coordenem quando o principal executa o comando Tarefa principal.
Uma linha de comando de coordenação típica inicia um serviço em segundo plano e verifica se o serviço está pronto para processar mensagens entre nós.

numberOfInstances

integer

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

OutputFile

Uma especificação para carregar arquivos de um Nó de Computação em Lote do Azure para outro local depois que o serviço do Lote terminar de executar o processo tarefa.

Nome Tipo Description
destination

OutputFileDestination

O destino dos arquivos de saída.

filePattern

string

Um padrão que indica quais arquivos serão carregados.
Há suporte para caminhos relativos e absolutos. Os caminhos relativos são relativos ao diretório de trabalho da Tarefa. Há suporte para os seguintes curingas: * corresponde a 0 ou mais caracteres (por exemplo, padrão abc* corresponderia a abc ou abcdef), ** corresponde a qualquer diretório? corresponde a qualquer caractere único, [abc] corresponde a um caractere entre colchetes e [a-c] corresponde a um caractere no intervalo. Colchetes podem incluir uma negação para corresponder a qualquer caractere não especificado (por exemplo, [!abc] corresponde a qualquer caractere, exceto a, b ou c). Se um nome de arquivo começar com "." ele é ignorado por padrão, mas pode ser correspondido especificando-o explicitamente (por exemplo, .gif não corresponderá .a.gif, mas ..gif fará). Um exemplo simples: ***.txt corresponde a qualquer arquivo que não seja iniciado em '.' e termina com .txt no diretório de trabalho da Tarefa ou em qualquer subdiretório. Se o nome do arquivo contiver um caractere curinga, ele poderá ser escapado usando colchetes (por exemplo, abc[] corresponderia a um arquivo chamado abc). Observe que \ e /são tratados como separadores de diretório no Windows, mas apenas /está no Linux. As variáveis de ambiente (%var% no Windows ou $var no Linux) são expandidas antes do padrão ser aplicado.

uploadOptions

OutputFileUploadOptions

Opções adicionais para a operação de upload, incluindo sob quais condições executar o upload.

OutputFileBlobContainerDestination

Especifica um destino de upload de arquivo em um contêiner de armazenamento de blobs do Azure.

Nome Tipo Description
containerUrl

string

A URL do contêiner no Armazenamento de Blobs do Azure para o qual carregar os arquivos.
Se não estiver usando uma identidade gerenciada, a URL deverá incluir uma SAS (Assinatura de Acesso Compartilhado) concedendo permissões de gravação ao contêiner.

identityReference

ComputeNodeIdentityReference

A referência à identidade atribuída pelo usuário a ser usada para acessar o Armazenamento de Blobs do Azure especificado pelo containerUrl
A identidade deve ter acesso de gravação ao contêiner do Armazenamento de Blobs do Azure

path

string

O blob de destino ou o diretório virtual dentro do contêiner do Armazenamento do Azure.
Se filePattern se referir a um arquivo específico (ou seja, não contém curingas), o caminho será o nome do blob para o qual carregar esse arquivo. Se filePattern contiver um ou mais curingas (e, portanto, podem corresponder a vários arquivos), o caminho será o nome do diretório virtual do blob (que é pré-anexado a cada nome de blob) para o qual carregar os arquivos. Se omitido, os arquivos serão carregados na raiz do contêiner com um nome de blob correspondente ao nome do arquivo.

uploadHeaders

HttpHeader[]

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

OutputFileDestination

O destino para o qual um arquivo deve ser carregado.

Nome Tipo Description
container

OutputFileBlobContainerDestination

Um local no armazenamento de blobs do Azure para o qual os arquivos são carregados.

OutputFileUploadCondition

As condições sob as quais um arquivo de saída da tarefa ou um conjunto de arquivos deve ser carregado.

Nome Tipo Description
taskcompletion

string

Carregue os arquivos após a saída do processo de tarefa, independentemente do código de saída.

taskfailure

string

Carregue os arquivos somente depois que o processo de Tarefa for encerrado com um código de saída diferente de zero.

tasksuccess

string

Carregue os arquivos somente depois que o processo de Tarefa for encerrado com um código de saída 0.

OutputFileUploadOptions

Detalhes sobre uma operação de upload de arquivo de saída, inclusive sob quais condições executar o upload.

Nome Tipo Description
uploadCondition

OutputFileUploadCondition

As condições sob as quais o arquivo de saída da tarefa ou o conjunto de arquivos devem ser carregados.
O padrão é taskcompletion.

ResourceFile

Um único arquivo ou vários arquivos a serem baixados em um Nó de Computação.

Nome Tipo Description
autoStorageContainerName

string

O nome do contêiner 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 do 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 de modo de permissão de arquivo no formato octal.
Essa propriedade se aplica somente aos arquivos que estão sendo baixados para nós de computação do Linux. Ele será ignorado se for especificado para um resourceFile que será baixado em um Nó de Computação do Windows. Se essa propriedade não for especificada para um Nó de Computação do Linux, um valor padrão de 0770 será aplicado ao arquivo.

filePath

string

O local no Nó de Computação para o qual baixar os arquivos em relação 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 baixar os arquivos. No caso em que o filePath é usado como um diretório, qualquer estrutura de diretório já associada aos dados de entrada será retida na íntegra e acrescentada 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

A URL do arquivo a ser baixado.
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 de nós de computação. Há três maneiras de obter essa URL para um blob no armazenamento do Azure: incluir uma SAS (Assinatura de Acesso Compartilhado) 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

ComputeNodeIdentityReference

A referência à identidade atribuída pelo usuário a ser usada para acessar o Armazenamento de Blobs do Azure especificado por storageContainerUrl ou httpUrl
A referência a uma identidade atribuída pelo usuário associada ao pool do Lote que um nó de computação usará.

storageContainerUrl

string

A URL do contêiner de blob no Armazenamento de Blobs do Azure.
As propriedades autoStorageContainerName, storageContainerUrl e httpUrl são mutuamente exclusivas e uma delas deve ser especificada. Essa URL deve ser legível e listável 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 para o contêiner para permitir acesso público.

TaskAddParameter

Uma Tarefa do Lote do Azure a ser adicionada.

Nome Tipo Description
affinityInfo

AffinityInformation

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

applicationPackageReferences

ApplicationPackageReference[]

Uma lista de pacotes que o serviço do Lote implantará no Nó de Computação antes de executar a linha de comando.
Os pacotes de aplicativos são baixados e implantados em um diretório compartilhado, não no diretório de trabalho da Tarefa. Portanto, se um pacote referenciado já estiver no Nó e estiver atualizado, ele não será baixado novamente; a cópia existente no Nó de Computação é usada. Se um Pacote referenciado não puder ser instalado, por exemplo, porque o pacote foi excluído ou porque o download falhou, a Tarefa falhará.

authenticationTokenSettings

AuthenticationTokenSettings

As configurações de um token de autenticação que a Tarefa pode usar para executar operações de serviço do Lote.
Se essa propriedade estiver definida, o serviço lote fornecerá à Tarefa um token de autenticação que pode ser usado para autenticar operações de serviço do Lote sem a necessidade de uma chave de acesso da conta. O token é fornecido por meio da variável de ambiente AZ_BATCH_AUTHENTICATION_TOKEN. As operações que a Tarefa pode realizar usando o token dependem das configurações. Por exemplo, uma Tarefa pode solicitar permissões de trabalho para adicionar outras Tarefas ao Trabalho ou verificar o status do Trabalho ou de outras Tarefas no Trabalho.

commandLine

string

A linha de comando da Tarefa.
Para tarefas de várias instâncias, a linha de comando é executada como a Tarefa primária, depois que a Tarefa primária e todas as subtarefas terminarem de executar a linha de comando de coordenação. A linha de comando não é executada em um shell e, portanto, não pode aproveitar os recursos do shell, como expansão de variável de ambiente. Se quiser aproveitar esses recursos, invoque 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 da Tarefa) ou usar a variável de ambiente fornecida pelo Lote (https://docs.microsoft.com/azure/batch/batch-compute-node-environment-variables).

constraints

TaskConstraints

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

containerSettings

TaskContainerSettings

As configurações do contêiner no qual a Tarefa é executada.
Se o Pool que executará essa Tarefa tiver containerConfiguration definido, isso também deverá ser definido. Se o Pool que executará essa Tarefa não tiver containerConfiguration definido, isso não deverá ser definido. Quando isso é especificado, todos os diretórios recursivamente abaixo do AZ_BATCH_NODE_ROOT_DIR (a raiz dos diretórios do Lote do Azure no nó) são mapeados para o contêiner, todas as variáveis de ambiente de tarefa são mapeadas para o contêiner e a linha de comando Tarefa é executada no contêiner. Os arquivos produzidos no contêiner fora de AZ_BATCH_NODE_ROOT_DIR podem não ser refletidos no disco do host, o que significa que as APIs de arquivo do Lote não poderão acessar esses arquivos.

dependsOn

TaskDependencies

As tarefas das quais essa Tarefa depende.
Essa Tarefa não será agendada até que todas as tarefas das quais ela depende tenham sido concluídas com êxito. Se qualquer uma dessas Tarefas falhar e esgotar suas contagens de repetição, essa Tarefa nunca será agendada. Se o Trabalho não tiver usesTaskDependencies definido como true e esse elemento estiver presente, a solicitação falhará com o código de erro TaskDependenciesNotSpecifiedOnJob.

displayName

string

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

environmentSettings

EnvironmentSetting[]

Uma lista de configurações de variável de ambiente para a Tarefa.

exitConditions

ExitConditions

Especifica como o serviço do Lote deve responder quando a Tarefa for concluída.
Como o serviço do Lote deve responder quando a Tarefa for concluída.

id

string

Uma cadeia de caracteres que identifica exclusivamente a Tarefa no Trabalho.
A ID pode conter qualquer combinação de caracteres alfanuméricos, incluindo hifens e sublinhados, e não pode conter mais de 64 caracteres. A ID não diferencia maiúsculas de minúsculas e maiúsculas de minúsculas (ou seja, você pode não ter duas IDs em um trabalho que diferem apenas por caso).

multiInstanceSettings

MultiInstanceSettings

Um objeto que indica que a Tarefa é uma Tarefa de várias instâncias e contém informações sobre como executar a Tarefa de várias instâncias.
Tarefas de várias instâncias geralmente são usadas para dar suporte a Tarefas de MPI. No caso do MPI, se alguma 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á. Em seguida, a Tarefa de várias instâncias é encerrada e repetida, até o limite de repetição.

outputFiles

OutputFile[]

Uma lista de arquivos que o serviço do Lote carregará do Nó de Computação depois de executar a linha de comando.
Para tarefas de várias instâncias, os arquivos serão carregados apenas do Nó de Computação no qual a Tarefa primária é executada.

requiredSlots

integer

O número de slots de agendamento necessários para execução da Tarefa.
O padrão é 1. Uma tarefa só poderá ser agendada para ser executada em um nó de computação se o nó tiver slots de agendamento gratuitos suficientes disponíveis. Para tarefas de várias instâncias, isso deve ser 1.

resourceFiles

ResourceFile[]

Uma lista de arquivos que o serviço do Lote baixará no Nó de Computação antes de executar a linha de comando.
Para tarefas de várias instâncias, os arquivos de recurso serão baixados apenas para o Nó de Computação no qual a Tarefa primária é executada. Há um tamanho máximo para a lista de arquivos de recurso. 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 deverá ser reduzida em tamanho. Isso pode ser feito usando arquivos .zip, pacotes de aplicativos ou contêineres do Docker.

userIdentity

UserIdentity

A identidade do usuário sob a qual a Tarefa é executada.
Se omitido, a Tarefa será executada como um usuário não administrativo exclusivo para a Tarefa.

TaskConstraints

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

Nome Tipo Description
maxTaskRetryCount

integer

O número máximo de vezes que a Tarefa pode ser repetida. O serviço do Lote tentará novamente uma Tarefa se o código de saída não for zero.
Observe que esse valor controla especificamente o número de repetições para o executável da Tarefa devido a um código de saída diferente de zero. O serviço lote tentará a Tarefa uma vez e poderá tentar novamente até esse limite. Por exemplo, se a contagem máxima de repetição for 3, o Lote tentará a Tarefa até 4 vezes (uma tentativa inicial e três tentativas). Se a contagem máxima de repetição for 0, o serviço do Lote não tentará novamente a Tarefa após a primeira tentativa. Se a contagem máxima de repetição for -1, o serviço do 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 novas tentativas).

maxWallClockTime

string

O tempo máximo decorrido que a Tarefa pode executar, medido a partir do momento em que a Tarefa é iniciada. Se a Tarefa não for concluída dentro do limite de tempo, o serviço do Lote a encerrará.
Se isso não for especificado, não haverá limite de tempo para a execução da Tarefa.

retentionTime

string

O tempo mínimo para manter o diretório Tarefa no Nó de Computação em que ele foi executado, a partir do momento em que ele conclui a execução. Após esse tempo, o serviço do Lote poderá excluir o diretório tarefa e todo o seu conteúdo.
O padrão é 7 dias, ou seja, o diretório tarefa será mantido por 7 dias, a menos que o Nó de Computação seja removido ou o Trabalho seja excluído.

TaskContainerSettings

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

Nome Tipo Description
containerHostBatchBindMounts

ContainerHostBatchBindMountEntry[]

Os caminhos que você deseja montar na 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 de criação de contêiner.
Essas opções adicionais são fornecidas como argumentos para o comando "docker create", além das controladas pelo Serviço de Lote.

imageName

string

A imagem a ser usada para criar o contêiner no qual a Tarefa será executada.
Essa é a referência de imagem completa, como seria especificado para "docker pull". Se nenhuma marca for fornecida como parte do nome da imagem, a marca ":latest" será usada como padrão.

registry

ContainerRegistry

O registro privado que contém a imagem do contêiner.
Essa configuração poderá ser omitida se já tiver sido fornecida na criação do Pool.

workingDirectory

ContainerWorkingDirectory

O local do diretório de trabalho da Tarefa de contêiner.
O padrão é 'taskWorkingDirectory'.

TaskDependencies

Especifica as 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.

Nome Tipo Description
taskIdRanges

TaskIdRange[]

A lista de intervalos de ID de tarefa dos quais essa Tarefa depende. Todas as tarefas em todos os intervalos devem ser concluídas com êxito antes que a Tarefa dependente possa ser agendada.

taskIds

string[]

A lista de IDs de tarefa das quais essa Tarefa depende. Todas as tarefas nesta lista devem ser concluídas com êxito antes que a Tarefa dependente possa ser agendada.
A coleção taskIds é limitada a 64.000 caracteres no total (ou seja, o comprimento combinado de todas as IDs de Tarefa). Se a coleção taskIds exceder o comprimento máximo, a solicitação Adicionar Tarefa falhará com o código de erro TaskDependencyListTooLong. Nesse caso, considere usar intervalos de ID da tarefa.

TaskIdRange

Um intervalo de IDs de tarefa das quais uma tarefa pode depender. Todas as tarefas com IDs no intervalo devem ser concluídas com êxito antes que a Tarefa dependente possa ser agendada.

Nome Tipo Description
end

integer

A última ID da Tarefa no intervalo.

start

integer

A primeira ID da Tarefa no intervalo.

UserIdentity

A definição da identidade do usuário na qual a Tarefa é executada.

Nome Tipo Description
autoUser

AutoUserSpecification

O usuário automático no 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 usuário na qual a Tarefa é executada.
As propriedades userName e autoUser são mutuamente exclusivas; você deve especificar um, mas não ambos.