View a markdown version of this page

Menyalin objek dari atau ke bucket direktori - Amazon Simple Storage Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menyalin objek dari atau ke bucket direktori

Operasi penyalinan membuat salinan objek yang sudah disimpan di Amazon S3. Anda dapat menyalin objek antara bucket direktori dan bucket tujuan umum. Anda juga dapat menyalin objek di dalam bucket dan di bucket dengan tipe yang sama, misalnya, dari bucket direktori ke bucket direktori.

catatan

Menyalin objek Wilayah AWS di berbagai objek tidak didukung saat bucket sumber atau tujuan berada di Zona AWS Lokal. Bucket sumber dan tujuan harus memiliki induk yang sama Wilayah AWS. Bucket sumber dan tujuan dapat berupa jenis lokasi bucket yang berbeda (Availability Zone atau Local Zone).

Anda dapat membuat salinan objek hingga 5 GB dalam operasi atom tunggal. Namun, untuk menyalin objek yang lebih besar dari 5 GB, Anda harus menggunakan operasi API upload multipart. Untuk informasi selengkapnya, lihat Menggunakan unggahan multibagian dengan bucket direktori.

Izin

Untuk menyalin objek, Anda harus memiliki izin berikut:

  • Untuk menyalin objek dari satu bucket direktori ke bucket direktori lain, Anda harus memiliki izin s3express:CreateSession.

  • Untuk menyalin objek dari bucket direktori ke bucket tujuan umum, Anda harus memiliki izin s3express:CreateSession dan izin s3:PutObjectuntuk menulis salinan objek ke bucket tujuan.

  • Untuk menyalin objek dari bucket tujuan umum ke bucket direktori, Anda harus memiliki s3express:CreateSession izin dan s3:GetObject izin untuk membaca objek sumber yang sedang disalin.

    Untuk informasi selengkapnya, lihat CopyObject dalam Referensi API Amazon Simple Storage Service.

Enkripsi

Amazon S3 secara otomatis mengenkripsi semua objek baru yang diunggah ke bucket S3. Konfigurasi enkripsi default dari bucket S3 selalu diaktifkan dan minimal diatur ke enkripsi sisi server dengan kunci terkelola Amazon S3 ()SSE-S3.

Untuk bucket direktori, SSE-S3 dan enkripsi sisi server dengan AWS Key Management Service (AWS KMS) keys (SSE-KMS) didukung. Jika bucket tujuan adalah bucket direktori, sebaiknya enkripsi default bucket tujuan menggunakan konfigurasi enkripsi yang diinginkan dan Anda tidak mengganti enkripsi default bucket. Kemudian, objek baru secara otomatis dienkripsi dengan pengaturan enkripsi yang diinginkan. Selain itu, S3 Bucket Keys tidak didukung, saat Anda menyalin objek SSE-KMS terenkripsi dari bucket tujuan umum ke bucket direktori, dari bucket direktori ke bucket tujuan umum, atau antar bucket direktori, melalui CopyObject. Dalam hal ini, Amazon S3 melakukan panggilan ke AWS KMS setiap kali permintaan salinan dibuat untuk suatu KMS-encrypted objek. Untuk informasi selengkapnya tentang perilaku penggantian enkripsi dalam bucket direktori, lihat Menentukan enkripsi sisi server dengan AWS KMS untuk unggahan objek baru.

Untuk bucket tujuan umum, Anda dapat menggunakan SSE-S3 (default), enkripsi sisi server dengan AWS Key Management Service () kunci (AWS KMS), enkripsi sisi server lapis ganda dengan kunci (SSE-KMS), atau enkripsi sisi server dengan AWS KMS kunci yang disediakan pelanggan (DSSE-KMS). SSE-C

Jika Anda membuat permintaan salinan yang menentukan untuk menggunakan DSSE-KMS atau SSE-C untuk bucket direktori (baik sumber atau bucket tujuan), respons mengembalikan kesalahan.

Tanda

Bucket direktori tidak mendukung tanda. Jika Anda menyalin objek yang memiliki tag dari bucket tujuan umum ke bucket direktori, Anda menerima 501 (Not Implemented) respons HTTP. Untuk informasi selengkapnya, lihat CopyObject dalam Referensi API Amazon Simple Storage Service.

ETag

Tag entitas (ETag) untuk S3 Express One Zone adalah string alfanumerik acak dan bukan checksum MD5. Untuk membantu memastikan integritas objek, gunakan checksum tambahan.

Checksum tambahan

S3 Express One Zone menawarkan kepada Anda opsi untuk memilih algoritma checksum yang digunakan untuk memvalidasi data Anda selama mengunggah atau mengunduh. Anda dapat memilih salah satu algoritma pemeriksaan integritas data Secure Hash Algorithms (SHA) atau Cyclic Redundancy Check (CRC) berikut ini: CRC32, CRC32C,, dan. SHA-1 SHA-256 MD5-based checksum tidak didukung dengan kelas penyimpanan S3 Express One Zone.

Untuk informasi selengkapnya, lihat Praktik terbaik checksum tambahan S3.

Fitur yang didukung

Untuk informasi selengkapnya tentang fitur Amazon S3 mana yang didukung untuk S3 Express One Zone, lihatPerbedaan untuk bucket direktori.

catatan

Batasan dan batasan saat Anda menyalin objek ke bucket direktori dengan konsol adalah sebagai berikut:

  • T Copy indakan berlaku untuk semua objek dalam folder yang ditentukan (awalan). Objek yang ditambahkan ke folder ini saat tindakan sedang berlangsung mungkin terpengaruh.

  • Objek yang dienkripsi dengan kunci enkripsi yang disediakan pelanggan (SSE-C) tidak dapat disalin dengan menggunakan konsol S3. Untuk menyalin objek yang di SSE-C enkripsi dengan AWS CLI, gunakan, AWS SDK, atau Amazon S3 REST API.

  • Objek yang disalin tidak akan mempertahankan pengaturan Object Lock dari objek asli.

  • Jika bucket tempat Anda menyalin objek menggunakan pengaturan yang dipaksakan pemilik bucket untuk Kepemilikan Objek S3, ACL objek tidak akan disalin ke tujuan yang ditentukan.

  • Jika Anda ingin menyalin objek ke bucket yang menggunakan pengaturan yang dipaksakan pemilik bucket untuk Kepemilikan Objek S3, pastikan bucket sumber juga menggunakan setelan yang diberlakukan pemilik bucket, atau hapus objek apa pun yang diberikan ACL ke AWS akun dan grup lain.

  • Objek yang disalin dari bucket tujuan umum ke bucket direktori tidak akan mempertahankan tag objek, ACL, atau nilai Etag. Nilai checksum dapat disalin, tetapi tidak setara dengan Etag. Nilai checksum dapat berubah dibandingkan saat ditambahkan.

  • Semua objek yang disalin ke bucket direktori akan dengan pengaturan yang diberlakukan pemilik bucket untuk Kepemilikan Objek S3.

Untuk menyalin objek dari bucket tujuan umum atau bucket direktori ke bucket direktori
  1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Di panel navigasi kiri, jenis bucket yang ingin Anda salin objek dari:

    • Untuk menyalin dari bucket tujuan umum, pilih tab Bucket tujuan umum.

    • Untuk menyalin dari bucket direktori, pilih tab Bucket direktori.

  3. Pilih bucket tujuan umum atau bucket direktori yang berisi objek yang ingin Anda salin.

  4. Pilih tab Objek. Pada halaman Ob jek, pilih kotak centang di sebelah kiri nama objek yang ingin Anda salin.

  5. Pada menu T indakan, pilih Sal in.

    Halaman Copy akan muncul.

  6. Di bawah Tujuan, pilih Bucket direktori untuk jenis tujuan Anda. Untuk menentukan jalur tujuan, pilih Jelaj ahi S3, arahkan ke tujuan, lalu pilih tombol opsi di sebelah kiri tujuan. Pilih Pilih tujuan.

    Atau, masukkan jalur tujuan.

  7. Di bawah Pengaturan salinan tambahan, pilih apakah Anda ingin menyalin pengaturan sumber, Jangan tentukan pengaturan, atau T entukan pengaturan. Pengaturan sumber salin adalah opsi default. Jika Anda hanya ingin menyalin objek tanpa atribut pengaturan sumber, pilih Jangan tentukan pengaturan. Pilih Tentukan pengaturan untuk menentukan pengaturan untuk enkripsi sisi server, checksum, dan metadata.

  8. Pilih Salin. Amazon S3 menyalin objek Anda ke tujuan.

catatan

Batasan dan batasan saat Anda menyalin objek ke bucket tujuan umum dengan konsol adalah sebagai berikut:

  • T Copy indakan berlaku untuk semua objek dalam folder yang ditentukan (awalan). Objek yang ditambahkan ke folder ini saat tindakan sedang berlangsung mungkin terpengaruh.

  • Objek yang dienkripsi dengan kunci enkripsi yang disediakan pelanggan (SSE-C) tidak dapat disalin dengan menggunakan konsol S3. Untuk menyalin objek yang di SSE-C enkripsi dengan AWS CLI, gunakan, AWS SDK, atau Amazon S3 REST API.

  • Objek yang disalin tidak akan mempertahankan pengaturan Object Lock dari objek asli.

  • Jika bucket tempat Anda menyalin objek menggunakan pengaturan yang dipaksakan pemilik bucket untuk Kepemilikan Objek S3, ACL objek tidak akan disalin ke tujuan yang ditentukan.

  • Jika Anda ingin menyalin objek ke bucket yang menggunakan pengaturan yang dipaksakan pemilik bucket untuk Kepemilikan Objek S3, pastikan bucket sumber juga menggunakan setelan yang diberlakukan pemilik bucket, atau hapus objek apa pun yang diberikan ACL ke AWS akun dan grup lain.

Untuk menyalin objek dari bucket direktori ke bucket tujuan umum
  1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Di panel navigasi kiri, pilih Bucket.

  3. Pilih tab Bucket direktori.

  4. Pilih bucket direktori yang berisi objek yang ingin Anda salin.

  5. Pilih tab Objek. Pada halaman Ob jek, pilih kotak centang di sebelah kiri nama objek yang ingin Anda salin.

  6. Pada menu T indakan, pilih Sal in.

  7. Di bawah Tujuan, pilih Bucket tujuan umum untuk jenis tujuan Anda. Untuk menentukan jalur tujuan, pilih Browse S3, navigasikan ke tujuan, dan pilih tombol opsi di sebelah kiri tujuan. Pilih Pilih tujuan.

    Atau, masukkan jalur tujuan.

  8. Di bawah Pengaturan salinan tambahan, pilih apakah Anda ingin menyalin pengaturan sumber, Jangan tentukan pengaturan, atau T entukan pengaturan. Pengaturan sumber salin adalah opsi default. Jika Anda hanya ingin menyalin objek tanpa atribut pengaturan sumber, pilih Jangan tentukan pengaturan. Pilih Tentukan pengaturan untuk menentukan pengaturan untuk kelas penyimpanan, ACL, tag objek, metadata, enkripsi sisi server, dan checksum tambahan.

  9. Pilih Salin. Amazon S3 menyalin objek Anda ke tujuan.

SDK for Java 2.x
contoh
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); } }

Perintah copy-object contoh berikut menunjukkan bagaimana Anda dapat menggunakan AWS CLI untuk menyalin objek dari satu bucket ke bucket lain. Anda dapat menyalin objek di antara jenis bucket. Untuk menjalankan perintah ini, ganti placeholder input pengguna dengan informasi Anda sendiri.

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

Untuk informasi selengkapnya, lihat copy-object dalam AWS CLI Referensi Perintah.