Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Recupero dei file di output da un processo
Questo esempio mostra come Deadline Cloud identifica i file di output generati dai tuoi lavori, decide se caricarli su Amazon S3 e come puoi caricarli sulla tua workstation.
Usa il job_attachments_devguide_output job bundle invece del job bundle per questo job_attachments_devguide esempio. Inizia creando una copia del pacchetto nel tuo AWS CloudShell ambiente dal tuo clone del repository di esempi di Deadline Cloud: GitHub
cp -r deadline-cloud-samples/job_bundles/job_attachments_devguide_output ~/
La differenza importante tra questo job bundle e il job_attachments_devguide job bundle è l'aggiunta di un nuovo parametro di job nel modello di job:
...
parameterDefinitions:
...
- name: OutputDir
type: PATH
objectType: DIRECTORY
dataFlow: OUT
default: ./output_dir
description: This directory contains the output for all steps.
... La dataFlow proprietà del parametro ha il valore. OUT Deadline Cloud utilizza il valore dei parametri del dataFlow lavoro con un valore pari OUT o INOUT come output del lavoro. Se la posizione del file system passata come valore a questo tipo di parametri del lavoro viene rimappata a una posizione del file system locale del lavoratore che esegue il lavoro, Deadline Cloud cercherà nuovi file nella posizione e li caricherà su Amazon S3 come output del lavoro.
Per vedere come funziona questo processo, avvia innanzitutto l'agente worker di Deadline Cloud in una scheda. AWS CloudShell Lascia che tutti i lavori inviati in precedenza finiscano di essere eseguiti. Quindi elimina i log dei lavori dalla directory dei log:
rm -rf ~/demoenv-logs/queue-*
Quindi, invia un lavoro con questo pacchetto di lavori. Dopo che il lavoratore ha CloudShell eseguito le tue corse, dai un'occhiata ai log:
# 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-00112233445566778899aabbccddeeffdeadline config set settings.storage_profile_id $WSALL_ID deadline bundle submit --farm-id $FARM_ID --queue-id $QUEUE1_ID ./job_attachments_devguide_output
Il registro mostra che un file è stato rilevato come output e caricato su 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. Il registro mostra anche che Deadline Cloud ha creato un nuovo oggetto manifest nel bucket Amazon S3 configurato per essere utilizzato dagli allegati del lavoro in coda. Q1 Il nome dell'oggetto manifesto deriva dalla farm, queue, job, step, task, timestamp e dagli identificatori del task che ha generato l'output. sessionaction Scarica questo file manifest per vedere dove Deadline Cloud ha inserito i file di output per questa attività:
# 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 .
Il manifesto ha il seguente aspetto:
{
"hashAlg": "xxh128",
"manifestVersion": "2023-03-03",
"paths": [
{
"hash": "34178940e1ef9956db8ea7f7c97ed842",
"mtime": 1721182390859777,
"path": "output_dir/output.txt",
"size": 117
}
],
"totalSize": 117
} Ciò dimostra che il contenuto del file di output viene salvato su Amazon S3 nello stesso modo in cui vengono salvati i file di input del lavoro. Analogamente ai file di input, il file di output viene archiviato in S3 con un nome oggetto contenente l'hash del file e il prefisso. DeadlineCloud/Data
$ aws s3 ls --recursive s3://$Q1_S3_BUCKET | grep34178940e1ef9956db8ea7f7c97ed842 2024-07-17 02:13:11 117 DeadlineCloud/Data/34178940e1ef9956db8ea7f7c97ed842.xxh128
Puoi scaricare l'output di un lavoro sulla tua workstation utilizzando il monitor Deadline Cloud o la CLI di Deadline Cloud:
deadline job download-output --farm-id $FARM_ID --queue-id $QUEUE1_ID --job-id $JOB_ID
Il valore del parametro OutputDir job nel job inviato è./output_dir, quindi l'output viene scaricato in una directory chiamata output_dir all'interno della directory del job bundle. Se hai specificato un percorso assoluto o una posizione relativa diversa come valore perOutputDir, i file di output verranno invece scaricati in quella posizione.
$ deadline job download-output --farm-id $FARM_ID --queue-id $QUEUE1_ID --job-id $JOB_IDDownloading 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)