

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

# Menyalin, memindahkan, dan mengganti nama objek
<a name="copy-object"></a>

`CopyObject`Operasi membuat salinan objek yang sudah disimpan di Amazon S3.

Anda dapat membuat salinan objek hingga 5 GB dalam satu operasi atom. Namun, untuk menyalin objek yang lebih besar dari 5 GB, Anda harus menggunakan unggahan multipart menggunakan AWS CLI or AWS SDKs. Untuk informasi selengkapnya, lihat [Menyalin objek menggunakan unggahan multibagian](CopyingObjectsMPUapi.md).

**catatan**  
Untuk mempertahankan manfaat kinerja objek yang Anda unggah menggunakan unggahan multibagian, Anda harus menyalin objek menggunakan unggahan multibagian menggunakan AWS CLI atau AWS SDK alih-alih konsol S3. Untuk informasi selengkapnya, lihat [Menyalin objek menggunakan unggahan multibagian](CopyingObjectsMPUapi.md).

Dengan menggunakan operasi `CopyObject`, Anda dapat:
+ Buat salinan objek tambahan. 
+ Ganti nama objek dengan menyalinnya dan menghapus yang asli. 
+ Salin atau pindahkan objek dari satu ember ke ember lainnya, termasuk melintasi Wilayah AWS (misalnya, dari `us-west-1` ke`eu-west-2`). Saat Anda memindahkan objek, Amazon S3 menyalin objek ke tujuan yang ditentukan dan kemudian menghapus objek sumber.
**catatan**  
Menyalin atau memindahkan objek di seluruh Wilayah AWS menimbulkan biaya bandwidth. Untuk informasi selengkapnya, lihat [Harga Amazon S3](https://aws.amazon.com/s3/pricing/).
+ Ubah metadata objek. Setiap objek Amazon S3 memiliki metadata. Metadata ini adalah satu set pasangan nama-nilai. Anda dapat mengatur metadata objek pada saat Anda mengunggah objek. Setelah mengunggah objek, Anda tidak dapat mengubah metadata objek. Satu-satunya cara untuk memodifikasi metadata objek adalah membuat salinan objek, dan mengatur metadatanya. Untuk melakukannya, dalam operasi penyalinan, atur objek yang sama dengan sumber dan target. 

  Beberapa metadata objek adalah metadata sistem dan lainnya ditentukan pengguna. Anda dapat mengontrol beberapa metadata sistem. Misalnya, Anda dapat mengontrol kelas penyimpanan dan jenis enkripsi sisi server yang akan digunakan untuk objek. Saat Anda menyalin sebuah objek, metadata sistem yang dikontrol pengguna dan metadata yang ditentukan pengguna juga disalin. Amazon S3 mengatur ulang metadata yang dikontrol sistem. Misalnya, saat Anda menyalin suatu objek, Amazon S3 mengatur ulang tanggal penciptaan objek yang disalin. Anda tidak perlu menyetel salah satu nilai metadata yang dikendalikan sistem ini dalam permintaan salinan Anda. 

  Saat menyalin sebuah objek, Anda mungkin memutuskan untuk memperbarui beberapa nilai metadata. Misalnya, jika objek sumber Anda dikonfigurasi untuk menggunakan penyimpanan Standar S3, Anda dapat memilih untuk menggunakan S3 Intelligent-Tiering untuk salinan objek tersebut. Anda juga dapat memutuskan untuk mengubah beberapa nilai metadata yang ditentukan pengguna yang terdapat pada objek sumber tersebut. Jika Anda memilih untuk memperbarui salah satu metadata objek yang dapat dikonfigurasi pengguna (sistem atau yang ditentukan pengguna) selama penyalinan, maka Anda harus secara eksplisit menentukan semua metadata yang dapat dikonfigurasi pengguna yang ada pada objek sumber dalam permintaan Anda, bahkan jika Anda mengubahnya hanya satu dari nilai metadata.
**catatan**  
Saat menyalin objek menggunakan konsol Amazon S3, Anda mungkin menerima pesan kesalahan “Metadata yang disalin tidak dapat diverifikasi.” Konsol menggunakan header untuk mengambil dan mengatur metadata untuk objek Anda. Jika konfigurasi jaringan atau browser Anda mengubah permintaan jaringan Anda, perilaku ini dapat menyebabkan metadata yang tidak diinginkan (seperti `Cache-Control` header yang dimodifikasi) ditulis ke objek yang Anda salin. Amazon S3 tidak dapat memverifikasi metadata yang tidak diinginkan ini.  
Untuk mengatasi masalah ini, periksa konfigurasi jaringan dan browser Anda untuk memastikan tidak mengubah header, seperti`Cache-Control`. Untuk informasi selengkapnya, lihat [Model Tanggung Jawab Bersama](https://docs.aws.amazon.com/whitepapers/latest/applying-security-practices-to-network-workload-for-csps/the-shared-responsibility-model.html).

  Untuk informasi selengkapnya tentang pemberian metadata objek, lihat [Bekerja dengan metadata objek](UsingMetadata.md).

**Menyalin objek yang diarsipkan dan dipulihkan**  
Jika objek sumber diarsipkan di S3 Glacier Flexible Retrieval atau S3 Glacier Deep Archive, Anda harus memulihkan salinan sementara terlebih dahulu sebelum dapat menyalin objek ke bucket lain. Untuk informasi tentang pengarsipan objek, lihat [Bekerja dengan objek yang diarsipkan](archived-objects.md). 

Operasi **Salin** di konsol Amazon S3 tidak didukung untuk objek yang dipulihkan di kelas penyimpanan S3 Glacier Flexible Retrieval atau S3 Glacier Deep Archive. Untuk menyalin objek yang dipulihkan ini, gunakan AWS Command Line Interface (AWS CLI), the AWS SDKs, atau Amazon S3 REST API.

**Menyalin objek terenkripsi**  
Amazon S3 secara otomatis mengenkripsi semua objek baru yang disalin ke bucket S3. Jika Anda tidak menentukan informasi enkripsi dalam permintaan penyalinan, pengaturan enkripsi objek target diatur ke konfigurasi enkripsi default bucket tujuan. Secara default, semua bucket memiliki konfigurasi enkripsi tingkat dasar yang menggunakan enkripsi di sisi server dengan kunci terkelola Amazon S3 (SSE-S3). Jika bucket tujuan memiliki konfigurasi enkripsi default yang menggunakan enkripsi di sisi server dengan kunci AWS Key Management Service (AWS KMS) (SSE-KMS), atau kunci enkripsi yang disediakan pelanggan (SSE-C), Amazon S3 menggunakan kunci KMS yang sesuai, atau kunci yang disediakan pelanggan untuk mengenkripsi salinan objek target.

Saat menyalin objek, jika Anda ingin menggunakan jenis pengaturan enkripsi yang berbeda untuk objek target, Anda dapat meminta Amazon S3 mengenkripsi objek target dengan kunci KMS, kunci terkelola Amazon S3, atau kunci yang disediakan pelanggan. Jika pengaturan enkripsi dalam permintaan Anda berbeda dari konfigurasi enkripsi default bucket tujuan, pengaturan enkripsi dalam permintaan Anda akan lebih diutamakan. Jika objek sumber untuk salinan dienkripsi dengan SSE-C, Anda harus memberikan informasi enkripsi yang diperlukan dalam permintaan Anda sehingga Amazon S3 dapat mendekripsi objek untuk disalin. Untuk informasi selengkapnya, lihat [Melindungi data dengan enkripsi](UsingEncryption.md). 

**Menggunakan checksum saat menyalin objek**  
Saat menyalin objek, Anda dapat memilih untuk menggunakan algoritma checksum yang berbeda untuk objek tersebut. Apakah Anda memilih untuk menggunakan algoritma yang sama atau yang baru, Amazon S3 menghitung nilai checksum baru setelah objek disalin. Amazon S3 tidak secara langsung menyalin nilai checksum. Semua objek yang disalin tanpa checksum dan algoritma checksum tujuan tertentu secara otomatis mendapatkan algoritma checksum. `CRC-64NVME` Untuk informasi selengkapnya tentang bagaimana checksum dihitung, lihat [Mengunggah dan menyalin objek menggunakan unggahan multipart di Amazon S3](mpuoverview.md).

**Menyalin beberapa objek dalam satu permintaan**  
Untuk menyalin lebih dari satu objek Amazon S3 dengan satu permintaan, Anda juga dapat menggunakan Operasi Batch S3. Anda menyediakan daftar objek yang akan dioperasikan kepada Operasi Batch S3. Operasi Batch S3 akan memanggil masing-masing operasi API untuk melakukan operasi tertentu. Satu tugas Operasi Batch dapat melakukan operasi tertentu pada miliaran objek yang berisi data sebesar eksabita. 

Operasi Batch S3 memiliki fitur melacak progres, mengirimkan notifikasi, dan menyimpan laporan penyelesaian terperinci dari semua tindakan, menyediakan pengalaman yang dikelola sepenuhnya, dapat diaudit, dan nirserver. Anda dapat menggunakan Operasi Batch S3 melalui konsol Amazon S3 AWS CLI, AWS SDKs, atau REST API. Untuk informasi selengkapnya, lihat [Dasar-dasar Operasi Batch S3](batch-ops.md#batch-ops-basics).

**Menyalin objek ke ember direktori**  
Untuk informasi tentang menyalin objek ke bucket direktori, lihat[Menyalin objek dari atau ke ember direktori](directory-buckets-objects-copy.md). Untuk informasi tentang menggunakan kelas penyimpanan Amazon S3 Express One Zone dengan bucket direktori, lihat dan. [S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone) [Bekerja dengan bucket direktori](directory-buckets-overview.md) 

## Untuk menyalin objek
<a name="CopyingObjectsExamples"></a>

Untuk menyalin objek, gunakan metode berikut.

### Menggunakan konsol S3
<a name="copying-moving-console"></a>

**catatan**  
Batasan dan batasan saat Anda menyalin objek dengan konsol adalah sebagai berikut:  
Anda dapat menyalin objek jika objek Anda kurang dari 5 GB. Jika objek Anda lebih besar dari 5 GB, Anda harus menggunakan [AWS CLI](mpu-upload-object.md#UsingCLImpUpload)atau [AWS SDKs](CopyingObjectsMPUapi.md)untuk menyalin objek.
Untuk daftar izin tambahan yang diperlukan untuk menyalin objek, lihat[Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md). Misalnya kebijakan yang memberikan izin ini, lihat[Contoh kebijakan berbasis identitas untuk Amazon S3](example-policies-s3.md).
`Copy`Tindakan ini berlaku untuk semua objek dalam folder yang ditentukan (awalan). Objek yang ditambahkan ke folder ini saat tindakan sedang berlangsung mungkin terpengaruh.
Penyalinan objek Lintas Wilayah yang dienkripsi dengan SSE-KMS tidak didukung oleh konsol Amazon S3. Untuk menyalin objek yang dienkripsi dengan SSE-KMS di seluruh Wilayah, gunakan, AWS SDK AWS CLI, atau Amazon S3 REST API.
Objek yang dienkripsi dengan kunci enkripsi yang disediakan pelanggan (SSE-C) tidak dapat disalin dengan menggunakan konsol S3. Untuk menyalin objek yang dienkripsi dengan SSE-C, gunakan, AWS SDK AWS CLI, 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 diberlakukan pemilik bucket untuk Kepemilikan Objek S3, objek tidak ACLs akan disalin ke tujuan yang ditentukan.
Jika Anda ingin menyalin objek ke bucket yang menggunakan setelan diberlakukan pemilik bucket untuk Kepemilikan Objek S3, pastikan bucket sumber juga menggunakan setelan yang diberlakukan pemilik bucket, atau hapus semua hibah ACL objek ke akun dan grup lain. AWS 

**Untuk menyalin objek**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di panel navigasi kiri, pilih Bucket **tujuan umum atau ember** **Direktori**.

1. Dalam daftar ember, pilih nama bucket yang berisi objek yang ingin Anda salin.

1. Centang kotak di sebelah kiri nama objek yang ingin Anda salin.

1. Pada menu **Tindakan**, pilih **Salin** dari daftar opsi yang muncul.

1. Pilih jenis tujuan dan akun tujuan. Untuk menentukan jalur tujuan, pilih **Jelajahi S3**, navigasi ke tujuan, dan pilih kotak centang di sebelah kiri tujuan. Pilih **Pilih tujuan** di sudut kanan bawah. 

   Atau, masukkan jalur tujuan. 

1. Jika Anda *tidak* mengaktifkan versi bucket, Anda akan melihat peringatan yang merekomendasikan Anda mengaktifkan Bucket Versioning untuk membantu melindungi dari penimpaan atau penghapusan objek secara tidak sengaja. Jika Anda ingin menyimpan semua versi objek dalam bucket ini, pilih **Aktifkan Penentuan Versi Bucket**. Anda juga dapat melihat enkripsi default dan properti Kunci Objek S3 di **Detail tujuan**.

1. Di bawah **Pengaturan salinan tambahan**, pilih apakah Anda ingin **Menyalin setelan sumber**, **Jangan tentukan pengaturan**, atau **Tentukan 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, tag objek ACLs, metadata, enkripsi sisi server, dan checksum tambahan.

1. Pilih **Salin** di sudut kanan bawah. Amazon S3 menyalin objek Anda ke tujuan.

### Menggunakan AWS SDKs
<a name="CopyingObjectsUsingSDKs"></a>

Contoh di bagian ini memperlihatkan cara untuk menyalin objek hingga 5 GB dalam satu operasi. Untuk menyalin objek yang lebih besar dari 5 GB, Anda harus menggunakan unggahan multibagian. Untuk informasi selengkapnya, lihat [Menyalin objek menggunakan unggahan multibagian](CopyingObjectsMPUapi.md).

------
#### [ Java ]

Untuk contoh cara menyalin objek dengan AWS SDK for Java, [lihat Menyalin objek dari satu bucket ke bucket](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_CopyObject_section.html) lainnya di Referensi API *Amazon S3*.

------
#### [ .NET ]

Contoh C \$1 berikut menggunakan tingkat tinggi SDK untuk .NET untuk menyalin objek yang sebesar 5 GB dalam satu operasi. Untuk objek yang lebih besar dari 5 GB, gunakan contoh salinan unggahan multibagian yang dijelaskan dalam [Menyalin objek menggunakan unggahan multibagian](CopyingObjectsMPUapi.md).

Contoh ini menampilkan pembuatan salinan objek yang berukuran maksimum sebesar 5 GB. Untuk informasi tentang menyiapkan dan menjalankan contoh kode, lihat [Memulai SDK for .NET di AWSAWS SDK for](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html) .NET *Developer Guide*. 

```
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.Threading.Tasks;

namespace Amazon.DocSamples.S3
{
    class CopyObjectTest
    {
        private const string sourceBucket = "*** provide the name of the bucket with source object ***";
        private const string destinationBucket = "*** provide the name of the bucket to copy the object to ***";
        private const string objectKey = "*** provide the name of object to copy ***";
        private const string destObjectKey = "*** provide the destination object key name ***";
        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; 
        private static IAmazonS3 s3Client;

        public static void Main()
        {
            s3Client = new AmazonS3Client(bucketRegion);
            Console.WriteLine("Copying an object");
            CopyingObjectAsync().Wait();
        }

        private static async Task CopyingObjectAsync()
        {
            try
            {
                CopyObjectRequest request = new CopyObjectRequest
                {
                    SourceBucket = sourceBucket,
                    SourceKey = objectKey,
                    DestinationBucket = destinationBucket,
                    DestinationKey = destObjectKey
                };
                CopyObjectResponse response = await s3Client.CopyObjectAsync(request);
            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message);
            }
        }
    }
}
```

------
#### [ PHP ]

 Topik ini memandu Anda menggunakan kelas dari versi 3 AWS SDK untuk PHP untuk menyalin satu objek dan beberapa objek dalam Amazon S3, dari satu bucket ke bucket lainnya atau dalam bucket yang sama.

Untuk informasi selengkapnya tentang AWS SDK for Ruby API, [AWS buka SDK for Ruby](https://docs.aws.amazon.com/sdkforruby/api/index.html) - Versi 2.

Contoh PHP berikut menggambarkan penggunaan `copyObject()` metode untuk menyalin satu objek dalam Amazon S3. Hal ini juga menunjukkan bagaimana untuk membuat beberapa salinan dari sebuah objek dengan menggunakan batch panggilan ke `CopyObject` dengan `getcommand()` metode.


**Menyalin objek**  

|  |  | 
| --- |--- |
|  1  |  Buat instans dari klien Amazon S3 dengan menggunakan konstruktor kelas `Aws\S3\S3Client`.  | 
|  2  |  Untuk membuat beberapa salinan objek, Anda menjalankan sekumpulan panggilan ke [https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.AwsClientInterface.html#_getCommand](https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.AwsClientInterface.html#_getCommand)metode klien Amazon S3, yang diwarisi dari kelas. [https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.CommandInterface.html](https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.CommandInterface.html) Anda menyediakan perintah `CopyObject` sebagai argumen pertama dan array yang berisi bucket sumber, nama kunci sumber, bucket target, dan nama kunci target sebagai argumen kedua.   | 

```
 require 'vendor/autoload.php';

use Aws\CommandPool;
use Aws\Exception\AwsException;
use Aws\ResultInterface;
use Aws\S3\S3Client;

$sourceBucket = '*** Your Source Bucket Name ***';
$sourceKeyname = '*** Your Source Object Key ***';
$targetBucket = '*** Your Target Bucket Name ***';

$s3 = new S3Client([
    'version' => 'latest',
    'region' => 'us-east-1'
]);

// Copy an object.
$s3->copyObject([
    'Bucket' => $targetBucket,
    'Key' => "$sourceKeyname-copy",
    'CopySource' => "$sourceBucket/$sourceKeyname",
]);

// Perform a batch of CopyObject operations.
$batch = array();
for ($i = 1; $i <= 3; $i++) {
    $batch[] = $s3->getCommand('CopyObject', [
        'Bucket' => $targetBucket,
        'Key' => "{targetKeyname}-$i",
        'CopySource' => "$sourceBucket/$sourceKeyname",
    ]);
}
try {
    $results = CommandPool::batch($s3, $batch);
    foreach ($results as $result) {
        if ($result instanceof ResultInterface) {
            // Result handling here
        }
        if ($result instanceof AwsException) {
            // AwsException handling here
        }
    }
} catch (Exception $e) {
    // General error handling here
}
```

------
#### [ Python ]

```
class ObjectWrapper:
    """Encapsulates S3 object actions."""

    def __init__(self, s3_object):
        """
        :param s3_object: A Boto3 Object resource. This is a high-level resource in Boto3
                          that wraps object actions in a class-like structure.
        """
        self.object = s3_object
        self.key = self.object.key
```

```
    def copy(self, dest_object):
        """
        Copies the object to another bucket.

        :param dest_object: The destination object initialized with a bucket and key.
                            This is a Boto3 Object resource.
        """
        try:
            dest_object.copy_from(
                CopySource={"Bucket": self.object.bucket_name, "Key": self.object.key}
            )
            dest_object.wait_until_exists()
            logger.info(
                "Copied object from %s:%s to %s:%s.",
                self.object.bucket_name,
                self.object.key,
                dest_object.bucket_name,
                dest_object.key,
            )
        except ClientError:
            logger.exception(
                "Couldn't copy object from %s/%s to %s/%s.",
                self.object.bucket_name,
                self.object.key,
                dest_object.bucket_name,
                dest_object.key,
            )
            raise
```

------
#### [ Ruby ]

Tugas berikut memandu Anda menggunakan Ruby class untuk menyalin objek di Amazon S3 dari satu bucket ke bucket lainnya atau dalam bucket yang sama. 


**Menyalin objek**  

|  |  | 
| --- |--- |
|  1  |  Gunakan permata termodulasi Amazon S3 untuk versi 3 dari, require AWS SDK untuk Ruby`aws-sdk-s3`, dan berikan kredensyal Anda. AWS *Untuk informasi selengkapnya tentang cara memberikan kredensil Anda, lihat [Membuat permintaan menggunakan kredensil pengguna AWS akun atau IAM di Referensi API](https://docs.aws.amazon.com/AmazonS3/latest/API/AuthUsingAcctOrUserCredentials.html) Amazon S3.*  | 
|  2  |  Berikan informasi permintaan, seperti nama bucket sumber, nama kunci sumber, nama bucket tujuan, dan kunci tujuan.   | 

Contoh Ruby kode berikut menunjukkan tugas-tugas sebelumnya dengan menggunakan `#copy_object` metode untuk menyalin objek dari satu ember ke ember lainnya.

```
require 'aws-sdk-s3'

# Wraps Amazon S3 object actions.
class ObjectCopyWrapper
  attr_reader :source_object

  # @param source_object [Aws::S3::Object] An existing Amazon S3 object. This is used as the source object for
  #                                        copy actions.
  def initialize(source_object)
    @source_object = source_object
  end

  # Copy the source object to the specified target bucket and rename it with the target key.
  #
  # @param target_bucket [Aws::S3::Bucket] An existing Amazon S3 bucket where the object is copied.
  # @param target_object_key [String] The key to give the copy of the object.
  # @return [Aws::S3::Object, nil] The copied object when successful; otherwise, nil.
  def copy_object(target_bucket, target_object_key)
    @source_object.copy_to(bucket: target_bucket.name, key: target_object_key)
    target_bucket.object(target_object_key)
  rescue Aws::Errors::ServiceError => e
    puts "Couldn't copy #{@source_object.key} to #{target_object_key}. Here's why: #{e.message}"
  end
end

# Example usage:
def run_demo
  source_bucket_name = "amzn-s3-demo-bucket1"
  source_key = "my-source-file.txt"
  target_bucket_name = "amzn-s3-demo-bucket2"
  target_key = "my-target-file.txt"

  source_bucket = Aws::S3::Bucket.new(source_bucket_name)
  wrapper = ObjectCopyWrapper.new(source_bucket.object(source_key))
  target_bucket = Aws::S3::Bucket.new(target_bucket_name)
  target_object = wrapper.copy_object(target_bucket, target_key)
  return unless target_object

  puts "Copied #{source_key} from #{source_bucket_name} to #{target_object.bucket_name}:#{target_object.key}."
end

run_demo if $PROGRAM_NAME == __FILE__
```

------

### Penggunaan API REST
<a name="CopyingObjectUsingREST"></a>

Contoh ini menjelaskan cara menyalin objek dengan menggunakan Amazon S3 REST API. Untuk informasi selengkapnya tentang API REST, lihat [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html).

Contoh ini menyalin objek `flotsam` dari bucket `amzn-s3-demo-bucket1` ke objek `jetsam` dari bucket `amzn-s3-demo-bucket2`, dengan mempertahankan metadatanya.

```
1. PUT /jetsam HTTP/1.1
2. Host: amzn-s3-demo-bucket2.s3.amazonaws.com
3. x-amz-copy-source: /amzn-s3-demo-bucket1/flotsam
4. Authorization: AWS AKIAIOSFODNN7EXAMPLE:ENoSbxYByFA0UGLZUqJN5EUnLDg=
5. Date: Wed, 20 Feb 2008 22:12:21 +0000
```

Tanda tangannya dihasilkan dari informasi berikut.

```
1. PUT\r\n
2. \r\n
3. \r\n
4. Wed, 20 Feb 2008 22:12:21 +0000\r\n
5. 
6. x-amz-copy-source:/amzn-s3-demo-bucket1/flotsam\r\n
7. /amzn-s3-demo-bucket2/jetsam
```

Amazon S3 mengembalikan respons berikut yang menentukan ETag objek dan kapan terakhir diubah.

```
 1. HTTP/1.1 200 OK
 2. x-amz-id-2: Vyaxt7qEbzv34BnSu5hctyyNSlHTYZFMWK4FtzO+iX8JQNyaLdTshL0KxatbaOZt
 3. x-amz-request-id: 6B13C3C5B34AF333
 4. Date: Wed, 20 Feb 2008 22:13:01 +0000
 5. 
 6. Content-Type: application/xml
 7. Transfer-Encoding: chunked
 8. Connection: close
 9. Server: AmazonS3
10. <?xml version="1.0" encoding="UTF-8"?>
11. 
12. <CopyObjectResult>
13.    <LastModified>2008-02-20T22:13:01</LastModified>
14.    <ETag>"7e9c608af58950deeb370c98608ed097"</ETag>
15. </CopyObjectResult>
```

### Menggunakan AWS CLI
<a name="copy-object-cli"></a>

Anda juga dapat menggunakan AWS Command Line Interface (AWS CLI) untuk menyalin objek S3. Untuk informasi selengkapnya, lihat [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/copy-object.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/copy-object.html) dalam *AWS CLI Referensi Perintah*.

Untuk informasi tentang AWS CLI, lihat [Apa itu AWS Command Line Interface?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) dalam *AWS Command Line Interface User Guide*. 

## Untuk memindahkan objek
<a name="MovingObjectsExamples"></a>

Untuk memindahkan objek, gunakan metode berikut.

### Menggunakan konsol S3
<a name="moving-console"></a>

**catatan**  
Anda dapat memindahkan objek jika objek Anda kurang dari 5 GB. Jika objek Anda lebih besar dari 5 GB, Anda harus menggunakan [AWS CLI](mpu-upload-object.md#UsingCLImpUpload)atau [AWS SDKs](CopyingObjectsMPUapi.md)untuk memindahkan objek.
Untuk daftar izin tambahan yang diperlukan untuk memindahkan objek, lihat[Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md). Misalnya kebijakan yang memberikan izin ini, lihat[Contoh kebijakan berbasis identitas untuk Amazon S3](example-policies-s3.md).
Objek yang dienkripsi dengan kunci enkripsi yang disediakan pelanggan (SSE-C) tidak dapat dipindahkan dengan menggunakan konsol Amazon S3. Untuk memindahkan objek yang dienkripsi dengan SSE-C, gunakan, atau Amazon S3 REST API. AWS CLI AWS SDKs
Saat memindahkan folder, tunggu operasi **Pindahkan** selesai sebelum membuat perubahan tambahan di folder. 
Anda tidak dapat menggunakan alias titik akses S3 sebagai sumber atau tujuan untuk operasi **Pindah** di konsol Amazon S3.

**Untuk memindahkan objek**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di panel navigasi kiri, pilih **Bucket**. Navigasikan ke bucket atau folder Amazon S3 yang berisi objek yang ingin Anda pindahkan.

1. Pilih kotak centang untuk objek yang ingin Anda pindahkan.

1. Pada menu **Tindakan**, pilih **Pindahkan**.

1. Untuk menentukan jalur tujuan, pilih **Browse S3**, navigasikan ke tujuan, dan pilih kotak centang tujuan. Pilih **Pilih tujuan**. 

   Atau, masukkan jalur tujuan. 

1. Jika Anda *tidak* mengaktifkan versi bucket, Anda akan melihat peringatan yang merekomendasikan Anda mengaktifkan Bucket Versioning untuk membantu melindungi dari penimpaan atau penghapusan objek secara tidak sengaja. Jika Anda ingin menyimpan semua versi objek dalam bucket ini, pilih **Aktifkan Penentuan Versi Bucket**. Anda juga dapat melihat enkripsi default dan properti Object Lock di **Detail tujuan**.

1. Di bawah **Pengaturan salinan tambahan**, pilih apakah Anda ingin **Menyalin setelan sumber**, **Jangan tentukan pengaturan**, atau **Tentukan 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, tag objek ACLs, metadata, enkripsi sisi server, dan checksum tambahan.

1. Pilih **Pindahkan** di sudut kanan bawah. Amazon S3 memindahkan objek Anda ke tujuan.

### Menggunakan AWS CLI
<a name="move-object-cli"></a>

Anda juga dapat menggunakan AWS Command Line Interface (AWS CLI) untuk memindahkan objek S3. Untuk informasi selengkapnya, lihat [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/mv.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/mv.html) dalam *AWS CLI Referensi Perintah*.

Untuk informasi tentang AWS CLI, lihat [Apa itu AWS Command Line Interface?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) dalam *AWS Command Line Interface User Guide*. 

## Untuk mengganti nama objek
<a name="renaming-objects"></a>

Untuk mengganti nama objek, gunakan prosedur berikut.

**catatan**  
Anda dapat mengganti nama objek jika objek Anda kurang dari 5 GB. Untuk mengganti nama objek yang lebih besar dari 5 GB, Anda harus menggunakan [AWS CLI](mpu-upload-object.md#UsingCLImpUpload)atau [AWS SDKs](CopyingObjectsMPUapi.md)untuk menyalin objek Anda dengan nama baru dan kemudian menghapus objek asli.
Untuk daftar izin tambahan yang diperlukan untuk menyalin objek, lihat[Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md). Misalnya kebijakan yang memberikan izin ini, lihat[Contoh kebijakan berbasis identitas untuk Amazon S3](example-policies-s3.md).
Mengganti nama objek membuat salinan objek dengan tanggal modifikasi terakhir baru, dan kemudian menambahkan penanda hapus ke objek asli.
Pengaturan bucket untuk enkripsi default diterapkan secara otomatis ke objek tertentu yang tidak dienkripsi.
Anda tidak dapat menggunakan konsol Amazon S3 untuk mengganti nama objek dengan kunci enkripsi yang disediakan pelanggan (SSE-C). Untuk mengganti nama objek yang dienkripsi dengan SSE-C, gunakan, atau Amazon S3 REST API untuk menyalin objek AWS SDKs tersebut dengan nama baru. AWS CLI
Jika bucket ini menggunakan setelan yang diberlakukan pemilik bucket untuk Kepemilikan Objek S3, daftar kontrol akses objek (ACLs) tidak akan disalin.

**Untuk mengganti nama objek**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di panel navigasi, pilih **Bucket**, lalu pilih tab **Bucket tujuan umum**. Arahkan ke bucket Amazon S3 atau folder yang berisi objek yang ingin Anda ganti namanya.

1. Pilih kotak centang untuk objek yang ingin Anda ganti namanya.

1. Pada menu **Tindakan**, pilih **Ganti nama objek**.

1. Di kotak **Nama objek baru**, masukkan nama baru untuk objek tersebut.

1. Di bawah **Pengaturan salinan tambahan**, pilih apakah Anda ingin **Menyalin setelan sumber**, **Jangan tentukan pengaturan**, atau **Tentukan 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, tag objek ACLs, metadata, enkripsi sisi server, dan checksum tambahan.

1. Pilih **Simpan perubahan**. Amazon S3 mengganti nama objek Anda.