

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Obtener los archivos de salida de un trabajo
<a name="getting-output-files-from-a-job"></a>

En este ejemplo, se muestra cómo Deadline Cloud identifica los archivos de salida que generan sus trabajos, decide si los sube a Amazon S3 y cómo puede llevarlos a su estación de trabajo. 

 Para este ejemplo, utilice el `job_attachments_devguide_output` paquete de `job_attachments_devguide` trabajos en lugar del paquete de trabajos. Comience por hacer una copia del paquete en su AWS CloudShell entorno a partir de su clon del GitHub repositorio de muestras de Deadline Cloud: 

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

 La diferencia importante entre este paquete de trabajos y el paquete de `job_attachments_devguide` trabajos es la adición de un nuevo parámetro de trabajo en la plantilla de trabajo: 

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

 La `dataFlow` propiedad del parámetro tiene el valor`OUT`. Deadline Cloud usa el valor de los parámetros del `dataFlow` trabajo con un valor `INOUT` igual `OUT` o como resultados de su trabajo. Si la ubicación del sistema de archivos transferida como valor a este tipo de parámetros de trabajo se reasigna a una ubicación del sistema de archivos local del trabajador que ejecuta el trabajo, Deadline Cloud buscará nuevos archivos en esa ubicación y los cargará en Amazon S3 como resultados del trabajo. 

 Para ver cómo funciona este proceso, inicie primero el agente de trabajo de Deadline Cloud en una AWS CloudShell pestaña. Deje que los trabajos enviados anteriormente terminen de ejecutarse. A continuación, borre los registros de trabajos del directorio de registros: 

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

 A continuación, envíe un trabajo con este paquete de trabajos. Después de que el trabajador que se está ejecutando en sus CloudShell carreras, mire los registros: 

```
# 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
```

 El registro muestra que se detectó un archivo como salida y se cargó en Amazon S3: 

```
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.
```

 El registro también muestra que Deadline Cloud creó un nuevo objeto de manifiesto en el bucket de Amazon S3 configurado para que lo utilizaran los archivos adjuntos de tareas en cola`Q1`. El nombre del objeto de manifiesto se deriva de la granja, la cola, el trabajo, el paso, la tarea, la marca de tiempo y los `sessionaction` identificadores de la tarea que generó el resultado. Descarga este archivo de manifiesto para ver dónde ha colocado Deadline Cloud los archivos de salida para esta tarea: 

```
# 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 .
```

 El manifiesto tiene el siguiente aspecto: 

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

 Esto muestra que el contenido del archivo de salida se guarda en Amazon S3 de la misma manera que se guardan los archivos de entrada de tareas. Al igual que los archivos de entrada, el archivo de salida se almacena en S3 con un nombre de objeto que contiene el hash del archivo y el prefijo`DeadlineCloud/Data`. 

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

 Puede descargar el resultado de un trabajo a su estación de trabajo mediante el monitor Deadline Cloud o la CLI de Deadline Cloud: 

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

 El valor del parámetro de `OutputDir` trabajo en el trabajo enviado es`./output_dir`, por lo que los resultados se descargan a un directorio llamado `output_dir` dentro del directorio del paquete de trabajos. Si especificó una ruta absoluta o una ubicación relativa diferente como valor para`OutputDir`, los archivos de salida se descargarán en esa ubicación en su lugar. 

```
$ 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)
```