

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
<a name="submit-a-job"></a>

Per eseguire lavori Deadline Cloud sui tuoi host di lavoro, crei e utilizzi un pacchetto di lavori Open Job Description (OpenJD) per configurare un lavoro. Il pacchetto configura il lavoro, ad esempio specificando i file di input per un lavoro e dove scrivere l'output del lavoro. Questo argomento include esempi di modi in cui è possibile configurare un job bundle.

Prima di poter seguire le procedure in questa sezione, è necessario completare quanto segue:
+ [Crea una cloud farm di Deadline](create-a-farm.md)
+ [Esegui l'agente di lavoro Deadline Cloud](run-worker.md)

Per utilizzare AWS Deadline Cloud per eseguire lavori, 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. 

**Topics**
+ [Invia il simple\$1job campione](#submit-a-simplejob-sample)
+ [Invia un messaggio simple\$1job con un parametro](#submit-with-parameter)
+ [Crea un pacchetto di job simple\$1file\$1job con file I/O](#create-job-bundle-with-file-io)
+ [Fasi successive](#submit-a-job-next)

## Invia il simple\$1job campione
<a name="submit-a-simplejob-sample"></a>

Dopo aver creato una fattoria e aver avviato l'agente operaio, puoi inviare il simple\$1job campione a Deadline Cloud. 

**Per inviare il simple\$1job campione a Deadline Cloud**

1. Scegli la tua prima CloudShell scheda.

1. Scarica l'esempio da GitHub.

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

1. Vai alla directory degli esempi del job bundle.

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

1. Invia il simple\$1job campione.

   ```
   deadline bundle submit simple_job
   ```

1. Scegli la seconda CloudShell scheda per visualizzare l'output di registrazione relativo alle chiamate`BatchGetJobEntities`, all'attivazione 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 mostrato solo l'output di registrazione del worker agent. Esiste un registro separato per la sessione che esegue il lavoro.

1. Scegli la tua prima scheda, quindi controlla i file di registro scritti dal worker agent.

   1. Passa alla directory dei registri del worker agent e visualizzane il contenuto.

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

   1. Stampa il primo file di registro creato dal worker agent. 

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

      Questo file contiene l'output dell'agente di lavoro su come ha chiamato l'API Deadline Cloud per creare una risorsa worker nel parco macchine e poi ha assunto il ruolo del parco macchine.

   1. Stampa l'output del file di registro quando l'agente lavoratore si unisce alla flotta. 

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

      Questo registro contiene output su tutte le azioni intraprese dall'agente di lavoro, ma non contiene output sulle code da cui esegue i lavori, ad eccezione IDs di quelle risorse.

   1. 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-*.log
      ```

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

1. Stampa le informazioni sul lavoro. 

   ```
   deadline job get
   ```

   Quando inviate il lavoro, il sistema lo salva come predefinito in modo da non dover inserire l'ID del lavoro.

## Invia un messaggio simple\$1job con un parametro
<a name="submit-with-parameter"></a>

Puoi inviare lavori con parametri. Nella procedura seguente, si modifica il simple\$1job modello per includere un messaggio personalizzato, si invia il file di registro della simple\$1job sessione e si stampa il file di registro della sessione per visualizzare il messaggio. 

**Per inviare l'simple\$1jobesempio con un parametro**

1. Seleziona la tua prima CloudShell scheda, quindi vai alla directory degli esempi di job bundle.

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

1. Stampa il contenuto del simple\$1job modello.

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

   La `parameterDefinitions` sezione con il `Message` parametro dovrebbe avere l'aspetto seguente:

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

1. Inviate l'simple\$1jobesempio con un valore di parametro, quindi attendete che il processo finisca di funzionare.

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

1. 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 job simple\$1file\$1job con file I/O
<a name="create-job-bundle-with-file-io"></a>

Un lavoro di rendering deve leggere la definizione della scena, renderizzare un'immagine a partire da essa e quindi salvare l'immagine in un file di output. È possibile simulare questa azione facendo in modo che il job calcoli l'hash dell'input anziché renderizzare un'immagine.

**Per creare un pacchetto di lavoro simple\$1file\$1job con file I/O**

1. Seleziona la prima CloudShell scheda, quindi vai alla directory degli esempi di job bundle.

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

1. Crea una copia `simple_job` con il nuovo nome`simple_file_job`.

   ```
   cp -r simple_job simple_file_job
   ```

1. Modifica il modello di lavoro come segue:
**Nota**  
Ti consigliamo di utilizzarlo nano per questi passaggi. Se si preferisce utilizzareVim, è necessario impostarne la modalità di incolla utilizzando`:set paste`.

   1. Apri il modello in un editor di testo.

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

   1. Aggiungi quanto segue `type``objectType`, e `dataFlow``parameterDefinitions`. 

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

   1. Aggiungere il seguente comando di `bash` script 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 output
              sha256sum "{{Param.InFile}}" > "{{Param.OutFile}}"
      ```

      L'aggiornamento `template.yaml` dovrebbe 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. 

   1. Salvate il file e uscite dall'editor di testo.

1. Fornite i valori dei parametri per i file di input e output per inviare il simple\$1file\$1job.

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

1. 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 abbiate fornito solo percorsi relativi, per i parametri è impostato il percorso completo. 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 rileva ed esegue il lavoro. Questa azione crea il `hash.txt` file, che è possibile visualizzare con il seguente comando. 

     ```
     cat hash.txt
     ```

     Questo comando stamperà un output simile al seguente.

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

## Fasi successive
<a name="submit-a-job-next"></a>

Dopo aver appreso come inviare lavori semplici utilizzando la CLI di Deadline Cloud, puoi scoprire:
+ [Invia offerte di lavoro con allegati di lavoro in Deadline Cloud](run-jobs-job-attachments.md)per imparare a eseguire lavori su host che eseguono sistemi operativi diversi.
+ [Aggiungi una flotta gestita dai servizi alla tua farm di sviluppatori in Deadline Cloud](service-managed-fleet.md)per eseguire i tuoi lavori su host gestiti da Deadline Cloud.
+ [Pulisci le risorse della tua azienda agricola in Deadline Cloud](cleaning-up.md)per chiudere le risorse che hai usato per questo tutorial.