View a markdown version of this page

CopyObject (API SABUN) - Amazon Simple Storage Service

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

CopyObject (API SABUN)

catatan

SOAP API untuk Amazon S3 tidak tersedia untuk pelanggan baru, dan mendekati End of Life (EOL) pada 31 Agustus 2025. Kami menyarankan Anda menggunakan REST API atau AWS SDK.

Deskripsi

CopyObjectOperasi membuat salinan objek ketika Anda menentukan kunci dan bucket dari objek sumber dan kunci dan bucket tujuan target.

Saat menyalin objek, Anda dapat mempertahankan semua metadata (default) atau menentukan metadata baru. Namun, ACL tidak dipertahankan dan diatur private untuk pengguna yang membuat permintaan. Untuk mengganti setelan ACL default, tentukan ACL baru saat membuat permintaan salinan. Untuk informasi lebih lanjut, lihat Menggunakan ACL.

Semua permintaan salinan harus diautentikasi. Selain itu, Anda harus memiliki akses baca ke objek sumber dan akses menulis ke bucket tujuan. Untuk informasi selengkapnya, lihat Menggunakan Akses Auth.

Untuk hanya menyalin objek dalam kondisi tertentu, seperti apakah Etag cocok atau apakah objek dimodifikasi sebelum atau setelah tanggal tertentu, gunakan parameter permintaanCopySourceIfUnmodifiedSince,, CopyIfUnmodifiedSinceCopySourceIfMatch, atauCopySourceIfNoneMatch.

catatan

Anda mungkin perlu mengonfigurasi batas waktu soket tumpukan SOAP untuk menyalin objek besar.

Sintaksis Permintaan

<CopyObject xmlns="http://bucket_name.s3.amazonaws.com/2006-03-01"> <SourceBucket>source_bucket</SourceBucket> <SourceObject>source_object</SourceObject> <DestinationBucket>destination_bucket</DestinationBucket> <DestinationObject>destination_object</DestinationObject> <MetadataDirective>{REPLACE | COPY}</MetadataDirective> <Metadata> <Name>metadata_name</Name> <Value>metadata_value</Value> </Metadata> ... <AccessControlList> <Grant> <Grantee xsi:type="user_type"> <ID>user_id</ID> <DisplayName>display_name</DisplayName> </Grantee> <Permission>permission</Permission> </Grant> ... </AccessControlList> <CopySourceIfMatch>etag</CopySourceIfMatch> <CopySourceIfNoneMatch>etag</CopySourceIfNoneMatch> <CopySourceIfModifiedSince>date_time</CopySourceIfModifiedSince> <CopySourceIfUnmodifiedSince>date_time</CopySourceIfUnmodifiedSince> <AWSAccessKeyId>AWSAccessKeyId</AWSAccessKeyId> <Timestamp>TimeStamp</Timestamp> <Signature>Signature</Signature> </CopyObject>

Parameter Permintaan

Nama Deskripsi Diperlukan
SourceBucket

Nama bucket sumber.

Tipe: String

Default: Tidak Ada

Kendala: Bucket sumber yang valid.

Ya
SourceKey

Nama kunci dari objek sumber.

Tipe: String

Default: Tidak Ada

Batasan: Kunci untuk objek sumber yang valid yang memiliki akses BACA.

Ya
DestinationBucket

Nama bucket tujuan.

Tipe: String

Default: Tidak Ada

Kendala: Anda harus memiliki akses WRITE ke bucket tujuan.

Ya
DestinationKey

Kunci objek tujuan.

Tipe: String

Default: Tidak Ada

Kendala: Anda harus memiliki akses WRITE ke bucket tujuan.

Ya
MetadataDirective

Menentukan apakah metadata disalin dari objek sumber atau diganti dengan metadata yang disediakan dalam permintaan.

Tipe: String

Default: COPY

Nilai yang valid: COPY | REPLACE

Kendala: Nilai selain COPY atau REPLACE akan mengakibatkan kesalahan langsung. Anda tidak dapat menyalin objek ke dirinya sendiri kecuali MetadataDirective header ditentukan dan nilainya ditetapkan keREPLACE.

Tidak
Metadata

Menentukan pasangan nama-nilai metadata untuk disetel untuk objek.Jika disetel keCOPY, MetadataDirective semua metadata diabaikan.

Tipe: String

Default: Tidak Ada

Kendala: Tidak ada.

Tidak
AccessControlList

Memberikan akses ke pengguna melalui alamat email atau ID pengguna kanonik.

Tipe: String

Default: Tidak ada

Batasan: Tidak Ada

Tidak
CopySourceIfMatch

Menyalin objek jika tag entitasnya (ETag) cocok dengan tag yang ditentukan; jika tidak, kembalikan a PreconditionFailed.

Tipe: String

Default: Tidak Ada

Kendala: Tidak ada. Jika Etag tidak cocok, objek tidak disalin.

Tidak
CopySourceIfNoneMatch

Menyalin objek jika tag entitasnya (ETag) berbeda dari Etag yang ditentukan; jika tidak mengembalikan kesalahan.

Tipe: String

Default: Tidak Ada

Kendala: Tidak ada.

Tidak
CopySourceIfUnmodifiedSince

Menyalin objek jika belum dimodifikasi sejak waktu yang ditentukan; jika tidak mengembalikan a PreconditionFailed.

Jenis: DateTime

Default: Tidak Ada

Tidak
CopySourceIfModifiedSince

Menyalin objek jika telah dimodifikasi sejak waktu yang ditentukan; jika tidak mengembalikan kesalahan.

Jenis: DateTime

Default: Tidak Ada

Tidak

Sintaksis Respons

<CopyObjectResponse xmlns="http://bucket_name.s3.amazonaws.com/2006-03-01"> <CopyObjectResponse> <ETag>"etag"</ETag> <LastModified>timestamp</LastModified> </CopyObjectResponse> </CopyObjectResponse>

Elemen Respons

Berikut ini adalah daftar elemen respons.

catatan

API SOAP tidak mengembalikan spasi putih tambahan. Spasi tambahan hanya dikembalikan oleh REST API.

Nama Deskripsi
Etag

Mengembalikan etag objek baru. ETag hanya mencerminkan perubahan pada konten objek, bukan metadatanya.

Tipe: String

Leluhur: CopyObjectResult

LastModified

Mengembalikan tanggal objek terakhir diubah.

Tipe: String

Leluhur: CopyObjectResult

Untuk informasi tentang elemen respons umum, lihat Menggunakan Header Respon Kesalahan REST.

Kesalahan Khusus

Tidak ada kesalahan khusus untuk operasi ini. Untuk informasi tentang kesalahan Amazon S3 umum, lihatDaftar kode kesalahan.

Contoh

Contoh ini menyalin objek flotsam dari bucket pacific ke objek jetsam dari bucket atlantic, dengan mempertahankan metadatanya.

Permintaan Sampel

<CopyObject xmlns="http://doc.s3.amazonaws.com/2006-03-01"> <SourceBucket>pacific</SourceBucket> <SourceObject>flotsam</SourceObject> <DestinationBucket>atlantic</DestinationBucket> <DestinationObject>jetsam</DestinationObject> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2008-02-18T13:54:10.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbq7RrtSFmw=</Signature> </CopyObject>

Contoh Respons

<CopyObjectResponse xmlns="http://doc.s3.amazonaws.com/2006-03-01"> <CopyObjectResponse> <ETag>"828ef3fdfa96f00ad9f27c383fc9ac7f"</ETag> <LastModified>2008-02-18T13:54:10.183Z</LastModified> </CopyObjectResponse> </CopyObjectResponse>

Contoh ini menyalin objek “tweedledee” dari bucket wonderland ke objek “tweedledum” dari bucket wonderland, menggantikan metadatanya.

Permintaan Sampel

<CopyObject xmlns="http://doc.s3.amazonaws.com/2006-03-01"> <SourceBucket>wonderland</SourceBucket> <SourceObject>tweedledee</SourceObject> <DestinationBucket>wonderland</DestinationBucket> <DestinationObject>tweedledum</DestinationObject> <MetadataDirective >REPLACE</MetadataDirective > <Metadata> <Name>Content-Type</Name> <Value>text/plain</Value> </Metadata> <Metadata> <Name>relationship</Name> <Value>twins</Value> </Metadata> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2008-02-18T13:54:10.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbq7RrtSFmw=</Signature> </CopyObject>

Contoh Respons

<CopyObjectResponse xmlns="http://doc.s3.amazonaws.com/2006-03-01"> <CopyObjectResponse> <ETag>"828ef3fdfa96f00ad9f27c383fc9ac7f"</ETag> <LastModified>2008-02-18T13:54:10.183Z</LastModified> </CopyObjectResponse> </CopyObjectResponse>

Sumber Daya Terkait