

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將 S3 字首複製到截止日期雲端上的任務附件
<a name="examples-jb-copy-s3-to-attachments"></a>

[copy\_s3\_prefix\_to\_job\_attachments](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/copy_s3_prefix_to_job_attachments) 任務套件會預先填入佇列的任務附件 S3 儲存貯體，方法是從它們已存放在 Amazon S3 中的位置複製檔案。如果您要將截止日期雲端陣列新增至已有大量資料的專案，或要提交依賴大量新資料的任務，例如流體模擬輸出，初始任務附件上傳可能會很慢。

由於任務附件使用以內容為定址的儲存體，且永遠不會重新上傳已在任務附件中的檔案，因此您可以使用 [AWS Snowball](https://aws.amazon.com/snowball/)、[AWS DataSync](https://aws.amazon.com/datasync/) 或 [Nimble Studio File Transfer](https://docs.aws.amazon.com/nimble-studio/latest/filetransfer-guide/what-is-file-transfer.html) 等替代上傳工具，先將資料複製到 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 APIs，並將資料複製到佇列的任務附件儲存貯體，這會產生額外費用。使用 [Amazon S3 定價](https://aws.amazon.com/s3/pricing/)頁面和 [AWS 定價計算器](https://calculator.aws)來估計成本。