Mengunggah Objek - Amazon Simple Storage Service

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

Mengunggah Objek

Saat Anda mengunggah file ke Amazon S3, file tersebut disimpan sebagai objek S3. Objek terdiri dari data file dan metadata yang menjelaskan objek tersebut. Anda dapat memiliki jumlah objek tak terbatas dalam satu bucket. Sebelum Anda dapat mengunggah file ke bucket Amazon S3, Anda memerlukan izin menulis untuk bucket tersebut. Untuk informasi selengkapnya tentang izin akses, lihat Identity and Access Management untuk Amazon S3.

Anda dapat mengunggah jenis file apa pun—gambar, cadangan, data, film, dan sebagainya—ke dalam bucket S3. Ukuran maksimum file yang dapat Anda unggah menggunakan konsol Amazon S3 adalah 160 GB. Untuk mengunggah file yang lebih besar dari 160 GB, gunakan AWS Command Line Interface (AWS CLI) AWS SDKs, atau Amazon S3 REST API.

Jika Anda mengunggah sebuah objek dengan nama kunci yang sudah ada dalam bucket yang diaktifkan dengan Penentuan Versi, Amazon S3 membuat versi lain dari objek tersebut dan bukan mengganti objek yang ada. Untuk informasi selengkapnya tentang mengaktifkan pembuatan versi, lihat. Mengaktifkan Penentuan Versi pada bucket

Tergantung dari ukuran data yang Anda unggah, Amazon S3 menawarkan opsi berikut:

  • Unggah objek dalam satu operasi dengan menggunakan AWS SDKs, REST API, atau AWS CLI — Dengan satu PUT operasi, Anda dapat mengunggah satu objek berukuran hingga 5 GB.

  • Unggah objek tunggal menggunakan konsol Amazon S3 Dengan konsol Amazon S3, Anda dapat mengunggah objek tunggal yang berukuran hingga 160 GB.

  • Unggah objek dalam beberapa bagian dengan menggunakan AWS SDKs, REST API, atau AWS CLI Menggunakan operasi API unggahan multibagian, Anda dapat mengunggah satu objek besar, berukuran hingga 5 TB.

    Pengoperasian API unggahan multibagian dirancang untuk meningkatkan pengalaman pengunggahan untuk objek yang lebih besar. Anda dapat mengunggah objek dalam beberapa bagian. Bagian-bagian objek ini dapat diunggah secara mandiri, dalam urutan apa pun, dan secara paralel. Anda dapat menggunakan unggahan multibagian untuk objek dengan ukuran mulai dari 5 MB hingga 5 TB. Untuk informasi selengkapnya, lihat Mengunggah dan menyalin objek menggunakan unggahan multipart di Amazon S3.

Saat Anda mengunggah sebuah objek, objek secara otomatis dienkripsi menggunakan enkripsi di sisi server dengan kunci terkelola Amazon S3 (SSE-S3) secara default. Saat Anda mengunduhnya, objek tersebut didekripsi. Untuk informasi selengkapnya, lihat Mengatur perilaku enkripsi sisi server default untuk bucket Amazon S3 dan Melindungi data dengan enkripsi.

Saat mengunggah objek, jika ingin menggunakan jenis enkripsi default yang berbeda, Anda juga dapat menentukan enkripsi sisi server dengan AWS Key Management Service (AWS KMS) kunci (SSE-KMS) dalam PUT permintaan S3 atau mengatur konfigurasi enkripsi default di bucket tujuan untuk menggunakan SSE-KMS untuk mengenkripsi data Anda. Untuk informasi lebih lanjut tentang SSE-KMS, lihat Menentukan enkripsi di sisi server dengan AWS KMS (SSE-KMS). Jika Anda ingin menggunakan kunci KMS yang dimiliki oleh akun lain, Anda harus memiliki izin untuk menggunakan kunci tersebut. Untuk informasi selengkapnya tentang izin lintas akun untuk kunci KMS, lihat Membuat kunci KMS yang dapat digunakan oleh akun lain di Panduan Pengembang AWS Key Management Service .

Jika Anda menemukan kesalahan Akses Ditolak (403 Terlarang) di Amazon S3, Memecahkan masalah akses ditolak (403 Forbidden) kesalahan di Amazon S3 lihat untuk mempelajari lebih lanjut tentang penyebab umumnya.

Mengunggah objek

Prosedur ini menjelaskan cara untuk mengunggah objek dan folder ke bucket Amazon S3 menggunakan konsol tersebut.

Ketika Anda mengunggah objek, nama kunci objek adalah nama file dan prefiks opsional. Di konsol Amazon S3, Anda dapat membuat folder untuk mengatur objek Anda. Di Amazon S3, folder diwakili sebagai prefiks yang muncul dalam nama kunci objek. Jika Anda mengunggah objek individu ke folder di konsol Amazon S3, nama folder disertakan dalam nama kunci objek.

Misalnya, jika Anda mengunggah sebuah objek bernama sample1.jpg ke folder bernama backup, nama kuncinya adalah backup/sample1.jpg. Namun, objek ditampilkan di konsol sebagai sample1.jpg dalam folder backup. Untuk informasi selengkapnya tentang nama kunci, lihat Bekerja dengan metadata objek.

catatan

Jika Anda mengganti sebuah objek atau mengubah properti apa pun di konsol Amazon S3, misalnya Kelas Penyimpanan, Enkripsi, atau Metadata, sebuah objek baru dibuat untuk menggantikan yang lama. Jika Penentuan Versi S3 diaktifkan, versi baru objek akan dibuat, dan objek yang sudah ada menjadi versi yang lebih lama. Peran yang mengubah properti juga menjadi pemilik objek baru (atau versi objek).

Saat Anda mengunggah folder, Amazon S3 mengunggah semua file dan subfolder dari folder yang ditentukan ke bucket Anda. Kode tersebut kemudian menetapkan nama kunci objek yang merupakan kombinasi nama file unggahan dan nama folder. Misalnya, jika Anda mengunggah folder bernama /images yang berisi dua file, sample1.jpg dan sample2.jpg, Amazon S3 mengunggah file tersebut dan kemudian menetapkan nama kunci yang sesuai, images/sample1.jpg dan images/sample2.jpg. Nama-nama kunci termasuk nama folder sebagai prefiks. Konsol Amazon S3 hanya menampilkan bagian dari nama kunci yang mengikuti / yang terakhir. Misalnya, dalam folder images, objek images/sample1.jpg dan images/sample2.jpg ditampilkan sebagai sample1.jpg dan sample2.jpg.

Untuk mengunggah file dan folder ke bucket S3
  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di panel navigasi kiri, pilih Bucket.

  3. Di dalam daftar Bucket, pilih nama bucket tempat Anda ingin mengunggah folder dan file.

  4. Pilih Unggah.

  5. Di jendela Unggah, lakukan salah satu hal berikut:

    • Seret dan jatuhkan file dan folder ke jendela Unggah.

    • Pilih Tambahkan file atau Tambahkan folder, pilih file atau folder untuk diunggah, dan pilih Buka.

  6. Untuk mengaktifkan Penentuan Versi, di bawah Tujuan memilih Aktifkan Penentuan Versi Bucket.

  7. Untuk mengunggah file dan folder yang terdaftar tanpa mengonfigurasi opsi pengunggahan tambahan, di bagian bawah halaman, pilih Unggah.

    Amazon S3 mengunggah objek dan folder Anda. Setelah unggahan selesai, Anda melihat pesan sukses di halaman Unggahan: status.

Untuk mengonfigurasi properti objek tambahan
  1. Untuk mengubah izin daftar kontrol akses, pilih Izin.

  2. Di bagian bawah Daftar kontrol akses (ACL), edit izinnya.

    Untuk informasi selengkapnya tentang izin akses objek, lihat Menggunakan konsol S3 untuk mengatur izin ACL untuk objek. Anda dapat memberikan akses baca ke objek Anda kepada publik (semua orang di dunia) untuk semua file yang Anda unggah. Namun, kami merekomendasikan untuk tidak mengubah pengaturan default untuk mengakses baca publik. Pemberian akses baca publik berlaku untuk sebagian kecil kasus penggunaan, seperti saat bucket digunakan untuk situs web. Anda dapat selalu mengubah izin objek setelah Anda mengunggah objek.

  3. Untuk mengonfigurasi properti tambahan lainnya, pilih Properti.

  4. Di bagian bawah Kelas penyimpanan pilih kelas penyimpanan untuk file yang Anda unggah.

    Untuk informasi selengkapnya tentang kelas penyimpanan, lihat Memahami dan mengelola kelas penyimpanan Amazon S3.

  5. Untuk memperbarui pengaturan enkripsi untuk objek Anda, di bagian bawah Pengaturan enkripsi di sisi server, lakukan hal berikut.

    1. Pilih Tentukan kunci enkripsi.

    2. Di bawah Pengaturan enkripsi, pilih Gunakan pengaturan bucket untuk enkripsi default, atau Ganti pengaturan bucket untuk enkripsi default.

    3. Jika Anda memilih Ganti pengaturan bucket untuk enkripsi default, Anda harus mengonfigurasi pengaturan enkripsi berikut.

      • Untuk mengenkripsi file yang diunggah dengan menggunakan kunci yang dikelola oleh Amazon S3, pilih Kunci yang dikelola Amazon S3 (SSE-S3).

        Untuk informasi selengkapnya, lihat Menggunakan enkripsi di sisi server dengan kunci terkelola Amazon S3 (SSE-S3).

      • Untuk mengenkripsi file yang diunggah dengan menggunakan kunci yang disimpan di AWS Key Management Service (AWS KMS), pilih AWS Key Management Service kunci (SSE-KMS). Lalu pilih salah satu opsi berikut ini untuk kunci AWS KMS :

        • Untuk memilih dari daftar kunci KMS yang tersedia, pilih Pilih dari AWS KMS keys Anda, dan pilih Kunci KMS Anda dari daftar kunci yang tersedia.

          Kunci Kunci yang dikelola AWS (aws/s3) dan kunci terkelola pelanggan Anda muncul dalam daftar ini. Untuk informasi selengkapnya tentang CMK, lihat Kunci pelanggan dan AWS kunci di AWS Key Management Service Panduan Pengembang.

        • Untuk memasukkan ARN kunci KMS, pilih Masukkan AWS KMS key ARN, lalu masukkan ARN kunci KMS Anda di bidang yang muncul.

        • Untuk membuat kunci terkelola pelanggan baru di AWS KMS konsol, pilih Buat kunci KMS.

          Untuk informasi selengkapnya tentang membuat AWS KMS key, lihat Membuat kunci di Panduan AWS Key Management Service Pengembang.

        penting

        Anda hanya dapat menggunakan tombol KMS yang tersedia Wilayah AWS sama dengan bucket. Konsol Amazon S3 hanya mencantumkan kunci 100 KMS pertama di Wilayah yang sama dengan bucket. Untuk menggunakan kunci KMS yang tidak terdaftar, Anda harus memasukkan ARN kunci KMS Anda. Jika Anda ingin menggunakan kunci KMS yang dimiliki oleh akun lain, Anda harus terlebih dahulu memiliki izin untuk menggunakan kunci tersebut, dan kemudian Anda harus memasukkan ARN kunci KMS.

        Amazon S3 hanya mendukung kunci KMS enkripsi simetris, dan tidak mendukung kunci KMS asimetris. Untuk informasi selengkapnya, lihat Mengidentifikasi tombol KMS simetris dan asimetris dalam Panduan Pengembang AWS Key Management Service .

  6. Untuk menggunakan checksum tambahan, pilih Aktif. Kemudian untuk Fungsi checksum, pilih fungsi yang ingin Anda gunakan. Amazon S3 menghitung dan menyimpan nilai checksum setelah menerima objek secara keseluruhan. Anda dapat menggunakan kotak Nilai prakalkulasi untuk memberikan nilai yang telah dihitung sebelumnya. Jika sudah, Amazon S3 membandingkan nilai yang Anda berikan dengan nilai yang dihitung. Jika kedua nilai tidak cocok, Amazon S3 menghasilkan kesalahan.

    Checksum tambahan memungkinkan Anda menentukan algoritma checksum yang ingin Anda gunakan untuk memverifikasi data Anda. Untuk informasi selengkapnya tentang checksum tambahan, lihat Memeriksa integritas objek di Amazon S3.

  7. Untuk menambahkan tanda ke semua objek yang Anda unggah, pilih Tambahkan tag. Masukkan nama tag di bidang Kunci. Masukkan nilai untuk tanda.

    Penandaan objek memberi Anda cara untuk mengategorikan penyimpanan. Setiap tag adalah pasangan nilai kunci. Kunci dan nilai tag peka huruf besar dan kecil. Anda dapat membuat hingga 10 tanda per objek. Kunci tanda dapat terdiri dari hingga 128 karakter Unicode, dan nilai tanda dapat terdiri dari hingga 256 karakter Unicode. Untuk informasi selengkapnya tentang tag objek, lihat Mengategorikan penyimpanan Anda menggunakan tag.

  8. Untuk menambahkan metadata, pilih Tambahkan metadata.

    1. Di bawah Jenis, pilih Ditentukan sistem atau Ditentukan pengguna.

      Untuk metadata yang ditentukan sistem, Anda dapat memilih header HTTP umum, seperti Jenis Konten dan Konten-Disposisi. Untuk daftar metadata yang ditentukan sistem, serta informasi tentang apakah Anda dapat menambahkan nilai, lihat Metadata objek yang ditentukan sistem. Metadata apa pun yang dimulai dengan prefiks x-amz-meta- diperlakukan sebagai metadata yang ditentukan pengguna. Metadata yang ditentukan pengguna disimpan bersama objek, dan dikembalikan saat Anda mengunduh objek tersebut. Baik kunci maupun nilainya harus sesuai dengan standar US-ASCII. Metadata yang ditentukan pengguna dapat berukuran sebesar 2 KB. Untuk informasi selengkapnya tentang metadata yang ditentukan sistem dan yang ditentukan pengguna, lihat Bekerja dengan metadata objek.

    2. Untuk Kunci, pilih kuncinya.

    3. Ketikkan nilai untuk kunci tersebut.

  9. Untuk mengunggah objek Anda, pilih Unggah.

    Amazon S3 mengunggah objek Anda. Setelah unggahannya selesai, Anda dapat melihat pesan sukses di halaman Unggah: status.

  10. Pilih Keluar.

Anda dapat mengirim permintaan PUT untuk mengunggah objek hingga 5 GB dalam satu operasi. Untuk informasi dan contoh selengkapnya, lihat contoh PutObject di AWS CLI Referensi Perintah.

Anda dapat mengirim permintaan REST untuk mengunggah sebuah objek. Anda dapat mengirim permintaan PUT untuk mengunggah dalam satu operasi. Untuk informasi lebih lanjut, lihat PUT Objek.

Anda dapat menggunakan AWS SDKs untuk mengunggah objek di Amazon S3. Pustaka pembungkus SDKs menyediakan bagi Anda untuk mengunggah data dengan mudah. Untuk selengkapnya, lihat Daftar yang didukung SDKs.

Berikut adalah beberapa contoh dengan beberapa pilihan SDKs:

.NET

Contoh kode C# berikut ini membuat dua objek dengan dua permintaan PutObjectRequest:

  • Permintaan PutObjectRequest yang pertama menyimpan sebuah string teks sebagai data objek sampel. Permintaan ini juga menentukan nama kunci bucket dan objek.

  • Permintaan PutObjectRequest yang kedua mengunggah sebuah file dengan menentukan nama file tersebut. Permintaan ini juga menentukan header ContentType dan metadata objek opsional (sebuah judul).

Untuk informasi tentang menyiapkan dan menjalankan contoh kode, lihat Memulai SDK for .NET di AWSAWS SDK for .NET Developer Guide.

using Amazon; using Amazon.S3; using Amazon.S3.Model; using System; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class UploadObjectTest { private const string bucketName = "*** bucket name ***"; // For simplicity the example creates two objects from the same file. // You specify key names for these objects. private const string keyName1 = "*** key name for first object created ***"; private const string keyName2 = "*** key name for second object created ***"; private const string filePath = @"*** file path ***"; private static readonly RegionEndpoint bucketRegion = RegionEndpoint.EUWest1; private static IAmazonS3 client; public static void Main() { client = new AmazonS3Client(bucketRegion); WritingAnObjectAsync().Wait(); } static async Task WritingAnObjectAsync() { try { // 1. Put object-specify only key name for the new object. var putRequest1 = new PutObjectRequest { BucketName = bucketName, Key = keyName1, ContentBody = "sample text" }; PutObjectResponse response1 = await client.PutObjectAsync(putRequest1); // 2. Put the object-set ContentType and add metadata. var putRequest2 = new PutObjectRequest { BucketName = bucketName, Key = keyName2, FilePath = filePath, ContentType = "text/plain" }; putRequest2.Metadata.Add("x-amz-meta-title", "someTitle"); PutObjectResponse response2 = await client.PutObjectAsync(putRequest2); } catch (AmazonS3Exception e) { Console.WriteLine( "Error encountered ***. 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); } } } }
Java

Contoh berikut ini menampilkan pembuatan dua objek. Objek pertama memiliki string teks sebagai data, dan objek kedua adalah sebuah file. Contoh ini membuat objek pertama dengan menentukan nama bucket, kunci objek, dan data teks dalam panggilan langsung ke AmazonS3Client.putObject(). Contoh ini membuat objek kedua dengan menggunakan PutObjectRequest yang menentukan nama bucket, kunci objek, dan jalur file. PutObjectRequest juga menentukan header ContentType dan metadata judul.

Untuk petunjuk cara membuat dan menguji sampel yang berfungsi, lihat Memulai di Panduan AWS SDK untuk Java Pengembang.

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.ObjectMetadata; import com.amazonaws.services.s3.model.PutObjectRequest; import java.io.File; import java.io.IOException; public class UploadObject { public static void main(String[] args) throws IOException { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; String stringObjKeyName = "*** String object key name ***"; String fileObjKeyName = "*** File object key name ***"; String fileName = "*** Path to file to upload ***"; try { // This code expects that you have AWS credentials set up per: // https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-credentials.html AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withRegion(clientRegion) .build(); // Upload a text string as a new object. s3Client.putObject(bucketName, stringObjKeyName, "Uploaded String Object"); // Upload a file as a new object with ContentType and title specified. PutObjectRequest request = new PutObjectRequest(bucketName, fileObjKeyName, new File(fileName)); ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentType("plain/text"); metadata.addUserMetadata("title", "someTitle"); request.setMetadata(metadata); s3Client.putObject(request); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
JavaScript

Contoh berikut ini menampilkan pengunggahan sebuah file yang ada ke bucket Amazon S3 di Wilayah tertentu.

import { readFile } from "node:fs/promises"; import { PutObjectCommand, S3Client, S3ServiceException, } from "@aws-sdk/client-s3"; /** * Upload a file to an S3 bucket. * @param {{ bucketName: string, key: string, filePath: string }} */ export const main = async ({ bucketName, key, filePath }) => { const client = new S3Client({}); const command = new PutObjectCommand({ Bucket: bucketName, Key: key, Body: await readFile(filePath), }); try { const response = await client.send(command); console.log(response); } catch (caught) { if ( caught instanceof S3ServiceException && caught.name === "EntityTooLarge" ) { console.error( `Error from S3 while uploading object to ${bucketName}. \ The object was too large. To upload objects larger than 5GB, use the S3 console (160GB max) \ or the multipart upload API (5TB max).`, ); } else if (caught instanceof S3ServiceException) { console.error( `Error from S3 while uploading object to ${bucketName}. ${caught.name}: ${caught.message}`, ); } else { throw caught; } } };
PHP

Contoh ini memandu Anda menggunakan kelas dari AWS SDK untuk PHP untuk mengunggah objek berukuran hingga 5 GB. Untuk file yang lebih besar, Anda harus menggunakan operasi pengunggahan API multibagian. Untuk informasi selengkapnya, lihat Mengunggah dan menyalin objek menggunakan unggahan multipart di Amazon S3.

Untuk informasi selengkapnya tentang AWS SDK for Ruby API, AWS buka SDK for Ruby - Versi 2.

contoh — Membuat sebuah objek dalam sebuah bucket Amazon S3 dengan mengunggah data

Contoh PHP berikut ini membuat objek dalam bucket tertentu dengan mengunggah data menggunakan metode putObject().

require 'vendor/autoload.php'; use Aws\S3\Exception\S3Exception; use Aws\S3\S3Client; $bucket = '*** Your Bucket Name ***'; $keyname = '*** Your Object Key ***'; $s3 = new S3Client([ 'version' => 'latest', 'region' => 'us-east-1' ]); try { // Upload data. $result = $s3->putObject([ 'Bucket' => $bucket, 'Key' => $keyname, 'Body' => 'Hello, world!', 'ACL' => 'public-read' ]); // Print the URL to the object. echo $result['ObjectURL'] . PHP_EOL; } catch (S3Exception $e) { echo $e->getMessage() . PHP_EOL; }
Ruby

The AWS SDK untuk Ruby - Versi 3 memiliki dua cara untuk mengunggah objek ke Amazon S3. Yang pertama menggunakan pengunggah file terkelola, yang mempermudah pengunggahan file berukuran berapa pun dari disk. Untuk menggunakan metode pengunggah file terkelola:

  1. Ciptakan contoh dari kelas Aws::S3::Resource.

  2. Referensikan objek target berdasarkan nama dan kunci bucket. Objek muncul di dalam bucket dan memiliki kunci unik yang mengidentifikasi setiap objek.

  3. Panggil#upload_file pada objek.

require 'aws-sdk-s3' # Wraps Amazon S3 object actions. class ObjectUploadFileWrapper attr_reader :object # @param object [Aws::S3::Object] An existing Amazon S3 object. def initialize(object) @object = object end # Uploads a file to an Amazon S3 object by using a managed uploader. # # @param file_path [String] The path to the file to upload. # @return [Boolean] True when the file is uploaded; otherwise false. def upload_file(file_path) @object.upload_file(file_path) true rescue Aws::Errors::ServiceError => e puts "Couldn't upload file #{file_path} to #{@object.key}. Here's why: #{e.message}" false end end # Example usage: def run_demo bucket_name = "amzn-s3-demo-bucket" object_key = "my-uploaded-file" file_path = "object_upload_file.rb" wrapper = ObjectUploadFileWrapper.new(Aws::S3::Object.new(bucket_name, object_key)) return unless wrapper.upload_file(file_path) puts "File #{file_path} successfully uploaded to #{bucket_name}:#{object_key}." end run_demo if $PROGRAM_NAME == __FILE__

Cara kedua bahwa AWS SDK untuk Ruby - Versi 3 dapat meng-upload objek menggunakan #put metodeAws::S3::Object. Hal ini berguna jika objeknya adalah string atau objek I/O yang bukan merupakan file pada disk. Untuk menggunakan metode ini:

  1. Buat instans dari kelas Aws::S3::Resource.

  2. Referensikan objek target berdasarkan nama dan kunci bucket.

  3. Panggil#put, pindahkan ke dalam string atau objek I/O.

require 'aws-sdk-s3' # Wraps Amazon S3 object actions. class ObjectPutWrapper attr_reader :object # @param object [Aws::S3::Object] An existing Amazon S3 object. def initialize(object) @object = object end def put_object(source_file_path) File.open(source_file_path, 'rb') do |file| @object.put(body: file) end true rescue Aws::Errors::ServiceError => e puts "Couldn't put #{source_file_path} to #{object.key}. Here's why: #{e.message}" false end end # Example usage: def run_demo bucket_name = "amzn-s3-demo-bucket" object_key = "my-object-key" file_path = "my-local-file.txt" wrapper = ObjectPutWrapper.new(Aws::S3::Object.new(bucket_name, object_key)) success = wrapper.put_object(file_path) return unless success puts "Put file #{file_path} into #{object_key} in #{bucket_name}." end run_demo if $PROGRAM_NAME == __FILE__

Mencegah mengunggah objek dengan nama kunci yang identik

Anda dapat memeriksa keberadaan objek di bucket Anda sebelum membuatnya menggunakan penulisan bersyarat pada operasi unggahan. Ini dapat mencegah penimpaan data yang ada. Penulisan bersyarat akan memvalidasi tidak ada objek yang ada dengan nama kunci yang sama yang sudah ada di bucket Anda saat mengunggah.

Anda dapat menggunakan penulisan bersyarat untuk PutObjectatau CompleteMultipartUploadpermintaan.

Untuk informasi selengkapnya tentang permintaan bersyarat, lihat,Tambahkan prasyarat ke operasi S3 dengan permintaan bersyarat.