

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

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

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

由于任务附件使用内容寻址存储，从不重新上传任务附件中已经存在的文件，因此您可以使用 AWS Snowball [ 或 ](https://aws.amazon.com/snowball/) AWS 等替代上传工具先将数据复制 DataSync[到 ](https://aws.amazon.com/datasync/) Amazon S3 中，然后使用此任务将其复制到队列的任务附件存储桶中。

提交捆绑包并选择要并行处理的工作人员数量：

```
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)估算成本。