Menyetel konfigurasi Siklus Hidup S3 pada bucket - Amazon Simple Storage Service

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

Menyetel konfigurasi Siklus Hidup S3 pada bucket

Anda dapat menyetel konfigurasi Siklus Hidup Amazon S3 pada bucket menggunakan konsol Amazon S3, AWS Command Line Interface (AWS CLI), API REST Amazon S3, atau Amazon S3 AWS SDKs REST. Untuk informasi tentang konfigurasi Siklus Hidup S3, lihat Mengelola siklus hidup objek.

catatan

Untuk melihat atau mengedit konfigurasi siklus hidup bucket direktori, gunakan AWS CLI AWS SDKs, atau Amazon S3 REST API. Untuk informasi selengkapnya, lihat Bekerja dengan Siklus Hidup S3 untuk bucket direktori.

Dalam konfigurasi Siklus Hidup S3, Anda menggunakan aturan siklus hidup untuk menentukan tindakan yang ingin dilakukan Amazon S3 selama masa pakai objek. Misalnya, Anda dapat menentukan aturan untuk mentransisikan objek ke kelas penyimpanan lain, objek arsip, atau objek kedaluwarsa (hapus) setelah jangka waktu tertentu.

Pertimbangan Siklus Hidup S3

Sebelum Anda mengatur konfigurasi siklus hidup, perhatikan hal berikut ini:

Penundaan propagasi konfigurasi siklus hidup

Saat Anda menambahkan konfigurasi Siklus Hidup S3 ke dalam bucket, biasanya ada beberapa jeda sebelum konfigurasi Siklus Hidup baru atau yang diperbarui sepenuhnya disebarkan ke semua sistem Amazon S3. Perkirakan penundaan beberapa menit sebelum konfigurasi benar-benar berpengaruh. Penundaan ini juga dapat terjadi saat Anda menghapus konfigurasi Siklus Hidup S3.

Transisi atau penundaan kedaluwarsa

Ada penundaan antara saat aturan siklus hidup terpenuhi dan saat tindakan untuk aturan selesai. Misalnya, seperangkat objek kedaluwarsa oleh aturan siklus hidup pada 1 Januari. Meskipun aturan kedaluwarsa telah dipenuhi pada 1 Januari, Amazon S3 mungkin tidak benar-benar menghapus objek ini sampai berhari-hari atau bahkan berminggu-minggu kemudian. Penundaan ini terjadi karena Siklus Hidup S3 mengantri objek untuk transisi atau kedaluwarsa secara asinkron. Namun, perubahan dalam penagihan biasanya diterapkan ketika aturan siklus hidup dipenuhi, bahkan jika tindakan tidak selesai. Untuk informasi selengkapnya, lihat Perubahan dalam penagihan. Untuk memantau efek pembaruan yang dibuat oleh aturan siklus hidup aktif, lihat Bagaimana cara memantau tindakan yang diambil oleh aturan siklus hidup saya?

Memperbarui, menonaktifkan, atau menghapus aturan siklus hidup

Saat Anda menonaktifkan atau menghapus aturan siklus hidup, Amazon S3 berhenti menjadwalkan objek baru untuk dihapus atau dialihkan setelah penundaan kecil. Objek yang sudah dijadwalkan menjadi tidak dijadwalkan dan tidak dihapus atau ditransisikan.

catatan

Sebelum memperbarui, menonaktifkan, atau menghapus aturan siklus hidup, gunakan operasi API (seperti LIST ListObjectsV2, ListObjectVersions, dan ListMultipartUploads) atau Mengkatalogkan dan menganalisis data Anda dengan S3 Inventory untuk memverifikasi bahwa Amazon S3 telah mentransisikan dan menghapus objek yang memenuhi syarat berdasarkan kasus penggunaan Anda. Jika Anda mengalami masalah dengan memperbarui, menonaktifkan, atau menghapus aturan siklus hidup, lihat. Memecahkan masalah Siklus Hidup Amazon S3

Objek yang ada dan baru

Ketika Anda menambahkan konfigurasi Siklus Hidup ke dalam bucket, aturan konfigurasi berlaku untuk objek yang ada dan objek yang Anda tambahkan kemudian. Misalnya, jika Anda menambahkan aturan konfigurasi Siklus Hidup hari ini dengan tindakan kedaluwarsa yang menyebabkan objek dengan awalan tertentu kedaluwarsa 30 hari setelah pembuatan, Amazon S3 akan mengantri untuk menghapus objek yang ada yang berusia lebih dari 30 hari dan yang memiliki awalan yang ditentukan.

Memantau pengaruh aturan siklus hidup

Untuk memantau efek pembaruan yang dibuat oleh aturan siklus hidup aktif, lihat Bagaimana cara memantau tindakan yang diambil oleh aturan siklus hidup saya?

Perubahan penagihan

Mungkin ada jeda antara saat aturan konfigurasi Siklus Hidup dipenuhi dan saat tindakan yang dipicu dengan memenuhi aturan diambil. Namun, perubahan penagihan terjadi segera setelah aturan konfigurasi Siklus Hidup dipenuhi, meskipun tindakan belum diambil.

Misalnya, setelah waktu kedaluwarsa objek, Anda tidak dikenakan biaya untuk penyimpanan, meskipun objek tidak segera dihapus. Demikian juga, segera setelah waktu transisi objek berlalu, Anda dikenakan biaya tingkat penyimpanan S3 Glacier Flexible Retrieval, bahkan jika objek tidak segera dialihkan ke kelas penyimpanan S3 Glacier Flexible Retrieval.

Namun, transisi siklus hidup ke kelas penyimpanan S3 Intelligent-Tiering adalah pengecualian. Perubahan penagihan tidak terjadi sampai setelah objek bertransisi ke kelas penyimpanan S3 Intelligent-Tiering.

Aturan ganda atau bertentangan

Jika Anda memiliki beberapa aturan dalam konfigurasi Siklus Hidup S3, objek dapat memenuhi syarat untuk beberapa tindakan Siklus Hidup S3 pada hari yang sama. Dalam kasus tersebut, Amazon S3 mengikuti aturan umum ini:

  • Penghapusan permanen lebih diutamakan daripada transisi.

  • Transisi lebih diutamakan daripada pembuatan penanda hapus.

  • Ketika objek memenuhi syarat untuk transisi S3 Glacier Flexible Retrieval dan S3 Standard-IA (atau S3 One Zone-IA) transisi, Amazon S3 memilih transisi S3 Glacier Flexible Retrieval.

Sebagai contoh, lihat Contoh filter yang tumpang tindih dan tindakan siklus hidup yang bertentangan.

Cara mengatur konfigurasi Siklus Hidup S3

Anda dapat menyetel konfigurasi Siklus Hidup Amazon S3 pada bucket tujuan umum menggunakan konsol Amazon S3, AWS Command Line Interface (AWS CLI), API REST Amazon S3, atau Amazon S3 AWS SDKs REST.

Untuk informasi tentang AWS CloudFormation templat dan contoh, lihat Bekerja dengan AWS CloudFormation templat dan AWS::S3::Bucket di Panduan Pengguna AWS CloudFormation .

Anda dapat menentukan aturan siklus hidup untuk semua objek atau subset objek dalam bucket dengan menggunakan awalan bersama (nama objek yang dimulai dengan string umum) atau tag. Dalam aturan siklus hidup, Anda dapat menentukan tindakan khusus untuk versi objek saat ini dan noncurrent. Untuk informasi selengkapnya, lihat berikut ini:

Untuk membuat aturan siklus hidup
  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 tujuan umum.

  3. Dalam daftar bucket, pilih nama bucket yang ingin Anda buat aturan siklus hidup.

  4. Pilih tab Manajemen, dan pilih Buat aturan siklus hidup.

  5. Di Nama aturan siklus hidup, masukkan nama untuk aturan Anda.

    Nama dalam bucket harus unik.

  6. Pilih cakupan aturan siklus hidup:

    • Untuk menerapkan aturan siklus hidup ini pada semua objek dengan awalan atau tanda khusus, pilih Batasi cakupan ke awalan atau tanda tertentu.

      • Untuk membatasi cakupan dengan awalan, di Awalan, masukkan awalan.

      • Untuk membatasi cakupan berdasarkan tanda, pilih Tambahkan tanda, dan masukkan kunci dan nilai tanda.

      Untuk informasi selengkapnya tentang awalan nama objek, lihat Menamai objek Amazon S3. Untuk informasi selengkapnya tentang tag objek, lihat Mengategorikan penyimpanan Anda menggunakan tag.

    • Untuk menerapkan aturan siklus hidup ini ke semua objek di bucket, pilih Aturan ini berlaku untuk semua objek di bucket, lalu pilih Saya mengakui bahwa aturan ini berlaku untuk semua objek di bucket.

  7. Untuk memfilter aturan berdasarkan ukuran objek, Anda dapat memilih Tentukan ukuran objek minimum, Tentukan ukuran objek maksimum, atau kedua opsi.

    • Saat Anda menentukan nilai untuk ukuran objek Minimum atau ukuran objek Maksimum, nilainya harus lebih besar dari 0 byte dan hingga 5 TB. Anda dapat menentukan nilai ini dalam bita, KB, MB, atau GB.

    • Saat Anda menentukan kedua nilai, ukuran objek maksimum harus lebih besar dari ukuran objek minimum.

      catatan

      Ukuran objek Minimum dan filter ukuran objek Maksimum mengecualikan nilai yang ditentukan. Misalnya, jika Anda menyetel filter untuk objek kedaluwarsa yang memiliki ukuran objek Minimum 128 KB, objek yang persis 128 KB tidak akan kedaluwarsa. Sebaliknya, aturan hanya berlaku untuk objek yang berukuran lebih besar dari 128 KB.

  8. Di bawah Tindakan aturan siklus hidup, pilih tindakan yang Anda ingin aturan siklus hidup Anda lakukan:

    • Transisikan versi objek saat ini antar kelas penyimpanan

    • Transisikan versi objek sebelumnya antar kelas penyimpanan

    • Akhiri versi objek saat ini

      catatan

      Untuk bucket yang tidak mengaktifkan Versi S3, versi saat ini yang kedaluwarsa menyebabkan Amazon S3 menghapus objek secara permanen. Untuk informasi selengkapnya, lihat Tindakan Siklus Hidup dan kondisi Penentuan Versi bucket.

    • Hapus secara permanen versi objek sebelumnya

    • Hapus penanda hapus yang kedaluwarsa atau unggahan multibagian yang belum selesai

    Tergantung pada tindakan yang Anda pilih, opsi yang berbeda akan muncul.

  9. Untuk mentransisikan versi objek saat ini di antara kelas penyimpanan, di bawah Transisi versi objek saat ini di antara kelas penyimpanan, lakukan hal berikut:

    1. Dalam transisi kelas Storage, pilih kelas penyimpanan untuk transisi. Untuk daftar kemungkinan transisi, lihatTransisi siklus hidup yang didukung. Anda dapat memilih dari kelas penyimpanan berikut:

      • S3 Standard-IA

      • S3 Intelligent-Tiering

      • S3 One Zone-IA

      • S3 Glacier Instant Retrieval

      • S3 Glacier Flexible Retrieval

      • S3 Glacier Deep Archive

    2. Di Hari setelah pembuatan objek, masukkan jumlah hari setelah pembuatan untuk melakukan transisi objek.

    Untuk informasi selengkapnya tentang kelas penyimpanan, lihat Memahami dan mengelola kelas penyimpanan Amazon S3. Anda dapat menentukan transisi untuk versi objek saat ini atau sebelumnya atau untuk versi saat ini dan versi sebelumnya. Penentuan Versi memungkinkan Anda untuk menyimpan beberapa versi dari sebuah objek di dalam satu bucket. Untuk informasi selengkapnya tentang penentuan versi, lihat Menggunakan konsol S3.

    penting

    Saat Anda memilih kelas penyimpanan S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval, atau Glacier Deep Archive, objek Anda tetap berada di Amazon S3. Anda tidak dapat mengaksesnya secara langsung melalui layanan Amazon S3 Glacier yang terpisah. Untuk informasi selengkapnya, lihat Transisi objek menggunakan Siklus Hidup Amazon S3.

  10. Untuk mentransisikan versi noncurrent objek antar kelas penyimpanan, di bawah Transisi versi noncurrent objek antar kelas penyimpanan, lakukan hal berikut:

    1. Dalam transisi kelas Storage, pilih kelas penyimpanan untuk transisi. Untuk daftar kemungkinan transisi, lihatTransisi siklus hidup yang didukung. Anda dapat memilih dari kelas penyimpanan berikut:

      • S3 Standard-IA

      • S3 Intelligent-Tiering

      • S3 One Zone-IA

      • S3 Glacier Instant Retrieval

      • S3 Glacier Flexible Retrieval

      • S3 Glacier Deep Archive

    2. Dalam Hari setelah objek menjadi tidak aktif, masukkan jumlah hari setelah pembuatan untuk transisi objek.

  11. Untuk mengakhiri versi objek saat ini, di bawah Akhiri versi objek saat ini, di Jumlah hari setelah pembuatan objek, masukkan jumlah hari.

    penting

    Dalam bucket nonversioned, tindakan kedaluwarsa menghasilkan Amazon S3 menghapus objek secara permanen. Untuk informasi lebih lanjut tentang tindakan siklus hidup, lihat Elemen untuk mendeskripsikan tindakan siklus hidup.

  12. Untuk menghapus objek versi sebelumnya secara permanen, di bawah Hapus objek versi sebelumnya secara permanen, di Hari setelah objek menjadi versi lama, masukkan jumlah hari. Anda dapat secara opsional menentukan jumlah versi yang lebih baru untuk dipertahankan dengan memasukkan nilai di bawah Jumlah versi yang lebih baru untuk dipertahankan.

  13. Di Bawah Hapus penanda hapus yang kedaluwarsa atau unggahan multibagian yang belum selesai, pilih Hapus penanda hapus objek kedaluwarsa dan Hapus unggahan multibagian yang belum selesai. Kemudian, masukkan jumlah hari setelah inisiasi pengunggahan multibagian yang ingin Anda akhiri dan bersihkan unggahan multibagian yang belum selesai.

    Untuk informasi lebih lanjut tentang unggahan multibagian, lihat Mengunggah dan menyalin objek menggunakan unggahan multipart di Amazon S3.

  14. Pilih Buat aturan.

    Jika aturan tidak berisi kesalahan apa pun, Amazon S3 mengaktifkannya, dan Anda dapat melihatnya di tab Manajemen pada Aturan siklus hidup.

Anda dapat menggunakan AWS CLI perintah berikut untuk mengelola konfigurasi Siklus Hidup S3:

  • put-bucket-lifecycle-configuration

  • get-bucket-lifecycle-configuration

  • delete-bucket-lifecycle

Untuk petunjuk cara menyiapkan AWS CLI, lihat Mengembangkan dengan Amazon S3 menggunakan AWS CLI di Referensi API Amazon S3.

Konfigurasi Amazon Siklus Hidup S3 adalah berkas XML. Tetapi ketika Anda menggunakan AWS CLI, Anda tidak dapat menentukan format XMLnya. Anda harus menentukan format JSON sebagai gantinya. Berikut ini adalah contoh konfigurasi siklus hidup XMLdan konfigurasi JSON setara yang dapat Anda tentukan dalam sebuah perintah. AWS CLI

Pertimbangkan contoh konfigurasi Siklus Hidup S3 berikut.

contoh Contoh 1
XML
<LifecycleConfiguration> <Rule> <ID>ExampleRule</ID> <Filter> <Prefix>documents/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <Days>365</Days> <StorageClass>GLACIER</StorageClass> </Transition> <Expiration> <Days>3650</Days> </Expiration> </Rule> </LifecycleConfiguration>
JSON
{ "Rules": [ { "Filter": { "Prefix": "documents/" }, "Status": "Enabled", "Transitions": [ { "Days": 365, "StorageClass": "GLACIER" } ], "Expiration": { "Days": 3650 }, "ID": "ExampleRule" } ] }
contoh Contoh 2
XML
<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Rule> <ID>id-1</ID> <Expiration> <Days>1</Days> </Expiration> <Filter> <And> <Prefix>myprefix</Prefix> <Tag> <Key>mytagkey1</Key> <Value>mytagvalue1</Value> </Tag> <Tag> <Key>mytagkey2</Key> <Value>mytagvalue2</Value> </Tag> </And> </Filter> <Status>Enabled</Status> </Rule> </LifecycleConfiguration>
JSON
{ "Rules": [ { "ID": "id-1", "Filter": { "And": { "Prefix": "myprefix", "Tags": [ { "Value": "mytagvalue1", "Key": "mytagkey1" }, { "Value": "mytagvalue2", "Key": "mytagkey2" } ] } }, "Status": "Enabled", "Expiration": { "Days": 1 } } ] }

Anda dapat menguji put-bucket-lifecycle-configuration sebagai berikut.

Untuk menguji konfigurasi
  1. Simpan konfigurasi Siklus Hidup JSON dalam sebuah file (misalnya,). lifecycle.json

  2. Jalankan AWS CLI perintah berikut untuk menyetel konfigurasi Siklus Hidup di bucket Anda. Ganti user input placeholders dengan informasi Anda sendiri.

    $ aws s3api put-bucket-lifecycle-configuration  \ --bucket amzn-s3-demo-bucket  \ --lifecycle-configuration file://lifecycle.json
  3. Untuk memverifikasi, ambil konfigurasi Siklus Hidup S3 dengan menggunakan perintah sebagai get-bucket-lifecycle-configuration AWS CLI berikut:

    $ aws s3api get-bucket-lifecycle-configuration  \ --bucket amzn-s3-demo-bucket
  4. Untuk menghapus konfigurasi Siklus Hidup S3, gunakan delete-bucket-lifecycle AWS CLI perintah sebagai berikut:

    aws s3api delete-bucket-lifecycle \ --bucket amzn-s3-demo-bucket
Java

Anda dapat menggunakan AWS SDK untuk Java untuk mengelola konfigurasi Siklus Hidup S3 bucket. Untuk informasi selengkapnya tentang mengelola konfigurasi Siklus Hidup S3, lihat Mengelola siklus hidup objek.

catatan

Saat Anda menambahkan konfigurasi Siklus Hidup S3 ke bucket, Amazon S3 menggantikan konfigurasi Siklus Hidup bucket saat ini, jika ada. Untuk memperbarui konfigurasi, Anda mengambilnya, membuat perubahan yang diinginkan, kemudian menambahkan konfigurasi yang direvisi ke bucket.

Contoh berikut menunjukkan cara menggunakan konfigurasi Siklus Hidup bucket AWS SDK untuk Java untuk menambah, memperbarui, dan menghapus konfigurasi Siklus Hidup. Contoh ini melakukan hal berikut:

  • Menambahkan konfigurasi Siklus Hidup ke dalam bucket.

  • Membuka kembali konfigurasi Siklus Hidup dan memperbaruinya dengan menambahkan aturan lain.

  • Menambahkan konfigurasi Siklus Hidup yang telah dimodifikasi ke dalam bucket. Amazon S3 menggantikan konfigurasi yang ada.

  • Mengambil konfigurasi lagi dan memverifikasi bahwa ia memiliki jumlah aturan yang tepat dengan mencetak jumlah aturan.

  • Menghapus konfigurasi Siklus Hidup dan memverifikasi bahwa konfigurasi telah dihapus dengan mencoba mengambilnya kembali.

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.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.BucketLifecycleConfiguration; import com.amazonaws.services.s3.model.BucketLifecycleConfiguration.Transition; import com.amazonaws.services.s3.model.StorageClass; import com.amazonaws.services.s3.model.Tag; import com.amazonaws.services.s3.model.lifecycle.LifecycleAndOperator; import com.amazonaws.services.s3.model.lifecycle.LifecycleFilter; import com.amazonaws.services.s3.model.lifecycle.LifecyclePrefixPredicate; import com.amazonaws.services.s3.model.lifecycle.LifecycleTagPredicate; import java.io.IOException; import java.util.Arrays; public class LifecycleConfiguration { public static void main(String[] args) throws IOException { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; // Create a rule to archive objects with the "glacierobjects/" prefix to Glacier // immediately. BucketLifecycleConfiguration.Rule rule1 = new BucketLifecycleConfiguration.Rule() .withId("Archive immediately rule") .withFilter(new LifecycleFilter(new LifecyclePrefixPredicate("glacierobjects/"))) .addTransition(new Transition().withDays(0).withStorageClass(StorageClass.Glacier)) .withStatus(BucketLifecycleConfiguration.ENABLED); // Create a rule to transition objects to the Standard-Infrequent Access storage // class // after 30 days, then to Glacier after 365 days. Amazon S3 will delete the // objects after 3650 days. // The rule applies to all objects with the tag "archive" set to "true". BucketLifecycleConfiguration.Rule rule2 = new BucketLifecycleConfiguration.Rule() .withId("Archive and then delete rule") .withFilter(new LifecycleFilter(new LifecycleTagPredicate(new Tag("archive", "true")))) .addTransition(new Transition().withDays(30) .withStorageClass(StorageClass.StandardInfrequentAccess)) .addTransition(new Transition().withDays(365).withStorageClass(StorageClass.Glacier)) .withExpirationInDays(3650) .withStatus(BucketLifecycleConfiguration.ENABLED); // Add the rules to a new BucketLifecycleConfiguration. BucketLifecycleConfiguration configuration = new BucketLifecycleConfiguration() .withRules(Arrays.asList(rule1, rule2)); try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); // Save the configuration. s3Client.setBucketLifecycleConfiguration(bucketName, configuration); // Retrieve the configuration. configuration = s3Client.getBucketLifecycleConfiguration(bucketName); // Add a new rule with both a prefix predicate and a tag predicate. configuration.getRules().add(new BucketLifecycleConfiguration.Rule().withId("NewRule") .withFilter(new LifecycleFilter(new LifecycleAndOperator( Arrays.asList(new LifecyclePrefixPredicate("YearlyDocuments/"), new LifecycleTagPredicate(new Tag( "expire_after", "ten_years")))))) .withExpirationInDays(3650) .withStatus(BucketLifecycleConfiguration.ENABLED)); // Save the configuration. s3Client.setBucketLifecycleConfiguration(bucketName, configuration); // Retrieve the configuration. configuration = s3Client.getBucketLifecycleConfiguration(bucketName); // Verify that the configuration now has three rules. configuration = s3Client.getBucketLifecycleConfiguration(bucketName); System.out.println("Expected # of rules = 3; found: " + configuration.getRules().size()); // Delete the configuration. s3Client.deleteBucketLifecycleConfiguration(bucketName); // Verify that the configuration has been deleted by attempting to retrieve it. configuration = s3Client.getBucketLifecycleConfiguration(bucketName); String s = (configuration == null) ? "No configuration found." : "Configuration found."; System.out.println(s); } 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(); } } }
.NET

Anda dapat menggunakan AWS SDK untuk .NET untuk mengelola konfigurasi Siklus Hidup S3 pada bucket. Untuk informasi selengkapnya tentang mengelola konfigurasi Siklus Hidup, lihat Mengelola siklus hidup objek.

catatan

Saat Anda menambahkan konfigurasi Siklus Hidup, Amazon S3 menggantikan konfigurasi yang ada pada bucket yang ditentukan. Untuk memperbarui konfigurasi, Anda harus mengembalikan konfigurasi Siklus Hidup terlebih dahulu, membuat perubahan, kemudian menambahkan konfigurasi Siklus Hidup yang telah direvisi ke bucket.

Contoh berikut menunjukkan cara menggunakan konfigurasi Siklus Hidup bucket AWS SDK untuk .NET untuk menambah, memperbarui, dan menghapus konfigurasi Siklus Hidup bucket. Contoh kode melakukan hal sebagai berikut:

  • Menambahkan konfigurasi Siklus Hidup ke dalam bucket.

  • Membuka kembali konfigurasi Siklus Hidup dan memperbaruinya dengan menambahkan aturan lain.

  • Menambahkan konfigurasi Siklus Hidup yang telah dimodifikasi ke dalam bucket. Amazon S3 menggantikan konfigurasi Siklus Hidup yang ada.

  • Mengambil kembali konfigurasi dan memverifikasinya dengan mencetak jumlah aturan dalam konfigurasi.

  • Menghapus konfigurasi Siklus Hidup dan memverifikasi penghapusan.

Untuk informasi tentang menyiapkan dan menjalankan contoh kode, lihat Memulai AWS SDK untuk .NET di Panduan AWS SDK untuk .NET Pengembang.

using Amazon; using Amazon.S3; using Amazon.S3.Model; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class LifecycleTest { private const string bucketName = "*** bucket name ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 client; public static void Main() { client = new AmazonS3Client(bucketRegion); AddUpdateDeleteLifecycleConfigAsync().Wait(); } private static async Task AddUpdateDeleteLifecycleConfigAsync() { try { var lifeCycleConfiguration = new LifecycleConfiguration() { Rules = new List<LifecycleRule> { new LifecycleRule { Id = "Archive immediately rule", Filter = new LifecycleFilter() { LifecycleFilterPredicate = new LifecyclePrefixPredicate() { Prefix = "glacierobjects/" } }, Status = LifecycleRuleStatus.Enabled, Transitions = new List<LifecycleTransition> { new LifecycleTransition { Days = 0, StorageClass = S3StorageClass.Glacier } }, }, new LifecycleRule { Id = "Archive and then delete rule", Filter = new LifecycleFilter() { LifecycleFilterPredicate = new LifecyclePrefixPredicate() { Prefix = "projectdocs/" } }, Status = LifecycleRuleStatus.Enabled, Transitions = new List<LifecycleTransition> { new LifecycleTransition { Days = 30, StorageClass = S3StorageClass.StandardInfrequentAccess }, new LifecycleTransition { Days = 365, StorageClass = S3StorageClass.Glacier } }, Expiration = new LifecycleRuleExpiration() { Days = 3650 } } } }; // Add the configuration to the bucket. await AddExampleLifecycleConfigAsync(client, lifeCycleConfiguration); // Retrieve an existing configuration. lifeCycleConfiguration = await RetrieveLifecycleConfigAsync(client); // Add a new rule. lifeCycleConfiguration.Rules.Add(new LifecycleRule { Id = "NewRule", Filter = new LifecycleFilter() { LifecycleFilterPredicate = new LifecyclePrefixPredicate() { Prefix = "YearlyDocuments/" } }, Expiration = new LifecycleRuleExpiration() { Days = 3650 } }); // Add the configuration to the bucket. await AddExampleLifecycleConfigAsync(client, lifeCycleConfiguration); // Verify that there are now three rules. lifeCycleConfiguration = await RetrieveLifecycleConfigAsync(client); Console.WriteLine("Expected # of rulest=3; found:{0}", lifeCycleConfiguration.Rules.Count); // Delete the configuration. await RemoveLifecycleConfigAsync(client); // Retrieve a nonexistent configuration. lifeCycleConfiguration = await RetrieveLifecycleConfigAsync(client); } 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); } } static async Task AddExampleLifecycleConfigAsync(IAmazonS3 client, LifecycleConfiguration configuration) { PutLifecycleConfigurationRequest request = new PutLifecycleConfigurationRequest { BucketName = bucketName, Configuration = configuration }; var response = await client.PutLifecycleConfigurationAsync(request); } static async Task<LifecycleConfiguration> RetrieveLifecycleConfigAsync(IAmazonS3 client) { GetLifecycleConfigurationRequest request = new GetLifecycleConfigurationRequest { BucketName = bucketName }; var response = await client.GetLifecycleConfigurationAsync(request); var configuration = response.Configuration; return configuration; } static async Task RemoveLifecycleConfigAsync(IAmazonS3 client) { DeleteLifecycleConfigurationRequest request = new DeleteLifecycleConfigurationRequest { BucketName = bucketName }; await client.DeleteLifecycleConfigurationAsync(request); } } }
Ruby

Anda dapat menggunakan AWS SDK untuk Ruby untuk mengelola konfigurasi Siklus Hidup S3 pada bucket dengan menggunakan kelas AWS::S3::BucketLifecycleConfiguration. Untuk informasi selengkapnya tentang mengelola konfigurasi Siklus Hidup S3, lihat. Mengelola siklus hidup objek

Topik berikut dalam Referensi API Amazon Simple Storage Service menjelaskan operasi REST API yang terkait dengan konfigurasi Siklus Hidup S3:

Pemecahan Masalah Siklus Hidup S3

Untuk masalah umum yang mungkin terjadi saat bekerja dengan Siklus Hidup S3, lihat. Memecahkan masalah Siklus Hidup Amazon S3