

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将 S3 前缀复制到 Deadline Cloud 上的作业附件
<a name="examples-jb-copy-s3-to-attachments"></a>

[copy\_s3\_prefix\_to\_job\_attact](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/copy_s3_prefix_to_job_attachments) achments 任务捆绑包通过从已存储在 Amazon S3 中的位置复制文件来预填充队列的任务附件 S3 存储桶。如果您要向已有大量数据的项目添加 Deadline Cloud 场，或者提交的工作依赖于大量新数据（例如流体模拟输出），则初始作业附件上传可能会很慢。

[由于任务附件使用内容寻址存储，并且从不重新上传任务附件中已有的文件，因此您可以使用 AWS S [nowball](https://aws.amazon.com/snowball/)、AWS [或 Nimble Studio 文件](https://docs.aws.amazon.com/nimble-studio/latest/filetransfer-guide/what-is-file-transfer.html)传输等其他上传工具先将数据复制到 DataSync Amazon S3，然后使用此任务将其复制到队列的任务附件存储桶中。](https://aws.amazon.com/datasync/)

提交捆绑包并选择要并行处理多少个工作人员：

```
deadline bundle submit copy_s3_prefix_to_job_attachments \
    -p S3CopySource=s3://{{SOURCE_BUCKET_NAME}}/{{prefix-to-copy}} \
    -p Parallelism=20
```

向您的队列 IAM 角色添加以下 IAM 权限。该角色已有权读取和写入任务附件存储桶前缀。

```
{
    "Effect": "Allow",
    "Sid": "DeadlineQueueReadOnly",
    "Action": [
        "deadline:GetQueue"
    ],
    "Resource": [
        "arn:aws:deadline:{{REGION}}:{{ACCOUNT_ID}}:farm/{{FARM_ID}}/queue/{{QUEUE_ID}}"
    ]
},
{
    "Effect": "Allow",
    "Sid": "SourceBucketAccess",
    "Action": [
        "s3:ListBucket",
        "s3:GetObjectTagging",
        "s3:PutObjectTagging",
        "s3:GetObject"
    ],
    "Resource": [
        "arn:aws:s3:::{{SOURCE_BUCKET_NAME}}",
        "arn:aws:s3:::{{SOURCE_BUCKET_NAME}}/*"
    ]
}
```

此任务调用 Amazon S3 API 并将数据复制到队列的任务附件存储桶中，这会产生额外费用。使用 [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)页面和 [AWS 定价计算器](https://calculator.aws)来估算成本。