기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
대기열 환경에서 환경 변수 설정
많은 애플리케이션 및 프레임워크는 환경 변수를 사용하여 기능 설정, 로깅 수준 및 표시 구성을 제어합니다. Open Job Description(OpenJD) 환경을
환경 변수 범위
AWS Deadline Cloud는 대기열에 연결하는 대기열 환경의 환경 변수를 적용합니다. 작업 템플릿 내에서 OpenJD
-
대기열 환경 - Deadline Cloud의 대기열에 연결하는 템플릿입니다. 변수는 대기열에 제출된 모든 작업에 적용됩니다. 고정 값에 대한
variables맵으로 변수를 설정하거나 동적 값에 스크립트를 사용할 수 있습니다. -
작업 환경 - 작업 템플릿의
jobEnvironments에 정의되어 있습니다. 변수는 작업의 모든 단계와 작업에 적용됩니다. 작업 수준 변수는 동일한 이름의 대기열 수준 변수를 재정의합니다. -
단계 환경 - 작업 템플릿의
stepEnvironments에 정의되어 있습니다. 변수는 해당 단계의 태스크에만 적용됩니다. 단계 수준 변수는 동일한 이름의 작업 수준 또는 대기열 수준 변수를 재정의합니다.
대기열 환경에서 변수 설정
고정 값에 대한 variables 맵을 사용하거나 동적 값에 대한 onEnter 작업과 script 함께를 사용하여 대기열 환경에서 환경 변수를 설정할 수 있습니다.
다음 대기열 환경 템플릿은 variables 맵을 사용하여 QT_QPA_PLATFORM 변수를 로 설정offscreen하므로 Qt 프레임워크
specificationVersion: 'environment-2023-09'
environment:
name: QtOffscreen
variables:
QT_QPA_PLATFORM: offscreen
가상 환경 수정 PATH 또는 활성화와 같은 동적 값의 경우 형식으로 줄을 인쇄하여 stdout하는 스크립트openjd_env: 를 사용합니다. VAR=valueopenjd_env: 접두사가 필요합니다. 접두사 없이 export, 또는 기타 echo쉘 메커니즘을 사용하면 변수가 작업 및 작업에 전파되지 않습니다.
다음 대기열 환경 템플릿은 스크립트를 사용하여 QT_QPA_PLATFORM 변수를 설정합니다.
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"
대기열 환경을 대기열에 연결하려면 Deadline Cloud 콘솔 또는를 사용합니다 AWS CLI. 자세한 내용은 AWS Deadline Cloud 사용 설명서의 대기열 환경 생성을 참조하세요. 다음 AWS CLI 명령은 템플릿 파일에서 대기열 환경을 생성합니다.
aws deadline create-queue-environment \ --farm-idFARM_ID\ --queue-idQUEUE_ID\ --priority 1 \ --template-type YAML \ --template file://my-queue-env.yaml
conda 가상 환경 생성 및 활성화와 같은 보다 복잡한 예는 GitHub의 Deadline Cloud 대기열 환경 샘플을
작업 템플릿에서 변수 설정
작업 템플릿에서 jobEnvironments 또는 stepEnvironments 항목에 variables 맵을 추가합니다. 각 항목은 키-값 페어입니다. 여기서 키는 변수 이름이고 값은 변수 값입니다.
다음 작업 템플릿은 QT_QPA_PLATFORM 환경 변수를 로 설정offscreen하여 Qt Framework
specificationVersion: 'jobtemplate-2023-09'
name: MyJob
jobEnvironments:
- name: JobEnv
variables:
QT_QPA_PLATFORM: offscreen
단일 환경 정의에서 여러 변수를 설정할 수 있습니다.
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
{{Param. 구문을 사용하여 변수 값의 작업 파라미터를 참조할 수 있습니다.ParameterName}}
jobEnvironments:
- name: JobEnv
variables:
JOB_EXAMPLE_PARAM: "{{Param.ExampleParam}}"
특정 단계의 작업 수준 변수를 재정의하려면 변수 이름이 동일한 stepEnvironments 항목을 정의합니다. 다음 예제에서는 JOB_PROJECT_ID 작업 수준에서 값을 로 정의한 project-12다음 단계 수준에서 값을 로 재정의합니다step-project-12. 단계의 작업은 단계 수준 값을 사용합니다.
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
시도: 환경 변수 샘플 실행
Deadline Cloud 샘플 리포지토리에는 환경 변수 설정 및 보기를 보여주는 작업 번들이
사전 조건
-
대기열 및 연결된 Linux 플릿이 있는 Deadline Cloud 팜이 없는 경우 Deadline Cloud 콘솔의 안내 온보딩 환경에 따라 기본 설정으로 Deadline Cloud
팜을 생성합니다. -
워크스테이션에 Deadline Cloud CLI 및 AWS Deadline Cloud 모니터가 없는 경우 Deadline Cloud 제출자 설정의 단계를 따릅니다.
-
git를 사용하여 Deadline Cloud 샘플 GitHub 리포지토리를 복제합니다. git clone https://github.com/aws-deadline/deadline-cloud-samples.git cd deadline-cloud-samples/job_bundles
샘플 실행
-
Deadline Cloud CLI를 사용하여
job_env_vars샘플을 제출합니다.deadline bundle submit job_env_vars -
Deadline Cloud 모니터에서 진행 상황을 모니터링할 새 작업을 선택합니다. 대기열과 연결된 Linux플릿에 작업자를 사용할 수 있게 되면 몇 초 안에 작업이 완료됩니다. 작업을 선택한 다음 작업 패널의 오른쪽 상단 메뉴에서 로그 보기를 선택합니다.
세션 작업과 정의 비교
로그 보기에는 세 가지 세션 작업이 표시됩니다. 텍스트 편집기에서 job_env_vars/template.yaml
-
JobEnv 세션 시작 작업을 선택합니다. 로그 출력에는 설정 중인 작업 수준 환경 변수가 표시됩니다.
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=offscreen작업 템플릿의 다음 줄은이 환경을 정의합니다.
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 -
StepEnv 세션 시작 작업을 선택합니다. 로그 출력에는 재정의된를 포함한 단계 수준 변수가 표시됩니다
JOB_PROJECT_ID.Setting: STEP_VERBOSITY=HIGH Setting: JOB_PROJECT_ID=step-project-12작업 템플릿의 다음 줄은이 환경을 정의합니다.
stepEnvironments: - name: StepEnv variables: STEP_VERBOSITY: HIGH JOB_PROJECT_ID: step-project-12 -
작업 실행 세션 작업을 선택합니다. 로그 출력에는 작업에 사용할 수 있는 병합된 환경 변수가 표시됩니다. 는 단계 수준 값를
JOB_PROJECT_ID사용합니다step-project-12.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