Partilhar via


Variáveis de ambiente de tempo de execução do Azure Batch

O serviço Batch do Azure define as seguintes variáveis de ambiente em nós de computação. Você pode fazer referência a essas variáveis de ambiente nas linhas de comando da tarefa e nos programas e scripts executados pelas linhas de comando.

Para obter mais informações sobre como usar variáveis de ambiente com Batch, consulte Configurações de ambiente para tarefas.

Visibilidade variável do ambiente

Essas variáveis de ambiente são visíveis apenas no contexto do usuário da tarefa, que é a conta de usuário no nó sob o qual uma tarefa é executada. Você não verá essas variáveis ao se conectar remotamente a um nó de computação via RDP (Remote Desktop Protocol) ou SSH (Secure Shell) e listar variáveis de ambiente. Isso ocorre porque a conta de usuário usada para conexão remota não é a mesma que a conta usada pela tarefa.

Para obter o valor atual de uma variável de ambiente, inicie cmd.exe em um nó de computação do Windows ou /bin/sh em um nó Linux:

cmd /c set <ENV_VARIABLE_NAME>

/bin/sh -c "printenv <ENV_VARIABLE_NAME>"

Expansão de linha de comando de variáveis de ambiente

As linhas de comando executadas por tarefas em nós de computação não são executadas sob um shell. Isso significa que essas linhas de comando não podem usar nativamente recursos de shell, como expansão de variável de ambiente (incluindo o PATH). Para usar esses recursos, você deve invocar o shell na linha de comando. Por exemplo, inicie cmd.exe em nós de computação do Windows ou /bin/sh em nós do Linux:

cmd /c MyTaskApplication.exe %MY_ENV_VAR%

/bin/sh -c "MyTaskApplication $MY_ENV_VAR"

Variáveis de ambiente

Observação

AZ_BATCH_AUTHENTICATION_TOKEN está preterido e será aposentado em 30 de setembro de 2024. Consulte o anúncio para obter detalhes e implementação alternativa.

Nome da variável Descrição Disponibilidade Exemplo
AZ_BATCH_ACCOUNT_NAME O nome da conta Batch à qual a tarefa pertence. Todas as tarefas. mybatchaccount
AZ_BATCH_ACCOUNT_URL URL da conta do Batch. Todas as tarefas. https://myaccount.westus.batch.azure.com
AZ_BATCH_APP_PACKAGE Um prefixo de todas as variáveis de ambiente do pacote do aplicativo. Por exemplo, se o aplicativo "FOO" versão "1" estiver instalado em um pool, a variável de ambiente será AZ_BATCH_APP_PACKAGE_FOO_1 (no Linux) ou AZ_BATCH_APP_PACKAGE_FOO#1 (no Windows). AZ_BATCH_APP_PACKAGE_FOO_1 aponta para o local em que o pacote foi baixado (uma pasta). Ao usar a versão padrão do pacote do aplicativo, use a variável de ambiente AZ_BATCH_APP_PACKAGE sem os números de versão. Se no Linux, e o nome do pacote do aplicativo é "Agent-linux-x64" e a versão é "1.1.46.0, o nome do ambiente é, na verdade: AZ_BATCH_APP_PACKAGE_agent_linux_x64_1_1_46_0, usando sublinhados e minúsculas. Para obter mais informações, consulte Executar os aplicativos instalados para obter mais detalhes. Qualquer tarefa com um pacote de aplicativo associado. Também disponível para todas as tarefas, caso o próprio nó tenha pacotes de aplicações. AZ_BATCH_APP_PACKAGE_FOO_1 (Linux) ou AZ_BATCH_APP_PACKAGE_FOO#1 (Windows)
AZ_BATCH_AUTHENTICATION_TOKEN Um token de autenticação que concede acesso a um conjunto limitado de operações de serviço em lote. Essa variável de ambiente só estará presente se authenticationTokenSettings for definida quando a tarefa for adicionada. O valor do token é usado nas APIs de lote como credenciais para criar um cliente de lote, como na API .NET BatchClient.Open(). O token não suporta rede privada. Todas as tarefas. Token de acesso OAuth2
AZ_BATCH_CERTIFICATES_DIR Um diretório dentro do diretório de trabalho da tarefa no qual os certificados são armazenados para nós de computação do Linux. Esta variável de ambiente não se aplica aos nós de computação do Windows. Todas as tarefas. /mnt/batch/tasks/workitems/batchjob001/job-1/task001/certificados
AZ_BATCH_LISTA_DE_HOSPEDEIROS A lista de nós alocados para uma tarefa de várias instâncias no formato nodeIP,nodeIP. Tarefas primárias e subtarefas de várias instâncias. 10.0.0.4,10.0.0.5
AZ_BATCH_IS_CURRENT_NODE_MASTER Especifica se o nó atual é o nó mestre para uma tarefa de várias instâncias. Os valores possíveis são true e false. Tarefas primárias e subtarefas de várias instâncias. true
AZ_BATCH_JOB_ID A ID do trabalho ao qual a tarefa pertence. Todas as tarefas, exceto iniciar tarefa. batchjob001
AZ_BATCH_JOB_PREP_DIR O caminho completo do diretório de tarefas de preparação de trabalho no nó. Todas as tarefas, exceto tarefa de início e tarefa de preparação. Disponível apenas se o trabalho estiver configurado com uma tarefa de preparação de trabalho. AZ_BATCH_JOB_PREP_DIR
Diretório de Trabalho de Preparação do Job AZ_BATCH O caminho completo do diretório de trabalho da tarefa de preparação de trabalho no nó. Todas as tarefas, exceto tarefa de início e tarefa de preparação. Disponível apenas se o trabalho estiver configurado com uma tarefa de preparação de trabalho. AZ_BATCH_JOB_PREP_WORKING_DIR
AZ_BATCH_MASTER_NODE O endereço IP e a porta do nó de computação no qual a tarefa principal de uma tarefa de várias instâncias é executada. Não use a porta especificada aqui para comunicação MPI ou NCCL - ela está reservada para o serviço Azure Batch. Use a variável MASTER_PORT em vez disso, definindo-a com um valor passado através do argumento de linha de comando (a porta 6105 é uma boa opção padrão) ou usando o valor que AML define se fizer isso. Tarefas primárias e subtarefas de várias instâncias. 10.0.0.4:6000
AZ_BATCH_NODE_ID A ID do nó ao qual a tarefa está atribuída. Todas as tarefas. TVM-1219235766_3-20160919T172711Z
AZ_BATCH_NODE_IS_DEDICATED (Note: No change applied if considered a technical constant.) Se true, o nó atual é um nó dedicado. Se false, trata-se de um nó do Azure Spot. Todas as tarefas. true
AZ_BATCH_NODE_LIST A lista de nós alocados para uma tarefa de várias instâncias no formato nodeIP;nodeIP. Tarefas primárias e subtarefas de várias instâncias. 10.0.0.4;10.0.0.5
AZ_BATCH_NODE_MOUNTS_DIR O caminho completo do nível do nó onde está localizado o ponto de montagem do sistema de arquivos, em que residem todos os diretórios de montagem. As partilhas de ficheiros do Windows usam uma letra de unidade, por isso, para o Windows, a unidade montada faz parte dos dispositivos e unidades. Todas as tarefas, incluindo a tarefa inicial, têm acesso ao usuário, dado que o usuário está ciente das permissões de montagem para o diretório montado. AZ_BATCH_NODE_MOUNTS_DIR
AZ_BATCH_NODE_ROOT_DIR O caminho completo da raiz de todos os diretórios Batch no nó. Todas as tarefas. AZ_BATCH_NODE_ROOT_DIR
AZ_BATCH_NODE_SHARED_DIR O caminho completo do diretório compartilhado no nó. Todas as tarefas executadas em um nó têm acesso de leitura/gravação a esse diretório. As tarefas executadas em outros nós não têm acesso remoto a este diretório (não é um diretório de rede "compartilhado"). Todas as tarefas. AZ_BATCH_NODE_SHARED_DIR
AZ_BATCH_NODE_STARTUP_DIR O caminho completo do diretório da tarefa de início no nó. Todas as tarefas. AZ_BATCH_NODE_STARTUP_DIR
AZ_BATCH_POOL_ID A ID do pool no qual a tarefa está sendo executada. Todas as tarefas. batchpool001
AZ_BATCH_TASK_DIR O caminho completo do diretório de tarefas no nó. Este diretório contém o stdout.txt e stderr.txt para a tarefa e o AZ_BATCH_TASK_WORKING_DIR. Todas as tarefas. AZ_BATCH_TASK_DIR
AZ_BATCH_TASK_ID A ID da tarefa atual. Todas as tarefas, exceto iniciar tarefa. tarefa001
AZ_BATCH_TASK_SHARED_DIR Um caminho de diretório idêntico para a tarefa principal e cada subtarefa de uma tarefa de várias instâncias. O caminho existe em cada nó no qual a tarefa de várias instâncias é executada e é acessível para leitura/gravação para os comandos de tarefa em execução nesse nó (tanto o comando de coordenação quanto o comando de aplicativo. Subtarefas ou uma tarefa primária que é executada em outros nós não têm acesso remoto a este diretório (não é um diretório de rede "compartilhado"). Tarefas primárias e subtarefas de várias instâncias. AZ_BATCH_TASK_SHARED_DIR
AZ_BATCH_TASK_WORKING_DIR O caminho completo do diretório de trabalho da tarefa no nó. A tarefa em execução no momento tem acesso de leitura/gravação a este diretório. Todas as tarefas. AZ_BATCH_TASK_WORKING_DIR
AZ_BATCH_TASK_RESERVED_EPHEMERAL_DISK_SPACE_BYTES O limite atual de espaço em disco no qual a VM será marcada como DiskFull. Todas as tarefas. 1000000
CCP_NODES A lista dos nodos e do número de núcleos por nodo que estão alocados para uma tarefa de várias instâncias. Os nós e núcleos são listados no formato numNodes<space>node1IP<space>node1Cores<space>
node2IP<space>node2Cores<space> ..., onde o número de nós é seguido por um ou mais endereços IP e pelo número de núcleos para cada um deles.
Tarefas primárias e subtarefas de várias instâncias. 2 10.0.0.4 1 10.0.0.5 1

Importante

Os valores exatos para caminhos para variáveis de ambiente são considerados detalhes de implementação e estão sujeitos a alterações. Use as variáveis de ambiente fornecidas em lote em vez de tentar construir representações de caminho bruto.

A tabela a seguir especifica os valores de cada variável de ambiente valor postfix após o valor AZ_BATCH_NODE_ROOT_DIR, consulte AZ_BATCH_NODE_ROOT_DIR para obter mais informações.

Nome da Variável de Ambiente Diretório de Valor da Variável de Ambiente Postfix
AZ_BATCH_NODE_STARTUP_DIR startup
AZ_BATCH_NODE_SHARED_DIR shared
AZ_BATCH_NODE_MOUNTS_DIR fsmounts

Os diretórios de tarefas são diferentes entre tarefa de execução única e programação de tarefas. A tabela a seguir especifica os valores do diretório de tarefas em trabalho de execução única e agendamento de trabalho.

Tipo de trabalho Postfix de valor do diretório de tarefas após AZ_BATCH_NODE_ROOT_DIR
Tarefa workitems\{job name}\job-1
Cronograma de Trabalhos workitems\{job schedule name}\{job name}

A tabela a seguir especifica os valores de cada variável de ambiente valor postfix após o diretório de tarefas.

Nome da Variável de Ambiente Valor da variável de ambiente do diretório Postfix após o diretório de trabalho
AZ_BATCH_TASK_WORKING_DIR {task name}\wd
AZ_BATCH_TASK_DIR {task name}
AZ_BATCH_TASK_SHARED_DIR {task name}
AZ_BATCH_JOB_PREP_DIR {job prepration task name}
Diretório de Trabalho de Preparação do Job AZ_BATCH {job prepration task name}\wd

Próximos passos