Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Stellen Sie Umgebungsvariablen in einer Warteschlangenumgebung ein
Viele Anwendungen und Frameworks verwenden Umgebungsvariablen, um Funktionseinstellungen, Protokollierungsstufen und die Anzeigekonfiguration zu steuern. Sie können OpenJD-Umgebungen (Open Job Description) verwenden
Geltungsbereich der Umgebungsvariablen
AWS Deadline Cloud wendet Umgebungsvariablen aus Warteschlangenumgebungen an, die Sie an eine Warteschlange anhängen. In einer Jobvorlage können Sie mithilfe von OpenJD-Umgebungen
-
Warteschlangenumgebung — Eine Vorlage, die Sie an eine Warteschlange in Deadline Cloud anhängen. Variablen gelten für alle Jobs, die an die Warteschlange gesendet werden. Sie können Variablen mit einer
variablesMap für feste Werte festlegen oder Skripts für dynamische Werte verwenden. -
Arbeitsumgebung — Definiert unter
jobEnvironmentsin einer Jobvorlage. Variablen gelten für alle Schritte und Aufgaben im Job. Eine Variable auf Auftragsebene überschreibt eine Variable auf Warteschlangenebene mit demselben Namen. -
Schrittumgebung — Definiert unter
stepEnvironmentsin einer Jobvorlage. Variablen gelten nur für die Aufgaben in diesem Schritt. Eine Variable auf Schrittebene überschreibt eine Variable auf Auftragsebene oder Warteschlangenebene mit demselben Namen.
Variablen in einer Warteschlangenumgebung setzen
Sie können Umgebungsvariablen in einer Warteschlangenumgebung mithilfe einer variables Map für feste Werte oder script mithilfe einer onEnter Aktion für dynamische Werte festlegen.
Die folgende Vorlage für eine Warteschlangenumgebung verwendet eine variables Mapoffscreen, auf die die QT_QPA_PLATFORM Variable gesetzt wird. Dadurch können Anwendungen, die das Qt Framework verwenden
specificationVersion: 'environment-2023-09'
environment:
name: QtOffscreen
variables:
QT_QPA_PLATFORM: offscreen
Verwenden Sie für dynamische Werte, wie z. B. das Ändern PATH oder Aktivieren virtueller Umgebungen, ein Skript, das Zeilen im Format openjd_env: stdout ausgibt. Das VAR=valueopenjd_env: Präfix ist erforderlich. Wenn Sieecho,export, oder andere Shell-Mechanismen ohne das Präfix verwenden, werden Variablen nicht an Jobs und Aufgaben weitergegeben.
Die folgende Vorlage für eine Warteschlangenumgebung legt die QT_QPA_PLATFORM Variable mithilfe eines Skripts fest.
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"
Um eine Warteschlangenumgebung an Ihre Warteschlange anzuhängen, verwenden Sie die Deadline Cloud-Konsole oder die AWS CLI. Weitere Informationen finden Sie unter Eine Warteschlangenumgebung erstellen im AWS Deadline Cloud-Benutzerhandbuch. Der folgende AWS CLI Befehl erstellt eine Warteschlangenumgebung aus einer Vorlagendatei.
aws deadline create-queue-environment \ --farm-idFARM_ID\ --queue-idQUEUE_ID\ --priority 1 \ --template-type YAML \ --template file://my-queue-env.yaml
Komplexere Beispiele, wie das Erstellen und Aktivieren virtueller Conda-Umgebungen, finden Sie in den Beispielen für die Deadline Cloud-Warteschlangenumgebung
Variablen in einer Jobvorlage festlegen
Fügen Sie in einer Jobvorlage eine variables Map zu einem jobEnvironments stepEnvironments OR-Eintrag hinzu. Jeder Eintrag ist ein Schlüssel-Wert-Paar, wobei der Schlüssel der Variablenname und der Wert der Variablenwert ist.
Die folgende Jobvorlage setzt die QT_QPA_PLATFORM Umgebungsvariable aufoffscreen, sodass Anwendungen, die das Qt Framework
specificationVersion: 'jobtemplate-2023-09'
name: MyJob
jobEnvironments:
- name: JobEnv
variables:
QT_QPA_PLATFORM: offscreen
Sie können mehrere Variablen in einer einzigen Umgebungsdefinition festlegen.
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
Mithilfe der {{Param. Syntax können Sie in Variablenwerten auf Jobparameter verweisen.ParameterName}}
jobEnvironments:
- name: JobEnv
variables:
JOB_EXAMPLE_PARAM: "{{Param.ExampleParam}}"
Um eine Variable auf Jobebene für einen bestimmten Schritt zu überschreiben, definieren Sie einen stepEnvironments Eintrag mit demselben Variablennamen. Das folgende Beispiel definiert den Wert JOB_PROJECT_ID auf Auftragsebene mit dem Wert project-12 und überschreibt dann den Wert auf der Schrittebene mit. step-project-12 Die Aufgaben im Schritt verwenden den Wert auf Schrittebene.
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
Probieren Sie es aus: Beispiel für die Umgebungsvariable ausführen
Das Deadline Cloud-Beispiel-Repository enthält ein Job-Paket, das das Setzen und Anzeigen von Umgebungsvariablen demonstriert
Voraussetzungen
-
Wenn Sie keine Deadline Cloud-Farm mit einer Warteschlange und der zugehörigen Linux-Flotte haben, folgen Sie der Anleitung zum Onboarding in der Deadline Cloud-Konsole
, um eine Farm mit Standardeinstellungen zu erstellen. -
Wenn Sie die Deadline Cloud-CLI und den AWS Deadline Cloud-Monitor nicht auf Ihrer Workstation haben, folgen Sie den Schritten unter Deadline Cloud-Absender einrichten.
-
Wird verwendet
git, um das Deadline GitHub Cloud-Beispiel-Repository zu klonen.git clone https://github.com/aws-deadline/deadline-cloud-samples.git cd deadline-cloud-samples/job_bundles
Ausführen des Beispiels
-
Verwenden Sie die Deadline Cloud-CLI, um das
job_env_varsBeispiel einzureichen.deadline bundle submit job_env_vars -
Wählen Sie im Deadline Cloud-Monitor den neuen Job aus, um dessen Fortschritt zu überwachen. Sobald für die mit der Warteschlange verknüpfte Linux Flotte ein Mitarbeiter verfügbar ist, ist der Job in wenigen Sekunden abgeschlossen. Wählen Sie die Aufgabe aus und wählen Sie dann im Menü oben rechts im Aufgabenbereich die Option Protokolle anzeigen aus.
Sitzungsaktionen mit ihren Definitionen vergleichen
Die Protokollansicht zeigt drei Sitzungsaktionen. Öffnen Sie die Datei job_env_vars/template .yaml
-
Wählen Sie die Aktion JobEnv Sitzung starten aus. Die Protokollausgabe zeigt, dass die Umgebungsvariablen auf Jobebene gesetzt werden.
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=offscreenDie folgenden Zeilen aus der Jobvorlage definieren diese Umgebung.
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 -
Wählen Sie die Aktion StepEnv Sitzung starten aus. Die Protokollausgabe zeigt die Variablen auf Schrittebene, einschließlich der
JOB_PROJECT_IDüberschriebenen Variablen.Setting: STEP_VERBOSITY=HIGH Setting: JOB_PROJECT_ID=step-project-12Die folgenden Zeilen aus der Jobvorlage definieren diese Umgebung.
stepEnvironments: - name: StepEnv variables: STEP_VERBOSITY: HIGH JOB_PROJECT_ID: step-project-12 -
Wählen Sie die Aktion Task „Sitzung ausführen“ aus. Die Protokollausgabe zeigt die zusammengeführten Umgebungsvariablen, die für die Aufgabe verfügbar sind. Beachten Sie, dass der Wert
step-project-12auf Step-EbeneJOB_PROJECT_IDverwendet wird.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