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.
Legen Sie Umgebungsvariablen in einer Warteschlangenumgebung fest
Viele Anwendungen und Frameworks verwenden Umgebungsvariablen, um Funktionseinstellungen, Protokollierungsebenen und die Anzeigekonfiguration zu steuern. Sie können Open Job Description (OpenJD) -Umgebungen
Gültigkeitsbereich der Umgebungsvariablen
AWS Deadline Cloud wendet Umgebungsvariablen aus Warteschlangenumgebungen an, die Sie an eine Warteschlange anhängen. Innerhalb 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
variablesZuordnung 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 Jobebene ü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 Job- 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 With-Aktion für dynamische Werte festlegen.
Die folgende Vorlage für die Warteschlangenumgebung verwendet eine variables Map, auf die die QT_QPA_PLATFORM Variable gesetzt wirdoffscreen, sodass Anwendungen, die das Qt Framework
specificationVersion: 'environment-2023-09'
environment:
name: QtOffscreen
variables:
QT_QPA_PLATFORM: offscreen
Verwenden Sie für dynamische Werte, wie das Ändern PATH oder Aktivieren virtueller Umgebungen, ein Skript, das Zeilen im Format stdout openjd_env: ausgibt. Das VAR=valueopenjd_env: Präfix ist erforderlich. Durch die Verwendung von echoexport, oder anderen Shell-Mechanismen ohne das Präfix werden Variablen nicht an Jobs und Aufgaben weitergegeben.
Die folgende Vorlage für die 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 Erstellen einer Warteschlangenumgebung 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 unter Beispiele für Deadline Cloud-Warteschlangenumgebungen
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 JOB_PROJECT_ID auf Auftragsebene mit dem Wert project-12 und überschreibt dann den Wert auf 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-Bundle, 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-Einreicher einrichten.
-
Wird verwendet
git, um das Deadline GitHub Cloud-Beispiel-Repositoryzu 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 seinen Fortschritt zu überwachen. Sobald für die Linux Flotte, die der Warteschlange zugeordnet ist, 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.
Vergleich von Sitzungsaktionen mit ihren Definitionen
In der Protokollansicht werden drei Sitzungsaktionen angezeigt. Ö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 wurden.
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 überschriebenen Variablen.
JOB_PROJECT_IDSetting: 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 Sitzung ausführen aus. In der Protokollausgabe werden die zusammengeführten Umgebungsvariablen angezeigt, die für die Aufgabe verfügbar sind. Beachten Sie, dass der Wert auf Schrittebene
JOB_PROJECT_IDverwendet wird.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