Compartilhar via


Variáveis de ambiente de runtime do Lote do Azure

O serviço Lote 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 em linhas de comando de tarefas e nos programas e scripts executados pelas linhas de comando.

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

Visibilidade da variável de 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ó no qual uma tarefa é executada. Você não verá essas variáveis ao se conectar remotamente a um nó de computação por meio do 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ó do Linux:

cmd /c set <ENV_VARIABLE_NAME>

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

Expansão da linha de comandos de variáveis de ambiente

As linhas de comando executadas por tarefas em nós de computação não são executadas em um shell. Isso significa que essas linhas de comando não podem usar nativamente recursos do 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á obsoleto e será desativado 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 do Lote à qual a tarefa pertence. Todas as tarefas. mybatchaccount
AZ_BATCH_ACCOUNT_URL A URL da conta do Lote. 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 for "Agent-linux-x64" e a versão for "1.1.46.0, o nome do ambiente será 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 se o próprio nó tiver pacotes de aplicativos. 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 do Lote. Essa variável de ambiente só estará presente se authenticationTokenSettings estiver definido quando a tarefa for adicionada. O valor do token é usado nas APIs do Lote como credenciais para criar um cliente do Lote, como na API do .NET BatchClient.Open(). O token não dá suporte à 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. Essa variável de ambiente não se aplica a nós de computação do Windows. Todas as tarefas. /mnt/batch/tasks/workitems/batchjob001/job-1/task001/certs
AZ_BATCH_HOST_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_IS_CURRENT_NODE_MASTER Especifica se o nó atual é o nó principal de 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. trabalho em lote001
AZ_BATCH_JOB_PREP_DIR O caminho completo do diretório da tarefa de preparação do trabalho no nó. Todas as tarefas, exceto a tarefa inicial e a tarefa de preparação do trabalho. Disponível somente se o trabalho estiver configurado com uma tarefa de preparação de trabalho. AZ_BATCH_JOB_PREP_DIR
AZ_BATCH_JOB_PREP_WORKING_DIR O caminho completo do diretório de trabalho da tarefa de preparação de tarefa no nó. Todas as tarefas, exceto a tarefa inicial e a tarefa de preparação do trabalho. Disponível somente 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 é reservada para o serviço Lote do Azure. Em vez disso, use a variável MASTER_PORT, definindo-a com um valor passado por meio do argumento de linha de comando (a porta 6105 é uma boa opção padrão) ou usando o valor que AML define se isso acontecer. 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 Se true, o nó atual é um nó dedicado. Se false, for um nó spot do Azure. 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 local de montagem do sistema de arquivos no nível do nó em que residem todos os diretórios de montagem. Os compartilhamentos de arquivos do Windows usam uma letra de unidade, portanto, para o Windows, a unidade de montagem faz parte de dispositivos e unidades. Todas as tarefas, incluindo a tarefa inicial, têm acesso ao usuário, desde que o usuário esteja 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 do Lote 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 esse 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 de tarefas inicial no nó. Todas as tarefas. AZ_BATCH_NODE_STARTUP_DIR
AZ_BATCH_POOL_ID A ID do pool em que a tarefa está sendo executada. Todas as tarefas. batchpool001
AZ_BATCH_TASK_DIR O caminho completo do diretório de tarefas no nó. Esse 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. As subtarefas ou uma tarefa primária que são executadas em outros nós não têm acesso remoto a esse 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 esse diretório. Todas as tarefas. AZ_BATCH_TASK_WORKING_DIR
AZ_BATCH_TASK_RESERVED_EPHEMERAL_DISK_SPACE_BYTES O limite atual para o espaço em disco no qual a VM será marcada como DiskFull. Todas as tarefas. 1000000
CCP_NODES A lista de nós e o número de núcleos por nó 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> ..., em que o número de nós é seguido por um ou mais endereços IP de nó e o número de núcleos para cada um.
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 dos 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 pelo lote em vez de tentar construir representações de caminho bruto.

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

Nome de variável de ambiente Postfix do diretório de valor variável de ambiente
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 a tarefa de execução única e a agenda de tarefas. A tabela a seguir especifica os valores do diretório de trabalho no trabalho de execução única e no agendamento do trabalho.

Tipo de trabalho Postfix do valor do diretório de trabalho após AZ_BATCH_NODE_ROOT_DIR
Trabalho workitems\{job name}\job-1
Agendamento de Trabalho workitems\{job schedule name}\{job name}

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

Nome de variável de ambiente Postfix do diretório de valor da variável de ambiente 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}
AZ_BATCH_JOB_PREP_WORKING_DIR {job prepration task name}\wd

Próximas etapas