

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

# Bagaimana Deadline Cloud memilih file yang akan diunggah
<a name="how-job-attachments-decides-what-to-upload-to-amazon-s3"></a>

 File dan direktori yang dipertimbangkan oleh lampiran pekerjaan untuk diunggah ke Amazon S3 sebagai input ke pekerjaan Anda adalah: 
+  Nilai-nilai dari semua parameter pekerjaan `PATH` -type didefinisikan dalam template pekerjaan bundel pekerjaan dengan `dataFlow` nilai `IN` atau`INOUT`.
+  File dan direktori terdaftar sebagai input dalam file referensi aset bundel pekerjaan. 

 Jika Anda mengirimkan pekerjaan tanpa profil penyimpanan, semua file yang dipertimbangkan untuk diunggah akan diunggah. Jika Anda mengirimkan pekerjaan dengan profil penyimpanan, file tidak akan diunggah ke Amazon S3 jika mereka berada di lokasi sistem file tipe penyimpanan profil `SHARED` penyimpanan yang juga diperlukan lokasi sistem file untuk antrian. Lokasi ini diharapkan tersedia di host pekerja yang menjalankan pekerjaan, jadi tidak perlu mengunggahnya ke S3. 

 Dalam contoh ini, Anda membuat lokasi sistem `SHARED` file `WSAll` di CloudShell lingkungan AWS Anda dan kemudian menambahkan file ke lokasi sistem file tersebut. Gunakan perintah berikut ini. 

```
# Change the value of WSALL_ID to the identifier of the WSAll storage profile
WSALL_ID=sp-{{00112233445566778899aabbccddeeff}}

sudo mkdir -p /shared/common /shared/projects/project1 /shared/projects/project2
sudo chown -R cloudshell-user:cloudshell-user /shared

for d in /shared/common /shared/projects/project1 /shared/projects/project2; do
  echo "File contents for $d" > ${d}/file.txt
done
```

 Selanjutnya, tambahkan file referensi aset ke bundel pekerjaan yang menyertakan semua file yang Anda buat sebagai input untuk pekerjaan tersebut. Gunakan perintah berikut ini. 

```
cat > ${HOME}/job_attachments_devguide/asset_references.yaml << EOF
assetReferences:
  inputs:
    filenames:
    - /shared/common/file.txt
    directories:
    - /shared/projects/project1
    - /shared/projects/project2
EOF
```

 Selanjutnya, konfigurasikan Deadline Cloud CLI untuk mengirimkan pekerjaan dengan `WSAll` profil penyimpanan, lalu kirimkan bundel pekerjaan: 

```
# 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-{{00112233445566778899aabbccddeeff}}

deadline config set settings.storage_profile_id $WSALL_ID

deadline bundle submit --farm-id $FARM_ID --queue-id $QUEUE1_ID job_attachments_devguide/
```

Deadline Cloud mengunggah dua file ke Amazon S3 saat Anda mengirimkan pekerjaan. Anda dapat mengunduh objek manifes untuk pekerjaan dari S3 untuk melihat file yang diunggah: 

```
for manifest in $( \
  aws deadline get-job --farm-id $FARM_ID --queue-id $QUEUE1_ID --job-id $JOB_ID \
    --query 'attachments.manifests[].inputManifestPath' \
    | jq -r '.[]'
); do
  echo "Manifest object: $manifest"
  aws s3 cp --quiet s3://$Q1_S3_BUCKET/DeadlineCloud/Manifests/$manifest /dev/stdout | jq .
done
```

 Dalam contoh ini, ada satu file manifes dengan konten berikut: 

```
{
    "hashAlg": "xxh128",
    "manifestVersion": "2023-03-03",
    "paths": [
        {
            "hash": "87cb19095dd5d78fcaf56384ef0e6241",
            "mtime": 1721147454416085,
            "path": "home/cloudshell-user/job_attachments_devguide/script.sh",
            "size": 39
        },
        {
            "hash": "af5a605a3a4e86ce7be7ac5237b51b79",
            "mtime": 1721163773582362,
            "path": "shared/projects/project2/file.txt",
            "size": 44
        }
    ],
    "totalSize": 83
}
```

 Gunakan [GetJob operasi](https://docs.aws.amazon.com/deadline-cloud/latest/APIReference/API_GetJob.html) untuk manifes untuk melihat bahwa `rootPath` adalah “/”. 

```
aws deadline get-job --farm-id $FARM_ID --queue-id $QUEUE1_ID --job-id $JOB_ID --query 'attachments.manifests[*]'
```

 Jalur root untuk kumpulan file input selalu merupakan subpath umum terpanjang dari file-file tersebut. Jika pekerjaan Anda dikirim dari Windows sebagai gantinya dan ada file input tanpa subpath umum karena mereka berada di drive yang berbeda, Anda melihat jalur root terpisah pada setiap drive. Jalur dalam manifes selalu relatif terhadap jalur root manifes, sehingga file input yang diunggah adalah: 
+  `/home/cloudshell-user/job_attachments_devguide/script.sh`— File skrip dalam bundel pekerjaan. 
+  `/shared/projects/project2/file.txt`— File di lokasi sistem `SHARED` file di profil `WSAll` penyimpanan yang **tidak** ada dalam daftar lokasi sistem file yang diperlukan untuk antrian`Q1`. 

File di lokasi sistem file `FSCommon` (`/shared/common/file.txt`) dan `FS1` (`/shared/projects/project1/file.txt`) tidak ada dalam daftar. Ini karena lokasi sistem file tersebut berada `SHARED` di profil `WSAll` penyimpanan dan keduanya berada dalam daftar lokasi sistem file yang diperlukan dalam antrian`Q1`. 

Anda dapat melihat lokasi sistem file yang dipertimbangkan `SHARED` untuk pekerjaan yang dikirimkan dengan profil penyimpanan tertentu dengan [GetStorageProfileForQueue operasi](https://docs.aws.amazon.com/deadline-cloud/latest/APIReference/API_GetStorageProfileForQueue.html). Untuk kueri profil penyimpanan `WSAll` untuk antrian `Q1` gunakan perintah berikut: 

```
aws deadline get-storage-profile --farm-id $FARM_ID --storage-profile-id $WSALL_ID

aws deadline get-storage-profile-for-queue --farm-id $FARM_ID --queue-id $QUEUE1_ID --storage-profile-id $WSALL_ID
```