

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 den Pfad in einer Warteschlangenumgebung fest
<a name="set-the-path"></a>

Verwenden Sie OpenJD-Umgebungen, um neue Befehle in einer Umgebung bereitzustellen. Zuerst erstellen Sie ein Verzeichnis mit Skriptdateien und fügen dieses Verzeichnis dann zu den `PATH` Umgebungsvariablen hinzu, sodass die ausführbaren Dateien in Ihrem Skript sie ausführen können, ohne jedes Mal den Verzeichnispfad angeben zu müssen. Die Liste der Variablen in einer Umgebungsdefinition bietet keine Möglichkeit, die Variable zu ändern. Sie tun dies also, indem Sie stattdessen ein Skript ausführen. Nachdem das Skript die Dinge eingerichtet und geändert hat`PATH`, exportiert es die Variable mit dem Befehl in die OpenJD-Laufzeit. `echo "openjd_env: PATH=$PATH"` 

## Voraussetzungen
<a name="set-prerequisites"></a>

 Führen Sie die folgenden Schritte aus, um das [Beispiel-Job-Bundle mit Umgebungsvariablen](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/job_env_vars/template.yaml) aus dem Github-Repository für Beispiele von Deadline Cloud auszuführen. 

1.  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](https://console.aws.amazon.com/deadlinecloud/home), um eine Farm mit Standardeinstellungen zu erstellen. 

1.  Wenn Sie die Deadline Cloud-CLI und den Deadline Cloud-Monitor nicht auf Ihrer Workstation haben, folgen Sie den Schritten unter [Deadline Cloud-Einreicher einrichten](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/submitter.html) im Benutzerhandbuch. 

1.  Wird verwendet`git`, um das [Deadline GitHub Cloud-Beispiel-Repository](https://github.com/aws-deadline/deadline-cloud-samples) zu klonen. 

   ```
   git clone https://github.com/aws-deadline/deadline-cloud-samples.git
    Cloning into 'deadline-cloud-samples'...
    ...
   cd deadline-cloud-samples/job_bundles
   ```

## Führen Sie das Pfadbeispiel aus
<a name="path-run-sample"></a>

1.  Verwenden Sie die Deadline Cloud-CLI, um das `job_env_with_new_command` Beispiel einzureichen.

   ```
    $ deadline bundle submit job_env_with_new_command
    Submitting to Queue: MySampleQueue
    ...
   ```

1.  Im Deadline Cloud-Monitor sehen Sie den neuen Job und können seinen Fortschritt überwachen. Sobald für die Linux Flotte, die der Warteschlange zugeordnet ist, ein Mitarbeiter zur Verfügung steht, der die Aufgabe des Jobs ausführen kann, 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**. 

    Auf der rechten Seite befinden sich zwei Sitzungsaktionen: **Starten RandomSleepCommand** und **Ausführen von Aufgaben**. Die Protokollanzeige in der Mitte des Fensters entspricht der ausgewählten Sitzungsaktion auf der rechten Seite. 

## Vergleichen Sie die Sitzungsaktionen mit ihren Definitionen
<a name="path-view-logs"></a>

In diesem Abschnitt verwenden Sie den Deadline Cloud-Monitor, um die Sitzungsaktionen mit der Position zu vergleichen, in der sie in der Jobvorlage definiert sind. Es geht weiter mit dem vorherigen Abschnitt. 

Öffnen Sie die Datei [job\_env\_with\_new\_command/template.yaml](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/job_env_with_new_command/template.yaml) in einem Texteditor. Vergleichen Sie die Sitzungsaktionen mit den Aktionen, in denen sie in der Jobvorlage definiert sind. 

1.  Wählen Sie im Deadline Cloud-Monitor die Aktion RandomSleepCommand Sitzung **starten** aus. Sie werden die Protokollausgabe wie folgt sehen.

   ```
    2024/07/16 17:25:32-07:00
    2024/07/16 17:25:32-07:00 ==============================================
    2024/07/16 17:25:32-07:00 --------- Entering Environment: RandomSleepCommand
    2024/07/16 17:25:32-07:00 ==============================================
    2024/07/16 17:25:32-07:00 ----------------------------------------------
    2024/07/16 17:25:32-07:00 Phase: Setup
    2024/07/16 17:25:32-07:00 ----------------------------------------------
    2024/07/16 17:25:32-07:00 Writing embedded files for Environment to disk.
    2024/07/16 17:25:32-07:00 Mapping: Env.File.Enter -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmpbt8j_c3f
    2024/07/16 17:25:32-07:00 Mapping: Env.File.SleepScript -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmperastlp4
    2024/07/16 17:25:32-07:00 Wrote: Enter -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmpbt8j_c3f
    2024/07/16 17:25:32-07:00 Wrote: SleepScript -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmperastlp4
    2024/07/16 17:25:32-07:00 ----------------------------------------------
    2024/07/16 17:25:32-07:00 Phase: Running action
    2024/07/16 17:25:32-07:00 ----------------------------------------------
    2024/07/16 17:25:32-07:00 Running command sudo -u job-user -i setsid -w /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/tmpbwrquq5u.sh
    2024/07/16 17:25:32-07:00 Command started as pid: 2205
    2024/07/16 17:25:32-07:00 Output:
    2024/07/16 17:25:33-07:00 openjd_env: PATH=/sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/bin:/opt/conda/condabin:/home/job-user/.local/bin:/home/job-user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/snapd/snap/bin
    No newer logs at this moment.
   ```

    In den folgenden Zeilen aus der Jobvorlage wurde diese Aktion angegeben.

   ```
    jobEnvironments:
    - name: RandomSleepCommand
      description: Adds a command 'random-sleep' to the environment.
      script:
        actions:
          onEnter:
            command: bash
            args:
            - "{{Env.File.Enter}}"
        embeddedFiles:
        - name: Enter
          type: TEXT
          data: |
            #!/bin/env bash
            set -euo pipefail
   
            # Make a bin directory inside the session's working directory for providing new commands
            mkdir -p '{{Session.WorkingDirectory}}/bin'
   
            # If this bin directory is not already in the PATH, then add it
            if ! [[ ":$PATH:" == *':{{Session.WorkingDirectory}}/bin:'* ]]; then
              export "PATH={{Session.WorkingDirectory}}/bin:$PATH"
   
              # This message to Open Job Description exports the new PATH value to the environment
              echo "openjd_env: PATH=$PATH"
            fi
   
            # Copy the SleepScript embedded file into the bin directory
            cp '{{Env.File.SleepScript}}' '{{Session.WorkingDirectory}}/bin/random-sleep'
            chmod u+x '{{Session.WorkingDirectory}}/bin/random-sleep'
        - name: SleepScript
          type: TEXT
          runnable: true
          data: |
            ...
   ```

1.  Wählen Sie im Deadline Cloud-Monitor die Aktion StepEnv Sitzung **starten** aus. Sie sehen die Protokollausgabe wie folgt. 

   ```
    2024/07/16 17:25:33-07:00
    2024/07/16 17:25:33-07:00 ==============================================
    2024/07/16 17:25:33-07:00 --------- Running Task
    2024/07/16 17:25:33-07:00 ==============================================
    2024/07/16 17:25:33-07:00 ----------------------------------------------
    2024/07/16 17:25:33-07:00 Phase: Setup
    2024/07/16 17:25:33-07:00 ----------------------------------------------
    2024/07/16 17:25:33-07:00 Writing embedded files for Task to disk.
    2024/07/16 17:25:33-07:00 Mapping: Task.File.Run -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmpdrwuehjf
    2024/07/16 17:25:33-07:00 Wrote: Run -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmpdrwuehjf
    2024/07/16 17:25:33-07:00 ----------------------------------------------
    2024/07/16 17:25:33-07:00 Phase: Running action
    2024/07/16 17:25:33-07:00 ----------------------------------------------
    2024/07/16 17:25:33-07:00 Running command sudo -u job-user -i setsid -w /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/tmpz81iaqfw.sh
    2024/07/16 17:25:33-07:00 Command started as pid: 2256
    2024/07/16 17:25:33-07:00 Output:
    2024/07/16 17:25:34-07:00 + random-sleep 12.5 27.5
    2024/07/16 17:26:00-07:00 Sleeping for duration 26.90
    2024/07/16 17:26:00-07:00 ----------------------------------------------
    2024/07/16 17:26:00-07:00 Uploading output files to Job Attachments
    2024/07/16 17:26:00-07:00 ----------------------------------------------
   ```

1.  In den folgenden Zeilen aus der Jobvorlage wurde diese Aktion angegeben.

   ```
    steps:
    - name: EnvWithCommand
      script:
        actions:
          onRun:
            command: bash
            args:
            - '{{Task.File.Run}}'
        embeddedFiles:
        - name: Run
          type: TEXT
          data: |
            set -xeuo pipefail
   
            # Run the script installed into PATH by the job environment
            random-sleep 12.5 27.5
      hostRequirements:
        attributes:
        - name: attr.worker.os.family
          anyOf:
          - linux
   ```