

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.

# Ausgabedateien von einem Job abrufen
<a name="getting-output-files-from-a-job"></a>

Dieses Beispiel zeigt, wie Deadline Cloud die Ausgabedateien identifiziert, die Ihre Jobs generieren, entscheidet, ob diese Dateien auf Amazon S3 hochgeladen werden, und wie Sie diese Ausgabedateien auf Ihre Workstation abrufen können. 

 Verwenden Sie für dieses Beispiel das `job_attachments_devguide_output` `job_attachments_devguide` Job-Paket anstelle des Job-Bundles. Erstellen Sie zunächst eine Kopie des Pakets in Ihrer AWS CloudShell Umgebung aus Ihrem Klon des Deadline GitHub Cloud-Beispiel-Repositorys: 

```
cp -r deadline-cloud-samples/job_bundles/job_attachments_devguide_output ~/
```

 Der wichtige Unterschied zwischen diesem Job-Paket und dem `job_attachments_devguide` Job-Paket besteht in der Hinzufügung eines neuen Jobparameters in der Job-Vorlage: 

```
...
parameterDefinitions:
...
- name: OutputDir
  type: PATH
  objectType: DIRECTORY
  dataFlow: OUT
  default: ./output_dir
  description: This directory contains the output for all steps.
...
```

 Die `dataFlow` Eigenschaft des Parameters hat den Wert`OUT`. Deadline Cloud verwendet den Wert von `dataFlow` Jobparametern mit einem Wert von `OUT` oder `INOUT` als Ausgabe Ihres Jobs. Wenn der Speicherort des Dateisystems, der als Wert für diese Art von Jobparametern übergeben wurde, einem lokalen Dateisystemspeicherort auf dem Worker, der den Job ausführt, neu zugeordnet wird, sucht Deadline Cloud am Standort nach neuen Dateien und lädt diese als Jobausgaben auf Amazon S3 hoch. 

 Um zu sehen, wie dieser Prozess funktioniert, starten Sie zuerst den Deadline Cloud Worker Agent auf einer AWS CloudShell Registerkarte. Lassen Sie alle zuvor übermittelten Jobs vollständig ausgeführt werden. Löschen Sie dann die Job-Logs aus dem Logs-Verzeichnis: 

```
rm -rf ~/demoenv-logs/queue-*
```

 Senden Sie als Nächstes einen Job mit diesem Job-Paket ein. Nachdem der Worker in Ihren CloudShell Läufen ausgeführt wurde, schauen Sie sich die Logs an: 

```
# Change the value of FARM_ID to your farm's identifier
FARM_ID=farm-{{00112233445566778899aabbccddeeff}}
# Change the value of QUEUE1_ID to queue Q1's identifier
QUEUE1_ID=queue-{{00112233445566778899aabbccddeeff}}
# Change the value of WSALL_ID to the identifier of the WSAll storage profile
WSALL_ID=sp-{{00112233445566778899aabbccddeeff}}

deadline config set settings.storage_profile_id $WSALL_ID

deadline bundle submit --farm-id $FARM_ID --queue-id $QUEUE1_ID ./job_attachments_devguide_output
```

 Das Protokoll zeigt, dass eine Datei als Ausgabe erkannt und auf Amazon S3 hochgeladen wurde: 

```
2024-07-17 02:13:10,873 INFO ----------------------------------------------
2024-07-17 02:13:10,873 INFO Uploading output files to Job Attachments
2024-07-17 02:13:10,873 INFO ----------------------------------------------
2024-07-17 02:13:10,873 INFO Started syncing outputs using Job Attachments
2024-07-17 02:13:10,955 INFO Found 1 file totaling 117.0 B in output directory: /sessions/session-7efa/assetroot-{{3751a}}/output_dir
2024-07-17 02:13:10,956 INFO Uploading output manifest to DeadlineCloud/Manifests/farm-0011/queue-2233/job-4455/step-6677/task-6677-0/2024-07-17T02:13:10.835545Z_sessionaction-8899-1/c6808439dfc59f86763aff5b07b9a76c_output
2024-07-17 02:13:10,988 INFO Uploading 1 output file to S3: {{s3BucketName}}/DeadlineCloud/Data
2024-07-17 02:13:11,011 INFO Uploaded 117.0 B / 117.0 B of 1 file (Transfer rate: 0.0 B/s)
2024-07-17 02:13:11,011 INFO Summary Statistics for file uploads:
Processed 1 file totaling 117.0 B.
Skipped re-processing 0 files totaling 0.0 B.
Total processing time of 0.02281 seconds at 5.13 KB/s.
```

 Das Protokoll zeigt auch, dass Deadline Cloud ein neues Manifestobjekt im Amazon S3-Bucket erstellt hat, das für die Verwendung durch Auftragsanhänge in der Warteschlange konfiguriert ist`Q1`. Der Name des Manifestobjekts wird aus der Farm, der Warteschlange, dem Job, dem Schritt, der Aufgabe, dem Zeitstempel und den `sessionaction` Identifikatoren der Aufgabe abgeleitet, die die Ausgabe generiert hat. Laden Sie diese Manifestdatei herunter, um zu sehen, wo Deadline Cloud die Ausgabedateien für diese Aufgabe platziert hat: 

```
# The name of queue `Q1`'s job attachments S3 bucket
Q1_S3_BUCKET=$(
  aws deadline get-queue --farm-id $FARM_ID --queue-id $QUEUE1_ID \
    --query 'jobAttachmentSettings.s3BucketName' | tr -d '"'
)

# Fill this in with the object name from your log
OBJECT_KEY="{{DeadlineCloud/Manifests/...}}"

aws s3 cp --quiet s3://$Q1_S3_BUCKET/$OBJECT_KEY /dev/stdout | jq .
```

 Das Manifest sieht wie folgt aus: 

```
{
  "hashAlg": "xxh128",
  "manifestVersion": "2023-03-03",
  "paths": [
    {
      "hash": "34178940e1ef9956db8ea7f7c97ed842",
      "mtime": 1721182390859777,
      "path": "output_dir/output.txt",
      "size": 117
    }
  ],
  "totalSize": 117
}
```

 Dies zeigt, dass der Inhalt der Ausgabedatei auf dieselbe Weise in Amazon S3 gespeichert wird wie Auftragseingabedateien. Ähnlich wie bei Eingabedateien wird die Ausgabedatei in S3 mit einem Objektnamen gespeichert, der den Hash der Datei und das Präfix enthält`DeadlineCloud/Data`. 

```
$ aws s3 ls --recursive s3://$Q1_S3_BUCKET | grep 34178940e1ef9956db8ea7f7c97ed842
2024-07-17 02:13:11        117 DeadlineCloud/Data/34178940e1ef9956db8ea7f7c97ed842.xxh128
```

 Sie können die Ausgabe eines Jobs mithilfe des Deadline Cloud-Monitors oder der Deadline Cloud-CLI auf Ihre Workstation herunterladen: 

```
deadline job download-output --farm-id $FARM_ID --queue-id $QUEUE1_ID --job-id $JOB_ID
```

 Der Wert des `OutputDir` Job-Parameters im übermittelten Job ist`./output_dir`, sodass die Ausgabe in ein Verzeichnis heruntergeladen wird, das `output_dir` innerhalb des Job-Bundle-Verzeichnisses heißt. Wenn Sie als Wert für einen absoluten Pfad oder einen anderen relativen Speicherort angegeben haben`OutputDir`, werden die Ausgabedateien stattdessen an diesen Speicherort heruntergeladen. 

```
$ deadline job download-output --farm-id $FARM_ID --queue-id $QUEUE1_ID --job-id $JOB_ID
Downloading output from Job 'Job Attachments Explorer: Output'

Summary of files to download:
    /home/cloudshell-user/job_attachments_devguide_output/output_dir/output.txt (1 file)

You are about to download files which may come from multiple root directories. Here are a list of the current root directories:
[0] /home/cloudshell-user/job_attachments_devguide_output
> Please enter the index of root directory to edit, y to proceed without changes, or n to cancel the download (0, y, n) [y]: 

Downloading Outputs  [####################################]  100%
Download Summary:
    Downloaded 1 files totaling 117.0 B.
    Total download time of 0.14189 seconds at 824.0 B/s.
    Download locations (total file counts):
        /home/cloudshell-user/job_attachments_devguide_output (1 file)
```