

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Cómo elige Deadline Cloud los archivos que desea cargar
<a name="how-job-attachments-decides-what-to-upload-to-amazon-s3"></a>

 Los archivos y directorios que job attachments considera para cargar en Amazon S3 como entradas para su trabajo son: 
+  Los valores de todos los parámetros `PATH` de trabajo de tipo definido en la plantilla de trabajo del paquete de trabajos con un `dataFlow` valor de `IN` o`INOUT`.
+  Los archivos y directorios que aparecen como entradas en el archivo de referencias de activos del paquete de trabajos. 

 Si envía un trabajo sin perfil de almacenamiento, se cargarán todos los archivos que desee cargar. Si envía un trabajo con un perfil de almacenamiento, los archivos no se cargan en Amazon S3 si se encuentran en ubicaciones de sistema de archivos `SHARED` tipo perfil de almacenamiento que también son ubicaciones de sistema de archivos obligatorias para la cola. Se espera que estas ubicaciones estén disponibles en los hosts de trabajo que ejecutan el trabajo, por lo que no es necesario cargarlas en S3. 

 En este ejemplo, crea ubicaciones de sistemas de `SHARED` archivos `WSAll` en su CloudShell entorno de AWS y, a continuación, añade archivos a esas ubicaciones de sistemas de archivos. Utilice el siguiente comando : 

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

 A continuación, añada un archivo de referencias de activos al paquete de trabajos que incluya todos los archivos que creó como entradas para el trabajo. Utilice el siguiente comando : 

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

 A continuación, configure la CLI de Deadline Cloud para enviar los trabajos con el perfil de `WSAll` almacenamiento y, a continuación, envíe el paquete de trabajos: 

```
# 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 carga dos archivos a Amazon S3 cuando envías el trabajo. Puede descargar los objetos del manifiesto del trabajo desde S3 para ver los archivos cargados: 

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

 En este ejemplo, hay un único archivo de manifiesto con el siguiente contenido: 

```
{
    "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
}
```

 Usa la [GetJob operación](https://docs.aws.amazon.com/deadline-cloud/latest/APIReference/API_GetJob.html) del manifiesto para comprobar que `rootPath` es «/». 

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

 La ruta raíz del conjunto de archivos de entrada es siempre la subruta común más larga de esos archivos. Si el trabajo se envió desde, Windows en cambio, y hay archivos de entrada que no tienen una subruta común porque se encuentran en unidades diferentes, verá una ruta raíz independiente en cada unidad. Las rutas de un manifiesto siempre son relativas a la ruta raíz del manifiesto, por lo que los archivos de entrada que se cargaron son los siguientes: 
+  `/home/cloudshell-user/job_attachments_devguide/script.sh`— El archivo de script del paquete de tareas. 
+  `/shared/projects/project2/file.txt`— El archivo en una ubicación del sistema de `SHARED` archivos del perfil `WSAll` de almacenamiento que **no** figura en la lista de ubicaciones de sistemas de archivos obligatorias para la cola`Q1`. 

Los archivos en las ubicaciones del sistema de archivos `FSCommon` (`/shared/common/file.txt`) y `FS1` (`/shared/projects/project1/file.txt`) no están en la lista. Esto se debe a que esas ubicaciones del sistema de archivos están `SHARED` en el perfil de `WSAll` almacenamiento y ambas están en la lista de ubicaciones obligatorias del sistema de archivos en cola`Q1`. 

Con la [GetStorageProfileForQueue operación](https://docs.aws.amazon.com/deadline-cloud/latest/APIReference/API_GetStorageProfileForQueue.html), puede ver las ubicaciones de los sistemas de archivos consideradas `SHARED` para un trabajo que se envía con un perfil de almacenamiento determinado. Para consultar el perfil de almacenamiento `WSAll` de la cola, `Q1` utilice el siguiente comando: 

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