選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

從目錄儲存貯體複製物件或將物件複製到目錄儲存貯體

焦點模式
從目錄儲存貯體複製物件或將物件複製到目錄儲存貯體 - Amazon Simple Storage Service

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

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

該複製操作會為已存放在 Amazon S3 中的物件建立複本。您可以在目錄儲存貯體和一般用途儲存貯體之間複製物件。您也可以在儲存貯體內以及相同類型的儲存貯體之間複製物件,例如從目錄儲存貯體複製到目錄儲存貯體。

注意

當來源或目的地儲存貯體位於 AWS Local Zone 時, AWS 區域 不支援跨不同 複製物件。來源儲存貯體和目的地儲存貯體必須具有相同的父 AWS 區域。來源儲存貯體和目的地儲存貯體可以是不同的儲存貯體位置類型 (可用區域或本機區域)。

單一非敗即成 (atomic operation) 操作最多可以為 5 GB 的物件建立複本。但若複製的物件大於 5 GB,則必須使用分段上傳 API 操作。如需詳細資訊,請參閱搭配目錄儲存貯體使用分段上傳

許可

若要複製物件,您必須具有下列許可:

  • 若要在目錄儲存貯體之間複製物件,您必須具有 s3express:CreateSession 許可。

  • 若要將物件從目錄儲存貯體複製到一般用途儲存貯體,您必須具有 s3express:CreateSession 許可和 s3:PutObject 許可,以將複製的物件寫入目的地儲存貯體。

  • 若要將物件從一般用途儲存貯體複製到目錄儲存貯體,您必須具有 s3express:CreateSession 許可和 s3:GetObject 許可,以讀取要複製的來源物件。

    如需詳細資訊,請參閱 Amazon Simple Storage Service API 參考中的 CopyObject

加密

Amazon S3 會自動加密上傳到 S3 儲存貯體的所有新物件。S3 儲存貯體的預設加密組態一律為啟用狀態,且最低限度設定為使用 Amazon S3 受管金鑰 (SSE-S3) 的伺服器端加密。

對於目錄儲存貯體,支援使用 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 的 SSE-S3 和伺服器端加密。當目的地儲存貯體是目錄儲存貯體時,建議目的地儲存貯體的預設加密使用所需的加密組態,而且您不會覆寫儲存貯體的預設加密。然後,新的物件會以所需的加密設定自動加密。此外,當您透過 CopyObject,將 SSE-KMS 加密物件從一般用途儲存貯體複製到目錄儲存貯體、從目錄儲存貯體複製到一般用途儲存貯體或在目錄儲存貯體之間複製時,不支援 S3 儲存貯體金鑰。在此情況下,Amazon S3 AWS KMS 每次針對 KMS 加密的物件提出複製請求時,都會呼叫 。如需在目錄儲存貯體中覆寫加密行為的詳細資訊,請參閱使用 指定伺服器端加密 AWS KMS 以進行新物件上傳

對於一般用途儲存貯體,您可以使用 SSE-S3 (預設值)、伺服器端加密與 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS)、雙層伺服器端加密與 AWS KMS 金鑰 (DSSE-KMS),或使用客戶提供的金鑰 (SSE-C) 進行伺服器端加密。

如果您提出複製請求,指定對目錄儲存貯體 (來源或目的地儲存貯體) 使用 DSSE-KMS 或 SSE-C,回應會傳回錯誤。

標籤

目錄儲存貯體不支援標籤。如果您將具有標籤的物件從一般用途儲存貯體複製到目錄儲存貯體,您會收到 HTTP 501 (Not Implemented) 回應。如需詳細資訊,請參閱 Amazon Simple Storage Service API 參考中的 CopyObject

ETag

S3 Express One Zone 的實體標籤 (ETag) 是隨機的英數字串,而不是 MD5 檢查總和。為了協助確保物件完整性,請使用額外的檢查總和。

其他檢查總和

S3 Express One Zone 可讓您選擇用於在上傳或下載過程中驗證資料的檢查總和演算法選項。您可以選擇以下 Secure Hash 演算法 (SHA) 或循環宂餘檢查 (CRC) 資料完整性演算法之一:CRC32、CRC32C、SHA-1 和 SHA-256。S3 Express One Zone 儲存類別不支援 MD5 型檢查總和。

如需詳細資訊,請參閱S3 其他檢查總和最佳實務

支援的功能

如需 S3 Express One Zone 支援哪些 Amazon S3 功能的詳細資訊,請參閱目錄儲存貯體的不同之處

注意

當您使用主控台將物件複製到目錄儲存貯體時,您有下列限制:

  • Copy 動作會套用至指定資料夾中 (指定字首) 的所有物件。在動作進行期間加入這些資料夾的物件可能會受到影響。

  • 使用客戶提供的加密金鑰 (SSE-C) 加密的物件無法經由 S3 主控台複製。若要複製使用 SSE-C 加密的物件,請使用 AWS CLI、 AWS SDK 或 Amazon S3 REST API。

  • 複製的物件不會保留原始物件的物件鎖定設定。

  • 如果複製物件的來源儲存貯體使用儲存貯體擁有者強制執行的 S3 物件擁有權設定,則不會將物件 ACL 複製到指定的目的地。

  • 如果您想要將物件複製到使用 S3 物件擁有權之儲存貯體擁有者強制執行設定的儲存貯體,請確定來源儲存貯體也使用儲存貯體擁有者強制執行設定,或移除任何物件 ACL 授與其他 AWS 帳戶和群組。

  • 從一般用途儲存貯體複製到目錄儲存貯體的物件不會保留物件標籤、ACL 或 Etag 值。檢查總和值可以複製,但不等同於 Etag。檢查總和值與新增時相比可能有所變更。

  • 複製到目錄儲存貯體的所有物件都會具有儲存貯體擁有者強制執行的 S3 物件擁有權設定。

將物件從一般用途儲存貯體複製到目錄儲存貯體或從一個目錄儲存貯體複製到另一個目錄儲存貯體
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/s3/:// 開啟 Amazon S3 主控台。

  2. 在左側導覽窗格中,您要從中複製物件的儲存貯體類型:

    • 若要從一般用途儲存貯體進行複製,請選擇一般用途儲存貯體索引標籤。

    • 若要從目錄儲存貯體進行複製,請選擇目錄儲存貯體索引標籤。

  3. 選擇包含您要複製之物件的一般用途儲存貯體或目錄儲存貯體。

  4. 選擇 Objects (物件) 索引標籤。在物件頁面上,選取您要複製之物件名稱左側的核取方塊。

  5. Actions (動作) 功能表上,選擇 Copy (複製)

    複製頁面隨即出現。

  6. 目的地下,選擇目錄儲存貯體作為目的地類型。若要指定目的地路徑,請選擇瀏覽 S3,導覽至目的地,然後選擇目的地左側的選項按鈕。選擇右下角的 Choose destination (選擇目的地)。

    或者,輸入目的地路徑。

  7. 其他複製設定下,選擇複製來源設定不要指定設定指定設定複製來源設定是預設選項。如果您只想複製物件但不想包含來源設定屬性,請選擇不要指定設定。選擇指定設定以指定伺服器端加密、檢查總和及中繼資料的設定。

  8. 選擇右下角的 Copy (複製)。Amazon S3 會將您的物件複製到目的地。

注意

當您使用主控台將物件複製到目錄儲存貯體時,您有下列限制:

  • Copy 動作會套用至指定資料夾中 (指定字首) 的所有物件。在動作進行期間加入這些資料夾的物件可能會受到影響。

  • 使用客戶提供的加密金鑰 (SSE-C) 加密的物件無法經由 S3 主控台複製。若要複製使用 SSE-C 加密的物件,請使用 AWS CLI、 AWS SDK 或 Amazon S3 REST API。

  • 複製的物件不會保留原始物件的物件鎖定設定。

  • 如果複製物件的來源儲存貯體使用儲存貯體擁有者強制執行的 S3 物件擁有權設定,則不會將物件 ACL 複製到指定的目的地。

  • 如果您想要將物件複製到使用 S3 物件擁有權之儲存貯體擁有者強制執行設定的儲存貯體,請確定來源儲存貯體也使用儲存貯體擁有者強制執行設定,或移除任何物件 ACL 授與其他 AWS 帳戶和群組。

  • 從一般用途儲存貯體複製到目錄儲存貯體的物件不會保留物件標籤、ACL 或 Etag 值。檢查總和值可以複製,但不等同於 Etag。檢查總和值與新增時相比可能有所變更。

  • 複製到目錄儲存貯體的所有物件都會具有儲存貯體擁有者強制執行的 S3 物件擁有權設定。

將物件從一般用途儲存貯體複製到目錄儲存貯體或從一個目錄儲存貯體複製到另一個目錄儲存貯體
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/s3/:// 開啟 Amazon S3 主控台。

  2. 在左側導覽窗格中,您要從中複製物件的儲存貯體類型:

    • 若要從一般用途儲存貯體進行複製,請選擇一般用途儲存貯體索引標籤。

    • 若要從目錄儲存貯體進行複製,請選擇目錄儲存貯體索引標籤。

  3. 選擇包含您要複製之物件的一般用途儲存貯體或目錄儲存貯體。

  4. 選擇 Objects (物件) 索引標籤。在物件頁面上,選取您要複製之物件名稱左側的核取方塊。

  5. Actions (動作) 功能表上,選擇 Copy (複製)

    複製頁面隨即出現。

  6. 目的地下,選擇目錄儲存貯體作為目的地類型。若要指定目的地路徑,請選擇瀏覽 S3,導覽至目的地,然後選擇目的地左側的選項按鈕。選擇右下角的 Choose destination (選擇目的地)。

    或者,輸入目的地路徑。

  7. 其他複製設定下,選擇複製來源設定不要指定設定指定設定複製來源設定是預設選項。如果您只想複製物件但不想包含來源設定屬性,請選擇不要指定設定。選擇指定設定以指定伺服器端加密、檢查總和及中繼資料的設定。

  8. 選擇右下角的 Copy (複製)。Amazon S3 會將您的物件複製到目的地。

注意

當您使用主控台將物件複製到一般用途儲存貯體時,您有下列限制:

  • Copy 動作會套用至指定資料夾中 (指定字首) 的所有物件。在動作進行期間加入這些資料夾的物件可能會受到影響。

  • 使用客戶提供的加密金鑰 (SSE-C) 加密的物件無法經由 S3 主控台複製。若要複製使用 SSE-C 加密的物件,請使用 AWS CLI、 AWS SDK 或 Amazon S3 REST API。

  • 複製的物件不會保留原始物件的物件鎖定設定。

  • 如果複製物件的來源儲存貯體使用儲存貯體擁有者強制執行的 S3 物件擁有權設定,則不會將物件 ACL 複製到指定的目的地。

  • 如果您想要將物件複製到使用 S3 物件擁有權之儲存貯體擁有者強制執行設定的儲存貯體,請確定來源儲存貯體也使用儲存貯體擁有者強制執行設定,或移除任何物件 ACL 授與其他 AWS 帳戶和群組。

將物件從目錄儲存貯體複製到一般用途儲存貯體
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/s3/:// 開啟 Amazon S3 主控台。

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. 選擇目錄儲存貯體索引標籤。

  4. 選擇包含您要複製之物件的目錄儲存貯體。

  5. 選擇 Objects (物件) 索引標籤。在物件頁面上,選取您要複製之物件名稱左側的核取方塊。

  6. Actions (動作) 功能表上,選擇 Copy (複製)

  7. 目的地下,選擇一般用途儲存貯體作為目的地類型。若要指定目的地路徑,請選擇瀏覽 S3,導覽至目的地,然後選擇目的地左側的選項按鈕。選擇右下角的 Choose destination (選擇目的地)。

    或者,輸入目的地路徑。

  8. 其他複製設定下,選擇複製來源設定不要指定設定指定設定複製來源設定是預設選項。如果您只想複製物件但不想包含來源設定屬性,請選擇不要指定設定。選擇指定設定以指定儲存類別、ACL、物件標籤、中繼資料、伺服器端加密和額外檢查總和的設定。

  9. 選擇右下角的 Copy (複製)。Amazon S3 會將您的物件複製到目的地。

注意

當您使用主控台將物件複製到一般用途儲存貯體時,您有下列限制:

  • Copy 動作會套用至指定資料夾中 (指定字首) 的所有物件。在動作進行期間加入這些資料夾的物件可能會受到影響。

  • 使用客戶提供的加密金鑰 (SSE-C) 加密的物件無法經由 S3 主控台複製。若要複製使用 SSE-C 加密的物件,請使用 AWS CLI、 AWS SDK 或 Amazon S3 REST API。

  • 複製的物件不會保留原始物件的物件鎖定設定。

  • 如果複製物件的來源儲存貯體使用儲存貯體擁有者強制執行的 S3 物件擁有權設定,則不會將物件 ACL 複製到指定的目的地。

  • 如果您想要將物件複製到使用 S3 物件擁有權之儲存貯體擁有者強制執行設定的儲存貯體,請確定來源儲存貯體也使用儲存貯體擁有者強制執行設定,或移除任何物件 ACL 授與其他 AWS 帳戶和群組。

將物件從目錄儲存貯體複製到一般用途儲存貯體
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/s3/:// 開啟 Amazon S3 主控台。

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. 選擇目錄儲存貯體索引標籤。

  4. 選擇包含您要複製之物件的目錄儲存貯體。

  5. 選擇 Objects (物件) 索引標籤。在物件頁面上,選取您要複製之物件名稱左側的核取方塊。

  6. Actions (動作) 功能表上,選擇 Copy (複製)

  7. 目的地下,選擇一般用途儲存貯體作為目的地類型。若要指定目的地路徑,請選擇瀏覽 S3,導覽至目的地,然後選擇目的地左側的選項按鈕。選擇右下角的 Choose destination (選擇目的地)。

    或者,輸入目的地路徑。

  8. 其他複製設定下,選擇複製來源設定不要指定設定指定設定複製來源設定是預設選項。如果您只想複製物件但不想包含來源設定屬性,請選擇不要指定設定。選擇指定設定以指定儲存類別、ACL、物件標籤、中繼資料、伺服器端加密和額外檢查總和的設定。

  9. 選擇右下角的 Copy (複製)。Amazon S3 會將您的物件複製到目的地。

SDK for Java 2.x
public static void copyBucketObject (S3Client s3, String sourceBucket, String objectKey, String targetBucket) { CopyObjectRequest copyReq = CopyObjectRequest.builder() .sourceBucket(sourceBucket) .sourceKey(objectKey) .destinationBucket(targetBucket) .destinationKey(objectKey) .build(); String temp = ""; try { CopyObjectResponse copyRes = s3.copyObject(copyReq); System.out.println("Successfully copied " + objectKey +" from bucket " + sourceBucket +" into bucket "+targetBucket); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

SDK for Java 2.x
public static void copyBucketObject (S3Client s3, String sourceBucket, String objectKey, String targetBucket) { CopyObjectRequest copyReq = CopyObjectRequest.builder() .sourceBucket(sourceBucket) .sourceKey(objectKey) .destinationBucket(targetBucket) .destinationKey(objectKey) .build(); String temp = ""; try { CopyObjectResponse copyRes = s3.copyObject(copyReq); System.out.println("Successfully copied " + objectKey +" from bucket " + sourceBucket +" into bucket "+targetBucket); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
public static void copyBucketObject (S3Client s3, String sourceBucket, String objectKey, String targetBucket) { CopyObjectRequest copyReq = CopyObjectRequest.builder() .sourceBucket(sourceBucket) .sourceKey(objectKey) .destinationBucket(targetBucket) .destinationKey(objectKey) .build(); String temp = ""; try { CopyObjectResponse copyRes = s3.copyObject(copyReq); System.out.println("Successfully copied " + objectKey +" from bucket " + sourceBucket +" into bucket "+targetBucket); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

下列copy-object範例命令說明如何使用 AWS CLI 將物件從一個儲存貯體複製到另一個儲存貯體。您可以在儲存貯體類型之間複製物件。若要執行此命令,請以您自己的資訊取代使用者輸入預留位置。

aws s3api copy-object --copy-source SOURCE_BUCKET/SOURCE_KEY_NAME --key TARGET_KEY_NAME --bucket TARGET_BUCKET_NAME

如需詳細資訊,請參閱 AWS CLI 命令參考中的 copy-object

下列copy-object範例命令說明如何使用 AWS CLI 將物件從一個儲存貯體複製到另一個儲存貯體。您可以在儲存貯體類型之間複製物件。若要執行此命令,請以您自己的資訊取代使用者輸入預留位置。

aws s3api copy-object --copy-source SOURCE_BUCKET/SOURCE_KEY_NAME --key TARGET_KEY_NAME --bucket TARGET_BUCKET_NAME

如需詳細資訊,請參閱 AWS CLI 命令參考中的 copy-object

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。