

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.

# Mit Deadline Cloud einreichen
<a name="submit-a-job"></a>

Um Deadline Cloud-Jobs auf Ihren Worker-Hosts auszuführen, erstellen und verwenden Sie ein Open Job Description (OpenJD) -Jobpaket, um einen Job zu konfigurieren. Das Bundle konfiguriert den Job, indem es beispielsweise Eingabedateien für einen Job angibt und wo die Ausgabe des Jobs geschrieben werden soll. Dieses Thema enthält Beispiele dafür, wie Sie ein Job-Bundle konfigurieren können.

Bevor Sie die Verfahren in diesem Abschnitt ausführen können, müssen Sie die folgenden Schritte ausführen:
+ [Erstellen Sie eine Deadline Cloud-Farm](create-a-farm.md)
+ [Führen Sie den Deadline Cloud Worker Agent aus](run-worker.md)

Gehen Sie wie folgt vor, um AWS Deadline Cloud zum Ausführen von Jobs zu verwenden. Verwenden Sie die erste AWS CloudShell Registerkarte, um Jobs an Ihre Entwicklerfarm zu senden. Verwenden Sie die zweite CloudShell Registerkarte, um die Ergebnisse des Worker-Agents anzuzeigen. 

**Topics**
+ [Reichen Sie die simple\$1job Probe ein](#submit-a-simplejob-sample)
+ [Reichen Sie eine simple\$1job mit einem Parameter ein](#submit-with-parameter)
+ [Erstellen Sie ein simple\$1file\$1job-Job-Bundle mit Datei-I/O](#create-job-bundle-with-file-io)
+ [Nächste Schritte](#submit-a-job-next)

## Reichen Sie die simple\$1job Probe ein
<a name="submit-a-simplejob-sample"></a>

Nachdem Sie eine Farm erstellt und den Worker Agent ausgeführt haben, können Sie das simple\$1job Beispiel an Deadline Cloud senden. 

**Um das simple\$1job Beispiel an Deadline Cloud zu senden**

1. Wählen Sie Ihren ersten CloudShell Tab.

1. Laden Sie das Beispiel von herunter GitHub.

   ```
   cd ~
   git clone https://github.com/aws-deadline/deadline-cloud-samples.git
   ```

1. Navigieren Sie zum Verzeichnis mit den Beispielen für das Job-Bundle.

   ```
   cd ~/deadline-cloud-samples/job_bundles/
   ```

1. Reichen Sie das simple\$1job Beispiel ein.

   ```
   deadline bundle submit simple_job
   ```

1. Wählen Sie Ihre zweite CloudShell Registerkarte, um die Protokollausgabe über das Aufrufen`BatchGetJobEntities`, das Aufrufen einer Sitzung und das Ausführen einer Sitzungsaktion anzuzeigen.

   ```
   ...
   [2024-03-27 16:00:21,846][INFO    ] 🔷 Session.Starting 🔷 [session-053d77cef82648fe2] Starting new Session. [queue-3ba4ff683ff54db09b851a2ed8327d7b/job-d34cc98a6e234b6f82577940ab4f76c6]
   [2024-03-27 16:00:21,853][INFO    ] 📤 API.Req 📤 [deadline:BatchGetJobEntity] resource={'farm-id': 'farm-3e24cfc9bbcd423e9c1b6754bc1', 'fleet-id': 'fleet-246ee60f46d44559b6cce010d05', 'worker-id': 'worker-75e0fce9c3c344a69bff57fcd83'} params={'identifiers': [{'jobDetails': {'jobId': 'job-d34cc98a6e234b6f82577940ab4'}}]} request_url=https://scheduling.deadline.us-west-2.amazonaws.com/2023-10-12/farms/farm-3e24cfc9bbcd423e /fleets/fleet-246ee60f46d44559b1 /workers/worker- 75e0fce9c3c344a69b /batchGetJobEntity
   [2024-03-27 16:00:22,013][INFO    ] 📥 API.Resp 📥 [deadline:BatchGetJobEntity](200) params={'entities': [{'jobDetails': {'jobId': 'job-d34cc98a6e234b6f82577940ab6', 'jobRunAsUser': {'posix': {'user': 'job-user', 'group': 'job-group'}, 'runAs': 'QUEUE_CONFIGURED_USER'}, 'logGroupName': '/aws/deadline/farm-3e24cfc9bbcd423e9c1b6754bc1/queue-3ba4ff683ff54db09b851a2ed83', 'parameters': '*REDACTED*', 'schemaVersion': 'jobtemplate-2023-09'}}], 'errors': []} request_id=a3f55914-6470-439e-89e5-313f0c6
   [2024-03-27 16:00:22,013][INFO    ] 🔷 Session.Add 🔷 [session-053d77cef82648fea9c69827182] Appended new SessionActions. (ActionIds: ['sessionaction-053d77cef82648fea9c69827182-0']) [queue-3ba4ff683ff54db09b851a2ed8b/job-d34cc98a6e234b6f82577940ab6]
   [2024-03-27 16:00:22,014][WARNING ] 🔷 Session.User 🔷 [session-053d77cef82648fea9c69827182] Running as the Worker Agent's user. (User: cloudshell-user) [queue-3ba4ff683ff54db09b851a2ed8b/job-d34cc98a6e234b6f82577940ac6]
   [2024-03-27 16:00:22,015][WARNING ] 🔷 Session.AWSCreds 🔷 [session-053d77cef82648fea9c69827182] AWS Credentials are not available: Queue has no IAM Role. [queue-3ba4ff683ff54db09b851a2ed8b/job-d34cc98a6e234b6f82577940ab6]
   [2024-03-27 16:00:22,026][INFO    ] 🔷 Session.Logs 🔷 [session-053d77cef82648fea9c69827182] Logs streamed to: AWS CloudWatch Logs. (LogDestination: /aws/deadline/farm-3e24cfc9bbcd423e9c1b6754bc1/queue-3ba4ff683ff54db09b851a2ed83/session-053d77cef82648fea9c69827181) [queue-3ba4ff683ff54db09b851a2ed83/job-d34cc98a6e234b6f82577940ab4]
   [2024-03-27 16:00:22,026][INFO    ] 🔷 Session.Logs 🔷 [session-053d77cef82648fea9c69827182] Logs streamed to: local file. (LogDestination: /home/cloudshell-user/demoenv-logs/queue-3ba4ff683ff54db09b851a2ed8b/session-053d77cef82648fea9c69827182.log) [queue-3ba4ff683ff54db09b851a2ed83/job-d34cc98a6e234b6f82577940ab4]
   ...
   ```
**Anmerkung**  
Es werden nur die Protokollausgaben des Worker-Agenten angezeigt. Es gibt ein separates Protokoll für die Sitzung, in der der Job ausgeführt wird.

1. Wählen Sie Ihre erste Registerkarte und überprüfen Sie dann die Protokolldateien, die der Worker-Agent schreibt.

   1. Navigieren Sie zum Protokollverzeichnis des Worker-Agents und sehen Sie sich dessen Inhalt an.

      ```
      cd ~/demoenv-logs
      ls
      ```

   1. Drucken Sie die erste Protokolldatei, die der Worker-Agent erstellt. 

      ```
      cat worker-agent-bootstrap.log
      ```

      Diese Datei enthält die Ergebnisse des Worker-Agents darüber, wie er die Deadline Cloud-API aufgerufen hat, um eine Worker-Ressource in Ihrer Flotte zu erstellen, und dann die Flottenrolle übernommen hat.

   1. Druckt die Protokolldatei aus, die ausgegeben wird, wenn der Worker Agent der Flotte beitritt. 

      ```
      cat worker-agent.log
      ```

      Dieses Protokoll enthält Ausgaben über alle Aktionen, die der Worker-Agent ausführt, enthält jedoch keine Ausgaben über die Warteschlangen, in denen er Jobs ausführt, mit Ausnahme IDs der Ressourcen.

   1. Druckt die Protokolldateien für jede Sitzung in einem Verzeichnis, das den gleichen Namen wie die Ressourcen-ID der Warteschlange hat.

      ```
      cat $DEV_QUEUE_ID/session-*.log
      ```

      Wenn der Auftrag erfolgreich ist, sieht die Ausgabe der Protokolldatei wie folgt aus:

      ```
      cat $DEV_QUEUE_ID/$(ls -t $DEV_QUEUE_ID | head -1)
                                  
      2024-03-27 16:00:22,026 WARNING Session running with no AWS Credentials.
      2024-03-27 16:00:22,404 INFO 
      2024-03-27 16:00:22,405 INFO ==============================================
      2024-03-27 16:00:22,405 INFO --------- Running Task
      2024-03-27 16:00:22,405 INFO ==============================================
      2024-03-27 16:00:22,406 INFO ----------------------------------------------
      2024-03-27 16:00:22,406 INFO Phase: Setup
      2024-03-27 16:00:22,406 INFO ----------------------------------------------
      2024-03-27 16:00:22,406 INFO Writing embedded files for Task to disk.
      2024-03-27 16:00:22,406 INFO Mapping: Task.File.runScript -> /sessions/session-053d77cef82648fea9c698271812a/embedded_fileswa_gj55_/tmp2u9yqtsz
      2024-03-27 16:00:22,406 INFO Wrote: runScript -> /sessions/session-053d77cef82648fea9c698271812a/embedded_fileswa_gj55_/tmp2u9yqtsz
      2024-03-27 16:00:22,407 INFO ----------------------------------------------
      2024-03-27 16:00:22,407 INFO Phase: Running action
      2024-03-27 16:00:22,407 INFO ----------------------------------------------
      2024-03-27 16:00:22,407 INFO Running command /sessions/session-053d77cef82648fea9c698271812a/tmpzuzxpslm.sh
      2024-03-27 16:00:22,414 INFO Command started as pid: 471
      2024-03-27 16:00:22,415 INFO Output:
      2024-03-27 16:00:22,420 INFO Welcome to AWS Deadline Cloud!
      2024-03-27 16:00:22,571 INFO 
      2024-03-27 16:00:22,572 INFO ==============================================
      2024-03-27 16:00:22,572 INFO --------- Session Cleanup
      2024-03-27 16:00:22,572 INFO ==============================================
      2024-03-27 16:00:22,572 INFO Deleting working directory: /sessions/session-053d77cef82648fea9c698271812a
      ```

1. Druckt Informationen über den Job. 

   ```
   deadline job get
   ```

   Wenn Sie den Job weiterleiten, speichert das System ihn als Standard, sodass Sie die Job-ID nicht eingeben müssen.

## Reichen Sie eine simple\$1job mit einem Parameter ein
<a name="submit-with-parameter"></a>

Sie können Jobs mit Parametern einreichen. Im folgenden Verfahren bearbeiten Sie die simple\$1job Vorlage so, dass sie eine benutzerdefinierte Nachricht enthält, senden die und drucken dann die Sitzungsprotokolldatei aussimple\$1job, um die Nachricht anzuzeigen. 

**Um das simple\$1job Beispiel mit einem Parameter einzureichen**

1. Wählen Sie Ihre erste CloudShell Registerkarte aus und navigieren Sie dann zum Verzeichnis mit den Job-Bundle-Beispielen.

   ```
   cd ~/deadline-cloud-samples/job_bundles/
   ```

1. Drucken Sie den Inhalt der simple\$1job Vorlage aus.

   ```
   cat simple_job/template.yaml
   ```

   Der `parameterDefinitions` Abschnitt mit dem `Message` Parameter sollte wie folgt aussehen:

   ```
   parameterDefinitions:
   - name: Message
     type: STRING
     default: Welcome to AWS Deadline Cloud!
   ```

1. Senden Sie das simple\$1job Beispiel mit einem Parameterwert und warten Sie dann, bis die Ausführung des Jobs abgeschlossen ist.

   ```
   deadline bundle submit simple_job \
       -p "Message=Greetings from the developer getting started guide."
   ```

1. Um die benutzerdefinierte Nachricht zu sehen, sehen Sie sich die letzte Sitzungsprotokolldatei an.

   ```
   cd ~/demoenv-logs
   cat $DEV_QUEUE_ID/$(ls -t $DEV_QUEUE_ID | head -1)
   ```

## Erstellen Sie ein simple\$1file\$1job-Job-Bundle mit Datei-I/O
<a name="create-job-bundle-with-file-io"></a>

Ein Renderjob muss die Szenendefinition lesen, daraus ein Bild rendern und dieses Bild dann in einer Ausgabedatei speichern. Sie können diese Aktion simulieren, indem Sie den Job den Hash der Eingabe berechnen lassen, anstatt ein Bild zu rendern.

**Um ein simple\$1file\$1job-Job-Paket mit Datei-I/O zu erstellen**

1. Wählen Sie Ihre erste CloudShell Registerkarte aus und navigieren Sie dann zum Verzeichnis mit den Job-Bundle-Beispielen.

   ```
   cd ~/deadline-cloud-samples/job_bundles/
   ```

1. Erstellen Sie eine Kopie von `simple_job` mit dem neuen Namen`simple_file_job`.

   ```
   cp -r simple_job simple_file_job
   ```

1. Bearbeiten Sie die Jobvorlage wie folgt:
**Anmerkung**  
Wir empfehlen Ihnen, nano für diese Schritte die Verwendung zu verwenden. Wenn Sie lieber verwenden möchtenVim, müssen Sie den Einfügemodus über einstellen`:set paste`.

   1. Öffnen Sie die Vorlage in einem Texteditor.

      ```
      nano simple_file_job/template.yaml
      ```

   1. Fügen Sie die folgenden `type``objectType`, und hinzu `dataFlow``parameterDefinitions`. 

      ```
      - name: InFile
        type: PATH
        objectType: FILE
        dataFlow: IN
      - name: OutFile
        type: PATH
        objectType: FILE
        dataFlow: OUT
      ```

   1. Fügen Sie den folgenden `bash` Skriptbefehl am Ende der Datei hinzu, die aus der Eingabedatei liest und in die Ausgabedatei schreibt. 

      ```
              # hash the input file, and write that to the output
              sha256sum "{{Param.InFile}}" > "{{Param.OutFile}}"
      ```

      Die aktualisierte Version `template.yaml` sollte genau den folgenden Angaben entsprechen:

      ```
      specificationVersion: 'jobtemplate-2023-09'
      name: Simple File Job Bundle Example
      parameterDefinitions:
      - name: Message
        type: STRING
        default: Welcome to AWS Deadline Cloud!
      - name: InFile
        type: PATH
        objectType: FILE
        dataFlow: IN
      - name: OutFile
        type: PATH
        objectType: FILE
        dataFlow: OUT
      steps:
      - name: WelcomeToDeadlineCloud
        script:
          actions:
            onRun:
              command: '{{Task.File.Run}}'
          embeddedFiles:
          - name: Run
            type: TEXT
            runnable: true
            data: |
              #!/usr/bin/env bash
              echo "{{Param.Message}}"
      
              # hash the input file, and write that to the output
              sha256sum "{{Param.InFile}}" > "{{Param.OutFile}}"
      ```
**Anmerkung**  
Wenn Sie den Abstand in der anpassen möchten, stellen Sie sicher`template.yaml`, dass Sie Leerzeichen anstelle von Einzügen verwenden. 

   1. Speichern Sie die Datei und beenden Sie den Texteditor.

1. Geben Sie Parameterwerte für die Eingabe- und Ausgabedateien an, um den simple\$1file\$1job zu senden.

   ```
   deadline bundle submit simple_file_job \
       -p "InFile=simple_job/template.yaml" \
       -p "OutFile=hash.txt"
   ```

1. Druckt Informationen über den Job.

   ```
   deadline job get
   ```
   + Sie werden eine Ausgabe wie die folgende sehen:

     ```
     parameters:
       Message:
         string: Welcome to AWS Deadline Cloud!
       InFile:
         path: /local/home/cloudshell-user/BundleFiles/JobBundle-Examples/simple_job/template.yaml
       OutFile:
         path: /local/home/cloudshell-user/BundleFiles/JobBundle-Examples/hash.txt
     ```
   + Sie haben zwar nur relative Pfade angegeben, für die Parameter ist jedoch der vollständige Pfadsatz festgelegt. Der AWS CLI verknüpft das aktuelle Arbeitsverzeichnis mit allen Pfaden, die als Parameter bereitgestellt werden, wenn die Pfade den folgenden Typ haben`PATH`. 
   + Der Worker-Agent, der im anderen Terminalfenster ausgeführt wird, nimmt den Job auf und führt ihn aus. Diese Aktion erstellt die `hash.txt` Datei, die Sie mit dem folgenden Befehl anzeigen können. 

     ```
     cat hash.txt
     ```

     Dieser Befehl druckt eine Ausgabe, die der folgenden ähnelt.

     ```
     eaa2df5d34b54be5ac34c56a24a8c237b8487231a607eaf530a04d76b89c9cd3 /local/home/cloudshell-user/BundleFiles/JobBundle-Examples/simple_job/template.yaml
     ```

## Nächste Schritte
<a name="submit-a-job-next"></a>

Nachdem Sie gelernt haben, wie Sie einfache Jobs mit der Deadline Cloud CLI einreichen, können Sie Folgendes erkunden:
+ [Jobs mit Stellenanhängen in Deadline Cloud einreichen](run-jobs-job-attachments.md)um zu erfahren, wie man Jobs auf Hosts mit unterschiedlichen Betriebssystemen ausführt.
+ [Fügen Sie Ihrer Entwicklerfarm in Deadline Cloud eine vom Service verwaltete Flotte hinzu](service-managed-fleet.md)um Ihre Jobs auf Hosts auszuführen, die von Deadline Cloud verwaltet werden.
+ [Bereinigen Sie Ihre Farmressourcen in Deadline Cloud](cleaning-up.md)um die Ressourcen herunterzufahren, die Sie für dieses Tutorial verwendet haben.