As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Definir variáveis de ambiente em um ambiente de fila
Muitos aplicativos e estruturas usam variáveis de ambiente para controlar as configurações de recursos, os níveis de registro e a configuração de exibição. Você pode usar ambientes Open Job Description (OpenJD)
Escopo da variável de ambiente
AWS O Deadline Cloud aplica variáveis de ambiente de ambientes de fila que você anexa a uma fila. Em um modelo de trabalho, você também pode definir variáveis de ambiente nos níveis de tarefa e etapa usando ambientes OpenJD.
-
Ambiente de fila — Um modelo que você anexa a uma fila no Deadline Cloud. As variáveis se aplicam a todos os trabalhos enviados à fila. Você pode definir variáveis com um
variablesmapa para valores fixos ou usar scripts para valores dinâmicos. -
Ambiente de trabalho — Definido abaixo
jobEnvironmentsem um modelo de trabalho. As variáveis se aplicam a todas as etapas e tarefas do trabalho. Uma variável no nível do trabalho substitui uma variável no nível da fila com o mesmo nome. -
Ambiente de etapas — definido abaixo
stepEnvironmentsem um modelo de trabalho. As variáveis se aplicam somente às tarefas dessa etapa. Uma variável de nível de etapa substitui uma variável de nível de trabalho ou de fila com o mesmo nome.
Configurando variáveis em um ambiente de fila
Você pode definir variáveis de ambiente em um ambiente de fila usando um variables mapa para valores fixos ou usando um script com uma onEnter ação para valores dinâmicos.
O modelo de ambiente de fila a seguir usa um variables mapa para definir a QT_QPA_PLATFORM variáveloffscreen, o que permite que aplicativos que usam o Qt Framework
specificationVersion: 'environment-2023-09'
environment:
name: QtOffscreen
variables:
QT_QPA_PLATFORM: offscreen
Para valores dinâmicos, como modificar PATH ou ativar ambientes virtuais, use um script que imprima linhas no formato openjd_env: em stdout. O VAR=valueopenjd_env: prefixo é obrigatório. Usarecho,export, ou outros mecanismos de shell sem o prefixo não propaga variáveis para trabalhos e tarefas.
O modelo de ambiente de fila a seguir define a QT_QPA_PLATFORM variável usando um script.
specificationVersion: 'environment-2023-09'
environment:
name: QtOffscreen
script:
actions:
onEnter:
command: bash
args:
- "{{Env.File.Enter}}"
embeddedFiles:
- name: Enter
type: TEXT
data: |
#!/bin/env bash
set -euo pipefail
echo "openjd_env: QT_QPA_PLATFORM=offscreen"
Para anexar um ambiente de fila à sua fila, use o console do Deadline Cloud ou o. AWS CLI Para obter mais informações, consulte Criar um ambiente de fila no Guia do usuário do AWS Deadline Cloud. O AWS CLI comando a seguir cria um ambiente de fila a partir de um arquivo de modelo.
aws deadline create-queue-environment \ --farm-idFARM_ID\ --queue-idQUEUE_ID\ --priority 1 \ --template-type YAML \ --template file://my-queue-env.yaml
Para exemplos mais complexos, como criar e ativar ambientes virtuais conda, consulte os exemplos do ambiente de filas do Deadline Cloud em
Definindo variáveis em um modelo de trabalho
Em um modelo de trabalho, adicione um variables mapa a uma stepEnvironments entrada jobEnvironments or. Cada entrada é um par de valores-chave em que a chave é o nome da variável e o valor é o valor da variável.
O modelo de trabalho a seguir define a variável de QT_QPA_PLATFORM ambiente comooffscreen, o que permite que aplicativos que usam o Qt Framework
specificationVersion: 'jobtemplate-2023-09'
name: MyJob
jobEnvironments:
- name: JobEnv
variables:
QT_QPA_PLATFORM: offscreen
Você pode definir várias variáveis em uma única definição de ambiente.
jobEnvironments:
- name: JobEnv
variables:
JOB_VERBOSITY: MEDIUM
JOB_PROJECT_ID: my-project-id
JOB_ENDPOINT_URL: https://my-host-name/my/path
QT_QPA_PLATFORM: offscreen
Você pode referenciar os parâmetros do trabalho em valores variáveis usando a {{Param. sintaxe.ParameterName}}
jobEnvironments:
- name: JobEnv
variables:
JOB_EXAMPLE_PARAM: "{{Param.ExampleParam}}"
Para substituir uma variável de nível de trabalho para uma etapa específica, defina uma stepEnvironments entrada com o mesmo nome de variável. O exemplo a seguir define JOB_PROJECT_ID no nível do trabalho com o valor eproject-12, em seguida, substitui o valor no nível da etapa com. step-project-12 As tarefas na etapa usam o valor no nível da etapa.
specificationVersion: 'jobtemplate-2023-09'
name: MyJob
jobEnvironments:
- name: JobEnv
variables:
JOB_PROJECT_ID: project-12
steps:
- name: MyStep
stepEnvironments:
- name: StepEnv
variables:
JOB_PROJECT_ID: step-project-12
Experimente: Executando a amostra da variável de ambiente
O repositório de amostras do Deadline Cloud inclui um pacote de tarefas que demonstra a configuração e a visualização
Pré-requisitos
-
Se você não tiver um farm do Deadline Cloud com uma fila e uma frota Linux associada, siga a experiência de integração guiada no console do Deadline Cloud
para criar um com as configurações padrão. -
Se você não tiver a CLI do Deadline Cloud e o monitor do AWS Deadline Cloud em sua estação de trabalho, siga as etapas em Configurar os remetentes do Deadline Cloud.
-
Use
gitpara clonar o GitHubrepositório de amostras do Deadline Cloud. git clone https://github.com/aws-deadline/deadline-cloud-samples.git cd deadline-cloud-samples/job_bundles
Executar o exemplo
-
Use a CLI do Deadline Cloud para enviar a
job_env_varsamostra.deadline bundle submit job_env_vars -
No monitor do Deadline Cloud, selecione o novo trabalho para monitorar seu progresso. Depois que a Linux frota associada à fila tiver um trabalhador disponível, o trabalho será concluído em alguns segundos. Selecione a tarefa e escolha Exibir registros no menu superior direito do painel de tarefas.
Comparando as ações da sessão com suas definições
A visualização do registro mostra três ações da sessão. Abra o arquivo job_env_vars/template.yaml
-
Selecione a ação Iniciar JobEnv sessão. A saída do log mostra as variáveis de ambiente no nível do trabalho que estão sendo definidas.
Setting: JOB_VERBOSITY=MEDIUM Setting: JOB_EXAMPLE_PARAM=An example parameter value Setting: JOB_PROJECT_ID=project-12 Setting: JOB_ENDPOINT_URL=https://internal-host-name/some/path Setting: QT_QPA_PLATFORM=offscreenAs linhas a seguir do modelo de trabalho definem esse ambiente.
jobEnvironments: - name: JobEnv variables: JOB_VERBOSITY: MEDIUM JOB_EXAMPLE_PARAM: "{{Param.ExampleParam}}" JOB_PROJECT_ID: project-12 JOB_ENDPOINT_URL: https://internal-host-name/some/path QT_QPA_PLATFORM: offscreen -
Selecione a ação Iniciar StepEnv sessão. A saída do log mostra as variáveis em nível de etapa, incluindo as substituídas.
JOB_PROJECT_IDSetting: STEP_VERBOSITY=HIGH Setting: JOB_PROJECT_ID=step-project-12As linhas a seguir do modelo de trabalho definem esse ambiente.
stepEnvironments: - name: StepEnv variables: STEP_VERBOSITY: HIGH JOB_PROJECT_ID: step-project-12 -
Selecione a ação Tarefa executar sessão. A saída do log mostra as variáveis de ambiente mescladas disponíveis para a tarefa. Observe que
JOB_PROJECT_IDusa o valor em nível de etapa.step-project-12Environment variables starting with JOB_*: JOB_ENDPOINT_URL=https://internal-host-name/some/path JOB_EXAMPLE_PARAM='An example parameter value' JOB_PROJECT_ID=step-project-12 JOB_VERBOSITY=MEDIUM Environment variables starting with STEP_*: STEP_VERBOSITY=HIGH