

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kirim dengan Deadline Cloud
<a name="submit-a-job"></a>

Untuk menjalankan pekerjaan Deadline Cloud di host pekerja Anda, Anda membuat dan menggunakan paket pekerjaan Open Job Description (OpenJD) untuk mengonfigurasi pekerjaan. Bundel mengkonfigurasi pekerjaan, misalnya dengan menentukan file input untuk pekerjaan dan di mana untuk menulis output pekerjaan. Topik ini mencakup contoh cara Anda dapat mengonfigurasi bundel pekerjaan.

Sebelum Anda dapat mengikuti prosedur di bagian ini, Anda harus menyelesaikan yang berikut:
+ [Buat pertanian Cloud Deadline](create-a-farm.md)
+ [Jalankan agen pekerja Deadline Cloud](run-worker.md)

Untuk menggunakan AWS Deadline Cloud untuk menjalankan pekerjaan, gunakan prosedur berikut. Gunakan AWS CloudShell tab pertama untuk mengirimkan pekerjaan ke peternakan pengembang Anda. Gunakan CloudShell tab kedua untuk melihat output agen pekerja. 

**Topics**
+ [Kirim simple\$1job sampelnya](#submit-a-simplejob-sample)
+ [Kirim simple\$1job dengan parameter](#submit-with-parameter)
+ [Buat bundel pekerjaan simple\$1file\$1job dengan file I/O](#create-job-bundle-with-file-io)
+ [Langkah selanjutnya](#submit-a-job-next)

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

Setelah membuat peternakan dan menjalankan agen pekerja, Anda dapat mengirimkan simple\$1job sampel ke Deadline Cloud. 

**Untuk mengirimkan simple\$1job sampel ke Deadline Cloud**

1. Pilih CloudShell tab pertama Anda.

1. Unduh sampel dari GitHub.

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

1. Arahkan ke direktori sampel bundel pekerjaan.

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

1. Kirim simple\$1job sampel.

   ```
   deadline bundle submit simple_job
   ```

1. Pilih CloudShell tab kedua Anda untuk melihat output logging tentang panggilan`BatchGetJobEntities`, mendapatkan sesi, dan menjalankan tindakan sesi.

   ```
   ...
   [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]
   ...
   ```
**catatan**  
Hanya output logging dari agen pekerja yang ditampilkan. Ada log terpisah untuk sesi yang menjalankan pekerjaan.

1. Pilih tab pertama Anda, lalu periksa file log yang ditulis agen pekerja.

   1. Arahkan ke direktori log agen pekerja dan lihat isinya.

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

   1. Cetak file log pertama yang dibuat oleh agen pekerja. 

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

      File ini berisi output agen pekerja tentang bagaimana itu disebut Deadline Cloud API untuk membuat sumber daya pekerja di armada Anda, dan kemudian mengambil peran armada.

   1. Cetak output file log saat agen pekerja bergabung dengan armada. 

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

      Log ini berisi output tentang semua tindakan yang diambil agen pekerja, tetapi tidak berisi output tentang antrian tempat ia menjalankan pekerjaan, kecuali untuk sumber daya tersebut IDs .

   1. Cetak file log untuk setiap sesi dalam direktori yang diberi nama sama dengan id sumber daya antrian.

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

      Jika pekerjaan berhasil, output file log akan mirip dengan yang berikut ini:

      ```
      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. Cetak informasi tentang pekerjaan itu. 

   ```
   deadline job get
   ```

   Saat Anda mengirimkan pekerjaan, sistem menyimpannya sebagai default sehingga Anda tidak perlu memasukkan ID pekerjaan.

## Kirim simple\$1job dengan parameter
<a name="submit-with-parameter"></a>

Anda dapat mengirimkan pekerjaan dengan parameter. Dalam prosedur berikut, Anda mengedit simple\$1job template untuk menyertakan pesan khusus, mengirimkansimple\$1job, lalu mencetak file log sesi untuk melihat pesan. 

**Untuk mengirimkan simple\$1job sampel dengan parameter**

1. Pilih CloudShell tab pertama Anda, lalu arahkan ke direktori sampel bundel pekerjaan.

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

1. Cetak isi simple\$1job template.

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

   `parameterDefinitions`Bagian dengan `Message` parameter akan terlihat seperti berikut:

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

1. Kirim simple\$1job sampel dengan nilai parameter, lalu tunggu pekerjaan selesai berjalan.

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

1. Untuk melihat pesan kustom, lihat file log sesi terbaru.

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

## Buat bundel pekerjaan simple\$1file\$1job dengan file I/O
<a name="create-job-bundle-with-file-io"></a>

Pekerjaan render perlu membaca definisi adegan, merender gambar darinya, dan kemudian menyimpan gambar itu ke file output. Anda dapat mensimulasikan tindakan ini dengan membuat pekerjaan menghitung hash input alih-alih merender gambar.

**Untuk membuat bundel pekerjaan simple\$1file\$1job dengan file I/O**

1. Pilih CloudShell tab pertama Anda, lalu arahkan ke direktori sampel bundel pekerjaan.

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

1. Buat salinan `simple_job` dengan nama baru`simple_file_job`.

   ```
   cp -r simple_job simple_file_job
   ```

1. Edit template pekerjaan sebagai berikut:
**catatan**  
Kami menyarankan Anda menggunakan nano langkah-langkah ini. Jika Anda lebih suka menggunakanVim, Anda harus mengatur mode tempel menggunakan`:set paste`.

   1. Buka template di editor teks.

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

   1. Tambahkan yang berikut ini`type`,`objectType`, dan `dataFlow``parameterDefinitions`. 

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

   1. Tambahkan perintah `bash` script berikut ke akhir file yang membaca dari file input dan menulis ke file output. 

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

      Yang diperbarui `template.yaml` harus sama persis dengan yang berikut:

      ```
      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}}"
      ```
**catatan**  
Jika Anda ingin menyesuaikan spasi di`template.yaml`, pastikan Anda menggunakan spasi alih-alih lekukan. 

   1. Simpan file, dan keluar dari editor teks.

1. Berikan nilai parameter untuk file input dan output untuk mengirimkan simple\$1file\$1job.

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

1. Cetak informasi tentang pekerjaan itu.

   ```
   deadline job get
   ```
   + Anda akan melihat output seperti berikut ini:

     ```
     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
     ```
   + Meskipun Anda hanya menyediakan jalur relatif, parameter memiliki jalur lengkap yang disetel. AWS CLI Menggabungkan direktori kerja saat ini ke jalur apa pun yang disediakan sebagai parameter saat jalur memiliki tipe`PATH`. 
   + Agen pekerja yang berjalan di jendela terminal lain mengambil dan menjalankan pekerjaan. Tindakan ini membuat `hash.txt` file, yang dapat Anda lihat dengan perintah berikut. 

     ```
     cat hash.txt
     ```

     Perintah ini akan mencetak output yang mirip dengan berikut ini.

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

## Langkah selanjutnya
<a name="submit-a-job-next"></a>

Setelah mempelajari cara mengirimkan pekerjaan sederhana menggunakan Deadline Cloud CLI, Anda dapat menjelajahi:
+ [Kirim pekerjaan dengan lampiran pekerjaan di Deadline Cloud](run-jobs-job-attachments.md)untuk mempelajari cara menjalankan pekerjaan pada host yang menjalankan sistem operasi yang berbeda.
+ [Menambahkan armada yang dikelola layanan ke farm pengembang Anda di Deadline Cloud](service-managed-fleet.md)untuk menjalankan pekerjaan Anda di host yang dikelola oleh Deadline Cloud.
+ [Bersihkan sumber daya pertanian Anda di Deadline Cloud](cleaning-up.md)untuk mematikan sumber daya yang Anda gunakan untuk tutorial ini.