Compartilhar via


BatchTaskCreateOptions interface

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

Propriedades

affinityInfo

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

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

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

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://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

constraints

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

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

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

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

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

exitConditions

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

id

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

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.

outputFiles

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

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

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

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.

Detalhes da propriedade

affinityInfo

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.

affinityInfo?: BatchAffinityInfo

Valor da propriedade

applicationPackageReferences

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á.

applicationPackageReferences?: BatchApplicationPackageReference[]

Valor da propriedade

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.

authenticationTokenSettings?: AuthenticationTokenSettings

Valor da propriedade

commandLine

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://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

commandLine: string

Valor da propriedade

string

constraints

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.

constraints?: BatchTaskConstraints

Valor da propriedade

containerSettings

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.

containerSettings?: BatchTaskContainerSettings

Valor da propriedade

dependsOn

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.

dependsOn?: BatchTaskDependencies

Valor da propriedade

displayName

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.

displayName?: string

Valor da propriedade

string

environmentSettings

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

environmentSettings?: EnvironmentSetting[]

Valor da propriedade

exitConditions

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

exitConditions?: ExitConditions

Valor da propriedade

id

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).

id: string

Valor da propriedade

string

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.

multiInstanceSettings?: MultiInstanceSettings

Valor da propriedade

outputFiles

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.

outputFiles?: OutputFile[]

Valor da propriedade

requiredSlots

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.

requiredSlots?: number

Valor da propriedade

number

resourceFiles

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.

resourceFiles?: ResourceFile[]

Valor da propriedade

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.

userIdentity?: UserIdentity

Valor da propriedade