

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.

# Jobvorlagenelemente für Jobpakete
<a name="build-job-bundle-template"></a>

Die Jobvorlage definiert die Laufzeitumgebung und die Prozesse, die als Teil eines Deadline Cloud-Jobs ausgeführt werden. Sie können Parameter in einer Vorlage erstellen, sodass sie verwendet werden kann, um Jobs zu erstellen, die sich nur in den Eingabewerten unterscheiden, ähnlich wie bei einer Funktion in einer Programmiersprache.

Wenn Sie einen Job an Deadline Cloud senden, wird er in allen Warteschlangenumgebungen ausgeführt, die auf die Warteschlange angewendet wurden. Warteschlangenumgebungen werden mithilfe der Spezifikation für externe Umgebungen von Open Job Description (OpenJD) erstellt. Einzelheiten finden Sie in der [Environment-Vorlage](https://github.com/OpenJobDescription/openjd-specifications/wiki/2023-09-Template-Schemas#12-environment-template) im OpenJD-Repository GitHub .

Eine Einführung in die Erstellung eines Jobs mit einer OpenJD-Jobvorlage finden Sie unter [Einführung in die Erstellung eines Jobs](https://github.com/OpenJobDescription/openjd-specifications/wiki/Introduction-to-Creating-a-Job) im GitHub OpenJD-Repository. Zusätzliche Informationen finden Sie unter [Wie Jobs ausgeführt werden](https://github.com/OpenJobDescription/openjd-specifications/wiki/How-Jobs-Are-Run). Es gibt Beispiele für Jobvorlagen im `samples` Verzeichnis des GitHub OpenJD-Repositorys.

Sie können die Jobvorlage entweder im YAML-Format (`template.yaml`) oder im JSON-Format (`template.json`) definieren. Die Beispiele in diesem Abschnitt werden im YAML-Format angezeigt.

Die Jobvorlage für das `blender_render` Beispiel definiert beispielsweise einen Eingabeparameter `BlenderSceneFile` als Dateipfad:

```
- name: BlenderSceneFile
  type: PATH
  objectType: FILE
  dataFlow: IN
  userInterface:
    control: CHOOSE_INPUT_FILE
    label: Blender Scene File
    groupLabel: Render Parameters
    fileFilters:
    - label: Blender Scene Files
      patterns: ["*.blend"]
    - label: All Files
      patterns: ["*"]
  description: >
    Choose the Blender scene file to render. Use the 'Job Attachments' tab
    to add textures and other files that the job needs.
```

Die `userInterface` Eigenschaft definiert das Verhalten automatisch generierter Benutzeroberflächen sowohl in der Befehlszeile, die den Befehl verwendet, als auch in den Plug-ins für die Auftragsübermittlung für Anwendungen wie Autodesk Maya. `deadline bundle gui-submit`

In diesem Beispiel ist das UI-Widget zur Eingabe eines Werts für den `BlenderSceneFile` Parameter ein Dialogfeld zur Dateiauswahl, in dem nur Dateien angezeigt werden. `.blend`

![Ein Benutzeroberflächen-Widget zur Eingabe des Szenendateiparameters für eine OpenJD-Jobvorlage.](http://docs.aws.amazon.com/de_de/deadline-cloud/latest/developerguide/images/blender_submit_scene_file_widget.png)


Weitere Beispiele für die Verwendung des `userInteface` Elements finden Sie im Beispiel [gui\_control\_showcase](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/gui_control_showcase) im Repository unter. [deadline-cloud-samples](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline) GitHub

Die `dataFlow` Eigenschaften `objectType` und steuern das Verhalten von Job-Anhängen, wenn Sie einen Job aus einem Job-Bundle einreichen. In diesem Fall `dataFlow:IN` bedeuten `objectType: FILE` und, dass der Wert von eine Eingabedatei für Jobanhänge `BlenderSceneFile` ist.

Im Gegensatz dazu hat die Definition des `OutputDir` Parameters `objectType: DIRECTORY` und`dataFlow: OUT`:

```
- name: OutputDir
  type: PATH
  objectType: DIRECTORY
  dataFlow: OUT
  userInterface:
    control: CHOOSE_DIRECTORY
    label: Output Directory
    groupLabel: Render Parameters
  default: "./output"
  description: Choose the render output directory.
```

Der Wert des `OutputDir` Parameters wird von Job-Anhängen als Verzeichnis verwendet, in das der Job Ausgabedateien schreibt.

Weitere Informationen zu den `dataFlow` Eigenschaften `objectType` und finden Sie [JobPathParameterDefinition](https://github.com/OpenJobDescription/openjd-specifications/wiki/2023-09-Template-Schemas#22-jobpathparameterdefinition)in der [Spezifikation Open Job Description](https://github.com/OpenJobDescription/openjd-specifications)

Der Rest des Beispiels für eine `blender_render` Jobvorlage definiert den Arbeitsablauf des Jobs als einen einzelnen Schritt, wobei jedes Bild in der Animation als separate Aufgabe gerendert wird:

```
steps:
- name: RenderBlender
  parameterSpace:
    taskParameterDefinitions:
    - name: Frame
      type: INT
      range: "{{Param.Frames}}"
  script:
    actions:
      onRun:
        command: bash
        # Note: {{Task.File.Run}} is a variable that expands to the filename on the worker host's
        # disk where the contents of the 'Run' embedded file, below, is written.
        args: ['{{Task.File.Run}}']
    embeddedFiles:
      - name: Run
        type: TEXT
        data: |
          # Configure the task to fail if any individual command fails.
          set -xeuo pipefail

          mkdir -p '{{Param.OutputDir}}'

          blender --background '{{Param.BlenderSceneFile}}' \
                  --render-output '{{Param.OutputDir}}/{{Param.OutputPattern}}' \
                  --render-format {{Param.Format}} \
                  --use-extension 1 \
                  --render-frame {{Task.Param.Frame}}
```

Wenn der Wert des `Frames` Parameters beispielsweise lautet`1-10`, definiert er 10 Aufgaben. Jede Aufgabe hat einen anderen Wert für den `Frame` Parameter. Um eine Aufgabe auszuführen:

1. Alle Variablenverweise in der `data` Eigenschaft der eingebetteten Datei sind beispielsweise erweitert`--render-frame 1`.

1. Der Inhalt der `data` Eigenschaft wird in eine Datei im Arbeitsverzeichnis der Sitzung auf der Festplatte geschrieben.

1. Der `onRun` Befehl der Aufgabe wird in aufgelöst `bash {{location of embedded file}}` und dann ausgeführt.

Weitere Informationen zu eingebetteten Dateien, Sitzungen und Pfadzuordnungen finden Sie unter [So werden Jobs ausgeführt](https://github.com/OpenJobDescription/openjd-specifications/wiki/How-Jobs-Are-Run) in der [Open Job](https://github.com/OpenJobDescription/openjd-specifications/wiki/How-Jobs-Are-Run) Description-Spezifikation.

Es gibt weitere Beispiele für Jobvorlagen im Repository [deadline-cloud-samples/job\_bundles](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles) sowie die [Vorlagenbeispiele, die in der Open Job Description-Spezifikation](https://github.com/OpenJobDescription/openjd-specifications/tree/mainline/samples) enthalten sind.