

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Envie com o Deadline Cloud
<a name="submit-a-job"></a>

Para executar trabalhos do Deadline Cloud em seus hosts de trabalho, você cria e usa um pacote de trabalhos do Open Job Description (OpenJD) para configurar um trabalho. O pacote configura o trabalho, por exemplo, especificando arquivos de entrada para um trabalho e onde gravar a saída do trabalho. Este tópico inclui exemplos de maneiras pelas quais você pode configurar um pacote de tarefas.

Antes de seguir os procedimentos desta seção, você deve concluir o seguinte:
+ [Crie um Deadline Cloud Farm](create-a-farm.md)
+ [Execute o agente Deadline Cloud Worker](run-worker.md)

Para usar o AWS Deadline Cloud para executar trabalhos, use os procedimentos a seguir. Use a primeira AWS CloudShell guia para enviar trabalhos para sua fazenda de desenvolvedores. Use a segunda CloudShell guia para visualizar a saída do agente de trabalho. 

**Topics**
+ [Envie a simple\$1job amostra](#submit-a-simplejob-sample)
+ [Envie um simple\$1job com um parâmetro](#submit-with-parameter)
+ [Crie um pacote de tarefas simple\$1file\$1job com E/S de arquivo](#create-job-bundle-with-file-io)
+ [Próximas etapas](#submit-a-job-next)

## Envie a simple\$1job amostra
<a name="submit-a-simplejob-sample"></a>

Depois de criar uma fazenda e executar o agente de trabalho, você pode enviar a simple\$1job amostra para o Deadline Cloud. 

**Para enviar a simple\$1job amostra para o Deadline Cloud**

1. Escolha sua primeira CloudShell guia.

1. Faça o download da amostra em GitHub.

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

1. Navegue até o diretório de amostras do pacote de tarefas.

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

1. Envie a simple\$1job amostra.

   ```
   deadline bundle submit simple_job
   ```

1. Escolha sua segunda CloudShell guia para ver a saída de registro sobre chamadas`BatchGetJobEntities`, obtenção de uma sessão e execução de uma ação de sessão.

   ```
   ...
   [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**  
Somente a saída de registro do agente de trabalho é mostrada. Há um registro separado para a sessão que executa o trabalho.

1. Escolha sua primeira guia e, em seguida, inspecione os arquivos de log que o agente de trabalho grava.

   1. Navegue até o diretório de registros do agente de trabalho e visualize seu conteúdo.

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

   1. Imprima o primeiro arquivo de log criado pelo agente de trabalho. 

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

      Esse arquivo contém a saída do agente de trabalho sobre como ele chamou a API Deadline Cloud para criar um recurso de trabalhador em sua frota e, em seguida, assumiu a função de frota.

   1. Imprima a saída do arquivo de log quando o agente de trabalho se junta à frota. 

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

      Esse registro contém saídas sobre todas as ações que o agente de trabalho executa, mas não contém saídas sobre as filas a partir das quais ele executa trabalhos, exceto esses IDs recursos.

   1. Imprima os arquivos de log de cada sessão em um diretório com o mesmo nome do ID do recurso da fila.

      ```
      cat $DEV_QUEUE_ID/session-*.log
      ```

      Se o trabalho for bem-sucedido, a saída do arquivo de log será semelhante à seguinte:

      ```
      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. Imprima informações sobre o trabalho. 

   ```
   deadline job get
   ```

   Quando você envia o trabalho, o sistema o salva como padrão para que você não precise inserir o ID do trabalho.

## Envie um simple\$1job com um parâmetro
<a name="submit-with-parameter"></a>

Você pode enviar trabalhos com parâmetros. No procedimento a seguir, você edita o simple\$1job modelo para incluir uma mensagem personalizada, envia a simple\$1job e imprime o arquivo de log da sessão para visualizar a mensagem. 

**Para enviar a simple\$1job amostra com um parâmetro**

1. Selecione sua primeira CloudShell guia e, em seguida, navegue até o diretório de amostras do pacote de tarefas.

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

1. Imprima o conteúdo do simple\$1job modelo.

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

   A `parameterDefinitions` seção com o `Message` parâmetro deve ter a seguinte aparência:

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

1. Envie a simple\$1job amostra com um valor de parâmetro e aguarde a conclusão da execução do trabalho.

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

1. Para ver a mensagem personalizada, veja o arquivo de registro da sessão mais recente.

   ```
   cd ~/demoenv-logs
   cat $DEV_QUEUE_ID/$(ls -t $DEV_QUEUE_ID | head -1)
   ```

## Crie um pacote de tarefas simple\$1file\$1job com E/S de arquivo
<a name="create-job-bundle-with-file-io"></a>

Um trabalho de renderização precisa ler a definição da cena, renderizar uma imagem a partir dela e depois salvar essa imagem em um arquivo de saída. Você pode simular essa ação fazendo com que o trabalho calcule o hash da entrada em vez de renderizar uma imagem.

**Para criar um pacote de tarefas simple\$1file\$1job com E/S de arquivo**

1. Selecione sua primeira CloudShell guia e, em seguida, navegue até o diretório de amostras do pacote de tarefas.

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

1. Faça uma cópia do `simple_job` com o novo nome`simple_file_job`.

   ```
   cp -r simple_job simple_file_job
   ```

1. Edite o modelo de trabalho da seguinte forma:
**nota**  
Recomendamos que você use nano essas etapas. Se você preferir usarVim, defina o modo de colagem usando`:set paste`.

   1. Abra o modelo em um editor de texto.

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

   1. Adicione o seguinte `type``objectType`, `dataFlow` `parameterDefinitions` e. 

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

   1. Adicione o seguinte comando de `bash` script ao final do arquivo que lê o arquivo de entrada e grava no arquivo de saída. 

      ```
              # hash the input file, and write that to the output
              sha256sum "{{Param.InFile}}" > "{{Param.OutFile}}"
      ```

      A atualização `template.yaml` deve corresponder exatamente ao seguinte:

      ```
      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 você quiser ajustar o espaçamento no`template.yaml`, certifique-se de usar espaços em vez de recuos. 

   1. Salve o arquivo e saia do editor de texto.

1. Forneça valores de parâmetros para os arquivos de entrada e saída para enviar o simple\$1file\$1job.

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

1. Imprima informações sobre o trabalho.

   ```
   deadline job get
   ```
   + Você verá uma saída como a seguinte:

     ```
     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
     ```
   + Embora você tenha fornecido somente caminhos relativos, os parâmetros têm o caminho completo definido. O AWS CLI une o diretório de trabalho atual a todos os caminhos fornecidos como parâmetros quando os caminhos têm o tipo`PATH`. 
   + O agente de trabalho em execução na outra janela do terminal pega e executa o trabalho. Essa ação cria o `hash.txt` arquivo, que você pode visualizar com o comando a seguir. 

     ```
     cat hash.txt
     ```

     Esse comando imprimirá uma saída semelhante à seguinte.

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

## Próximas etapas
<a name="submit-a-job-next"></a>

Depois de aprender a enviar trabalhos simples usando a CLI do Deadline Cloud, você pode explorar:
+ [Envie vagas com anexos de vagas no Deadline Cloud](run-jobs-job-attachments.md)para aprender a executar trabalhos em hosts que executam sistemas operacionais diferentes.
+ [Adicione uma frota gerenciada por serviços à sua fazenda de desenvolvedores no Deadline Cloud](service-managed-fleet.md)para executar seus trabalhos em hosts gerenciados pelo Deadline Cloud.
+ [Limpe os recursos da sua fazenda no Deadline Cloud](cleaning-up.md)para encerrar os recursos que você usou neste tutorial.