Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Establezca las variables de entorno en un entorno de colas
Muchas aplicaciones y marcos utilizan variables de entorno para controlar la configuración de las funciones, los niveles de registro y la configuración de la pantalla. Puede usar los entornos Open Job Description (OpenJD)
Ámbito de la variable de entorno
AWS Deadline Cloud aplica variables de entorno de los entornos de colas que se adjuntan a una cola. Dentro de una plantilla de trabajo, también puede definir variables de entorno a nivel de trabajo y paso mediante entornos de OpenJD
-
Entorno de colas: plantilla que se adjunta a una cola en Deadline Cloud. Las variables se aplican a todos los trabajos enviados a la cola. Puede configurar las variables con un
variablesmapa para valores fijos o utilizar scripts para valores dinámicos. -
Entorno laboral: se define
jobEnvironmentsen una plantilla de trabajo. Las variables se aplican a todos los pasos y tareas del trabajo. Una variable de nivel de trabajo anula una variable de nivel de cola con el mismo nombre. -
Entorno escalonado: se define en una plantilla de trabajo.
stepEnvironmentsLas variables se aplican solo a las tareas de ese paso. Una variable de nivel de paso anula una variable de nivel de trabajo o de cola con el mismo nombre.
Establecer variables en un entorno de colas
Puede configurar las variables de entorno en un entorno de colas mediante un variables mapa para valores fijos o mediante una script onEnter acción para valores dinámicos.
La siguiente plantilla de entorno de colas utiliza un variables mapa para establecer la QT_QPA_PLATFORM variableoffscreen, lo que permite que las aplicaciones que utilizan Qt Framework
specificationVersion: 'environment-2023-09'
environment:
name: QtOffscreen
variables:
QT_QPA_PLATFORM: offscreen
Para valores dinámicos, como modificar PATH o activar entornos virtuales, utilice un script que imprima las líneas en formato openjd_env: stdout. El VAR=valueopenjd_env: prefijo es obligatorio. El uso de echoexport, u otros mecanismos de shell sin el prefijo no propaga las variables a los trabajos y tareas.
La siguiente plantilla de entorno de colas establece la QT_QPA_PLATFORM variable mediante un 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 adjuntar un entorno de colas a su cola, utilice la consola de Deadline Cloud o la. AWS CLI Para obtener más información, consulte Crear un entorno de colas en la Guía del usuario de AWS Deadline Cloud. El siguiente AWS CLI comando crea un entorno de colas a partir de un archivo de plantilla.
aws deadline create-queue-environment \ --farm-idFARM_ID\ --queue-idQUEUE_ID\ --priority 1 \ --template-type YAML \ --template file://my-queue-env.yaml
Para ver ejemplos más complejos, como la creación y activación de entornos virtuales de conda, consulte los ejemplos del entorno de colas de Deadline Cloud en
Establecer variables en una plantilla de trabajo
En una plantilla de trabajo, añada un variables mapa a una stepEnvironments entrada jobEnvironments o. Cada entrada es un par clave-valor en el que la clave es el nombre de la variable y el valor es el valor de la variable.
La siguiente plantilla de trabajo establece la variable de QT_QPA_PLATFORM entorno enoffscreen, lo que permite que las aplicaciones que utilizan el Qt Framework
specificationVersion: 'jobtemplate-2023-09'
name: MyJob
jobEnvironments:
- name: JobEnv
variables:
QT_QPA_PLATFORM: offscreen
Puede establecer múltiples variables en una sola definición de entorno.
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
Puede hacer referencia a los parámetros del trabajo en valores variables mediante la {{Param. sintaxis.ParameterName}}
jobEnvironments:
- name: JobEnv
variables:
JOB_EXAMPLE_PARAM: "{{Param.ExampleParam}}"
Para anular una variable de nivel de trabajo para un paso específico, defina una stepEnvironments entrada con el mismo nombre de variable. En el siguiente ejemplo, se define JOB_PROJECT_ID en el nivel de trabajo con el valor yproject-12, a continuación, se reemplaza el valor en el nivel de paso con. step-project-12 Las tareas del paso utilizan el valor del nivel de paso.
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
Pruébelo: ejecute el ejemplo de la variable de entorno
El repositorio de muestras de Deadline Cloud incluye un paquete de trabajos que muestra la configuración y visualización de las variables de entorno
Requisitos previos
-
Si no tiene una granja de Deadline Cloud con una cola y una flota Linux asociada, siga la experiencia de incorporación guiada en la consola de Deadline Cloud
para crear una con la configuración predeterminada. -
Si no tiene la CLI de Deadline Cloud ni el monitor de AWS Deadline Cloud en su estación de trabajo, siga los pasos de Configurar los remitentes de Deadline Cloud.
-
Úselo
gitpara clonar el repositorio de muestras GitHub de Deadline Cloud. git clone https://github.com/aws-deadline/deadline-cloud-samples.git cd deadline-cloud-samples/job_bundles
Ejecución del ejemplo
-
Utilice la CLI de Deadline Cloud para enviar la
job_env_varsmuestra.deadline bundle submit job_env_vars -
En el monitor de Deadline Cloud, selecciona el nuevo trabajo para supervisar su progreso. Cuando la Linux flota asociada a la cola tenga un trabajador disponible, el trabajo se completará en unos segundos. Seleccione la tarea y, a continuación, elija Ver registros en el menú superior derecho del panel de tareas.
Comparar las acciones de la sesión con sus definiciones
La vista de registro muestra tres acciones de la sesión. Abra el archivo job_env_vars/template.yaml
-
Seleccione la acción Iniciar JobEnv sesión. El resultado del registro muestra las variables de entorno a nivel de trabajo que se están configurando.
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=offscreenLas siguientes líneas de la plantilla de trabajo definen este entorno.
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 -
Seleccione la acción Iniciar StepEnv sesión. El resultado del registro muestra las variables a nivel de paso, incluidas las anuladas
JOB_PROJECT_ID.Setting: STEP_VERBOSITY=HIGH Setting: JOB_PROJECT_ID=step-project-12Las siguientes líneas de la plantilla de trabajo definen este entorno.
stepEnvironments: - name: StepEnv variables: STEP_VERBOSITY: HIGH JOB_PROJECT_ID: step-project-12 -
Seleccione la acción Tarea ejecutar sesión. El resultado del registro muestra las variables de entorno combinadas disponibles para la tarea. Observe que
JOB_PROJECT_IDutiliza el valorstep-project-12de nivel escalonado.Environment 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