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à.
Invia con Deadline Cloud
Per eseguire i job di Deadline Cloud sui tuoi worker host, crei e usi un job bundle Open Job Description (OpenJD) per configurare un job. Il pacchetto configura il job, ad esempio specificando i file di input per un job e dove scrivere l'output del job. Questo argomento include esempi di modi in cui è possibile configurare un job bundle.
Prima di poter seguire le procedure descritte in questa sezione, è necessario completare quanto segue:
Per utilizzare AWS Deadline Cloud per eseguire processi, utilizza le seguenti procedure. Usa la prima AWS CloudShell scheda per inviare lavori alla tua farm di sviluppatori. Usa la seconda CloudShell scheda per visualizzare l'output del worker agent.
Argomenti
Invia il simple_job esempio
Dopo aver creato una farm ed eseguito il worker agent, puoi inviare il simple_job campione a Deadline Cloud.
Per inviare simple_job esempio per Deadline Cloud
-
Scegli la tua prima CloudShell scheda.
-
Scarica l'esempio da GitHub.
cd ~ git clone https://github.com/aws-deadline/deadline-cloud-samples.git -
Accedi alla directory degli esempi del job bundle.
cd ~/deadline-cloud-samples/job_bundles/ -
Inviate il simple_job campione.
deadline bundle submit simple_job -
Scegli la seconda CloudShell scheda per visualizzare l'output di registrazione relativo alla chiamata
BatchGetJobEntities, all'avvio di una sessione e all'esecuzione di un'azione di sessione.... [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] ...Nota
Viene visualizzato solo l'output di registrazione del worker agent. È disponibile un registro separato per la sessione che esegue il processo.
-
Scegli la tua prima scheda, quindi controlla i file di registro scritti dal worker agent.
-
Accedi alla directory dei log del worker agent e visualizzane il contenuto.
cd ~/demoenv-logs ls -
Stampa il primo file di registro creato dal worker agent.
cat worker-agent-bootstrap.logQuesto file contiene l'output del worker agent su come ha chiamato l'API Deadline Cloud per creare una risorsa di lavoro nella tua flotta e quindi ha assunto il ruolo della flotta.
-
Stampa l'output del file di registro quando l'agente operaio entra a far parte della flotta.
cat worker-agent.logQuesto registro contiene risultati su tutte le azioni intraprese dal worker agent, ma non contiene output sulle code da cui esegue i lavori, ad eccezione degli ID di tali risorse.
-
Stampa i file di registro per ogni sessione in una directory con lo stesso nome dell'ID della risorsa della coda.
cat $DEV_QUEUE_ID/session-*.logSe il processo ha esito positivo, l'output del file di registro sarà simile al seguente:
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
-
-
Stampa le informazioni sul lavoro.
deadline job getQuando invii il lavoro, il sistema lo salva come predefinito in modo da non dover inserire l'ID del lavoro.
Invia un simple_job con un parametro
Puoi inviare lavori con parametri. Nella procedura seguente, si modifica il simple_job modello per includere un messaggio personalizzato, si invia e quindi si stampa il file di registro della sessione per visualizzare il messaggio. simple_job
Per inviare il simple_job esempio con un parametro
-
Seleziona la tua prima CloudShell scheda, quindi vai alla directory degli esempi del job bundle.
cd ~/deadline-cloud-samples/job_bundles/ -
Stampa il contenuto del simple_job modello.
cat simple_job/template.yamlLa
parameterDefinitionssezione con ilMessageparametro dovrebbe essere simile alla seguente:parameterDefinitions: - name: Message type: STRING default: Welcome to AWS Deadline Cloud! -
Invia l'simple_jobesempio con un valore di parametro, quindi attendi che il processo termini l'esecuzione.
deadline bundle submit simple_job \ -p "Message=Greetings from the developer getting started guide." -
Per visualizzare il messaggio personalizzato, visualizza il file di registro della sessione più recente.
cd ~/demoenv-logs cat $DEV_QUEUE_ID/$(ls -t $DEV_QUEUE_ID | head -1)
Crea un pacchetto di lavoro simple_file_job con file I/O
Un lavoro di rendering deve leggere la definizione della scena, renderizzare un'immagine e quindi salvarla in un file di output. È possibile simulare questa azione facendo in modo che il lavoro calcoli l'hash dell'input invece di renderizzare un'immagine.
Per creare un pacchetto di lavoro simple_file_job con file I/O
-
Seleziona la tua prima CloudShell scheda, quindi vai alla directory degli esempi del job bundle.
cd ~/deadline-cloud-samples/job_bundles/ -
Creane una copia
simple_jobcon il nuovo nomesimple_file_job.cp -r simple_job simple_file_job -
Modifica il modello di lavoro come segue:
Nota
Ti consigliamo di utilizzarlo nano per questi passaggi. Se si preferisce utilizzareVim, è necessario impostarne la modalità incolla utilizzando
:set paste.-
Apri il modello in un editor di testo.
nano simple_file_job/template.yaml -
Aggiungete quanto segue
typeobjectType, edataFlowparameterDefinitions.- name: InFile type: PATH objectType: FILE dataFlow: IN - name: OutFile type: PATH objectType: FILE dataFlow: OUT -
Aggiungete il seguente comando di
bashscript alla fine del file che legge dal file di input e scrive nel file di output.# hash the input file, and write that to the outputsha256sum "{{Param.InFile}}" > "{{Param.OutFile}}"L'aggiornamento
template.yamldeve corrispondere esattamente a quanto segue: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}}"Nota
Se desideri regolare la spaziatura in
template.yaml, assicurati di utilizzare spazi anziché rientri. -
Salvate il file e uscite dall'editor di testo.
-
-
Fornite i valori dei parametri per i file di input e output per inviare simple_file_job.
deadline bundle submit simple_file_job \ -p "InFile=simple_job/template.yaml" \ -p "OutFile=hash.txt" -
Stampa le informazioni sul lavoro.
deadline job get-
Verrà visualizzato un output come il seguente:
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 -
Sebbene tu abbia fornito solo percorsi relativi, i parametri hanno il percorso completo impostato. AWS CLI Unisce la directory di lavoro corrente a tutti i percorsi forniti come parametri quando i percorsi hanno il tipo
PATH. -
L'agente di lavoro in esecuzione nell'altra finestra del terminale preleva ed esegue il lavoro. Questa azione crea il
hash.txtfile, che è possibile visualizzare con il comando seguente.cat hash.txtQuesto comando stamperà un output simile al seguente.
eaa2df5d34b54be5ac34c56a24a8c237b8487231a607eaf530a04d76b89c9cd3 /local/home/cloudshell-user/BundleFiles/JobBundle-Examples/simple_job/template.yaml
-
Fasi successive
Dopo aver appreso come inviare lavori semplici utilizzando la CLI di Deadline Cloud, puoi esplorare:
-
Invia offerte di lavoro con allegati di lavoro in Deadline Cloudper imparare a eseguire processi su host che eseguono sistemi operativi diversi.
-
Aggiungi una flotta gestita dai servizi alla tua farm di sviluppatori in Deadline Cloudper eseguire i tuoi lavori su host gestiti da Deadline Cloud.
-
Pulisci le risorse della tua azienda agricola in Deadline Cloudper chiudere le risorse che hai utilizzato per questo tutorial.