Nesnelerin son değiştirilme veya son erişim zamanına göre yaşam döngüsü kuralları oluşturabilirsiniz. Bu kurallar, bir paket içindeki nesnelerin depolama sınıfını periyodik olarak dönüştürür veya süresi dolmuş nesneler ile parçaları silerek depolama ücretlerinden tasarruf etmenizi sağlar. Bu konuda, bir paket için yaşam döngüsü kuralı yapılandırmak üzere PutBucketLifecycle işleminin nasıl çağrılacağı açıklanmaktadır.
Notlar
-
PutBucketLifecycle işlemi mevcut yaşam döngüsü kurallarının üzerine yazar. Örneğin, bir pakette Rule1 adlı bir yaşam döngüsü kuralı varsa ve Rule2 adlı başka bir kural eklemek istiyorsanız aşağıdaki adımları uygulamanız gerekir:
Rule1 kuralının yapılandırmasını almak için GetBucketLifecycle işlemini çağırın.
Rule1 kuralına ek olarak Rule2 kuralını uygulayın.
Hem Rule1 hem de Rule2 kurallarını içeren yeni yapılandırmayı uygulamak için PutBucketLifecycle işlemini çağırın.
Nesneler ve parçalar için bir son kullanma süresi belirleyebilirsiniz. Parçalar, çok parçalı yüklemelerden kaynaklanan ve henüz onaylanmamış parçalardır.
Kuralları son erişim zamanına veya son değiştirilme zamanına göre eşleştirebilirsiniz.
İzinler
Varsayılan olarak, bir Alibaba Cloud hesabı tüm izinlere sahiptir. Bir Alibaba Cloud hesabı altındaki RAM kullanıcıları veya RAM rolleri varsayılan olarak herhangi bir izne sahip değildir. Alibaba Cloud hesabı veya hesap yöneticisi, işlem izinlerini RAM ilkeleri veya Paket İlkesi aracılığıyla vermelidir.
|
|
|
|
|
|
|
|
İstek sözdizimi
PUT /?lifecycle HTTP/1.1
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Authorization: SignatureValue
Host: BucketName.oss.aliyuncs.com
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
<Rule>
<ID>RuleID</ID>
<Prefix>Prefix</Prefix>
<Status>Status</Status>
<Expiration>
<Days>Days</Days>
</Expiration>
<Transition>
<Days>Days</Days>
<StorageClass>StorageClass</StorageClass>
</Transition>
<AbortMultipartUpload>
<Days>Days</Days>
</AbortMultipartUpload>
</Rule>
</LifecycleConfiguration>
İstek üstbilgileri
Ad | Tür | Gerekli | Örnek | Açıklama |
x-oss-allow-same-action-overlap | string | Hayır | true | Yaşam döngüsü kurallarının örtüşen ön eklere sahip olup olamayacağını belirtir. Geçerli değerler:
|
Bu işlem, Date ve Authorization gibi ortak istek üstbilgilerini kullanır. Daha fazla bilgi için bkz. Ortak istek üstbilgileri.
İstek öğeleri
Ad | Tür | Gerekli | Örnek | Açıklama |
LifecycleConfiguration | container | Evet | Yok | Yaşam döngüsü yapılandırmaları için kapsayıcıdır. En fazla 1.000 kural yapılandırabilirsiniz. Alt düğüm: Rule Üst düğüm: Yok |
Rule | container | Evet | Yok | Bir yaşam döngüsü kuralı için kapsayıcıdır. Bir nesnenin son kullanma süresi, nesnenin Infrequent Access (IA) veya Archive Storage depolama sınıfına dönüştürüldüğü zamandan sonra olmalıdır. Alt düğümler: ID, Prefix, Status ve Expiration Üst düğüm: LifecycleConfiguration |
ID | string | Hayır | rule1 | Kuralın benzersiz kimliğidir. Kimlik en fazla 255 karakter uzunluğunda olabilir. Bu öğeyi belirtmezseniz veya boş bırakırsanız OSS otomatik olarak benzersiz bir kimlik oluşturur. Alt düğüm: Yok Üst düğüm: Rule |
Prefix | string | Hayır | tmp/ | Kuralın uygulandığı nesneleri belirten ön ektir. Farklı kurallar için aynı ön eki ayarlayamazsınız.
Alt düğüm: Yok Üst düğüm: Rule |
Status | string | Evet | Enabled | Kuralın etkinleştirilip etkinleştirilmeyeceğini belirtir. Geçerli değerler:
Üst düğüm: Rule |
Expiration | container | Hayır | Yok | Bir nesnenin son kullanma özelliklerini belirtir. Sürüm oluşturmanın etkin olduğu bir paket için belirtilen son kullanma süresi yalnızca nesnenin geçerli sürümüne uygulanır. Bir nesnenin son kullanma süresi, nesnenin IA veya Archive Storage depolama sınıfına dönüştürüldüğü zamandan sonra olmalıdır. Alt düğümler: Days, CreatedBeforeDate veya ExpiredObjectDeleteMarker Üst düğüm: Rule |
Days | Pozitif tamsayı | Days ve CreatedBeforeDate birbirini dışlar | 1 | Bir nesnenin son güncellemesinden sonra yaşam döngüsü kuralının etkili olacağı gün sayısını belirtir. İstekte IsAccessTime parametresi true olarak ayarlanırsa bu parametre, bir nesnenin son erişiminden sonra yaşam döngüsü kuralının etkili olacağı gün sayısını belirtir. Üst düğümler: Expiration veya AbortMultipartUpload |
CreatedBeforeDate | string | CreatedBeforeDate ve Days birbirini dışlar | 2002-10-11T00:00:00.000Z | Bir tarih belirtir. OSS, yaşam döngüsü kuralını bu tarihten önce son güncellenen verilere uygular. Tarih yyyy-MM-ddT00:00:00.000Z formatında olmalıdır. Tarih UTC'de olmalı ve ISO 8601 standardına uygun olmalıdır. Saat 00:00:00 olmalıdır. Üst düğümler: Expiration veya AbortMultipartUpload |
ExpiredObjectDeleteMarker | string | Hayır | true | Süresi dolmuş silme işaretçilerinin otomatik olarak kaldırılıp kaldırılmayacağını belirtir. Geçerli değerler:
Üst düğüm: Expiration |
Transition | container | Hayır | Yok | OSS'in geçerli yaşam döngüsü sırasında bir nesnenin depolama sınıfını ne zaman dönüştüreceğini belirtir. Standart bir paketteki Standart nesneleri IA, Archive veya Cold Archive depolama sınıfına dönüştürebilirsiniz. Ancak Archive'a dönüşüm zamanı IA'ya dönüşüm zamanından sonra olmalıdır. Örneğin, IA dönüşümü için Days değerini 30 olarak ayarlarsanız Archive dönüşümü için Days değerini 30'dan büyük bir değer olarak ayarlamanız gerekir. Üst düğüm: Rule Alt düğümler: Days, CreatedBeforeDate ve StorageClass Önemli Önemli Days veya CreatedBeforeDate belirtebilirsiniz. |
StorageClass | string | Üst düğüm Transition veya NoncurrentVersionTransition ise gereklidir | IA | Bir nesnenin dönüştürüleceği depolama sınıfını belirtir. Geçerli değerler:
Önemli Bir IA paketindeki nesnelerin depolama sınıfını Archive Storage veya Cold Archive'a dönüştürebilirsiniz ancak Standard'a dönüştüremezsiniz. Üst düğüm: Transition |
AbortMultipartUpload | container | Hayır | Yok | Çok parçalı bir yüklemede onaylanmamış parçalar için son kullanma özelliklerini belirtir. Alt düğümler: Days veya CreatedBeforeDate Üst düğüm: Rule |
Tag | container | Hayır | Yok | Kuralın uygulandığı nesne etiketleridir. Birden fazla etiket belirtebilirsiniz. Üst düğüm: Rule Alt düğümler: Key ve Value |
Key | string | Üst düğüm Tag ise gereklidir | TagKey1 | Nesne etiketinin anahtarıdır. Üst düğüm: Tag |
Value | string | Üst düğüm Tag ise gereklidir | TagValue1 | Nesne etiketinin değeridir. Üst düğüm: Tag |
NoncurrentVersionExpiration | container | Hayır | Yok | Nesnelerin önceki sürümleri için son kullanma özelliklerini belirtir. Alt düğüm: NoncurrentDays |
NoncurrentVersionTransition | container | Hayır | Yok | OSS'in bir nesnenin önceki sürümlerinin depolama sınıfını ne zaman IA veya Archive Storage'a dönüştüreceğini belirtir. Standart bir nesnenin Archive'a dönüşüm zamanı IA'ya dönüşüm zamanından sonra olmalıdır. Alt düğümler: NoncurrentDays ve StorageClass |
NoncurrentDays | string | Üst düğüm NoncurrentVersionExpiration veya NoncurrentVersionTransition ise gereklidir | 10 | Bir nesne önceki bir sürüm haline geldikten sonra yaşam döngüsü kuralının etkili olacağı gün sayısını belirtir. İstekte IsAccessTime parametresi true olarak ayarlanırsa bu parametre, bir nesnenin son erişiminden sonra yaşam döngüsü kuralının etkili olacağı gün sayısını belirtir. Üst düğümler: NoncurrentVersionTransition ve NoncurrentVersionExpiration |
IsAccessTime | string | Hayır | true | Kuralın son erişim zamanına göre eşleştirilip eşleştirilmeyeceğini belirtir. Geçerli değerler:
Üst düğümler: Transition veya NoncurrentVersionTransition. |
ReturnToStdWhenVisit | string | Hayır | false | Standart olmayan bir nesneye tekrar erişildiğinde depolama sınıfının Standard'a dönüştürülüp dönüştürülmeyeceğini belirtir. Bu parametre yalnızca IsAccessTime true olarak ayarlandığında geçerlidir. Geçerli değerler:
Üst düğümler: Transition veya NoncurrentVersionTransition. |
AllowSmallFile | string | Hayır | false | Son erişim zamanına göre bir yaşam döngüsü kuralı ayarladığınızda bu parametre, 64 KB'tan küçük nesnelerin IA, Archive veya Cold Archive depolama sınıfına dönüştürülüp dönüştürülmeyeceğini belirtir. Geçerli değerler:
Üst düğümler: Transition veya NoncurrentVersionTransition. |
Filter | container | Hayır | Yok | Bu hariç tutma kuralının koşul parametreleri için kapsayıcıdır. En fazla bir kapsayıcı belirtebilir veya boş bırakabilirsiniz. Üst düğüm: Rule Alt düğüm: Not |
Not | container | Hayır | Yok | Bir nesne bu koşulu karşılıyorsa kural atlanır. Filter yapılandırırsanız Filter altında yalnızca bir Not düğümü belirtmeniz gerekir. Üst düğüm: Filter Alt düğümler: Prefix ve Tag |
Prefix | string | Evet | tmp/not/ | Bu hariç tutma kuralının uygulandığı nesne ön ekidir. Bu parametre boş olamaz.
Üst düğüm: Not Alt düğüm: Yok |
Tag | container | Hayır | Yok | Bu hariç tutma kuralının uygulandığı nesne etiketidir. En fazla bir etiket belirtebilir veya bu parametreyi boş bırakabilirsiniz. |
ObjectSizeGreaterThan | Pozitif tamsayı | Hayır | 500 | Bu kuralın uygulandığı minimum nesne boyutudur. Bu parametre isteğe bağlıdır ve en fazla bir tane belirtebilirsiniz. ObjectSizeLessThan da ayarlarsanız sistem iki parametre arasındaki boyut ilişkisini kontrol eder. Bu parametre AllowSmallFile ile birbirini dışlar. Üst düğüm: Filter Alt düğüm: Yok |
ObjectSizeLessThan | Pozitif tamsayı | Hayır | 64000 | Bu kuralın uygulandığı maksimum nesne boyutudur. Bu parametre isteğe bağlıdır ve en fazla bir tane belirtebilirsiniz. ObjectSizeGreaterThan da ayarlarsanız sistem iki parametre arasındaki boyut ilişkisini kontrol eder. Bu parametre AllowSmallFile ile birbirini dışlar. Üst düğüm: Filter Alt düğüm: Yok |
Yanıt üstbilgileri
Yanıt yalnızca ortak yanıt üstbilgilerini içerir. Daha fazla bilgi için bkz. Ortak yanıt üstbilgileri.
Örnekler
İstek örnekleri
Örnek 1: Nesnelerin depolama sınıfını son değiştirilme zamanına göre dönüştürme
Örnek 2: Nesneleri son değiştirilme zamanına göre silme
Örnek 3: Nesnelerin depolama sınıfını son değiştirilme zamanına göre dönüştürme ve silme
Örnek 4: Nesnelerin önceki sürümlerini son değiştirilme zamanına göre silme ve silme işaretçilerini temizleme
Örnek 5: Belirli bir ön eke ve etikete sahip nesneler hariç, nesnelerin depolama sınıfını son değiştirilme zamanına göre dönüştürme ve silme
Örnek 6: Nesnelerin depolama sınıfını son erişim zamanına göre dönüştürme
Örnek 7: Parçaları son değiştirilme zamanına göre silme
Örnek 8: Örtüşen ön eklere sahip nesneleri son değiştirilme zamanına göre silme
Yanıt örneği
HTTP/1.1 200 OK
x-oss-request-id: 7D3435J59A9812BAD56E
Date: Mon, 6 May 2019 15:23:20 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS
SDK
Bu işlemi aşağıdaki programlama dilleri için yazılım geliştirme kitlerini (SDK'ler) kullanarak çağırabilirsiniz.
ossutil komut satırı aracı
PutBucketLifecycle işlemine karşılık gelen ossutil komutu hakkında bilgi için bkz. put-bucket-lifecycle.
Referanslar
Yaşam döngüsü kuralları hakkında daha fazla bilgi için bkz. Yaşam döngüsü kuralına genel bakış.
Hata kodları
Hata kodu | HTTP durum kodu | Açıklama |
InvalidArgument | 400 | Bu hatanın olası nedenleri:
|
AccessDenied | 403 | Gerekli izinlere sahip değilsiniz. Yalnızca |
MalforedXML | 400 | Yaşam döngüsü yapılandırmasındaki bir XML doğrulama hatası MalformedXML hatasına neden olur. Örneğin, bu hata bir paket için erişim izlemeyi etkinleştirmeden önce son erişim zamanına dayalı bir yaşam döngüsü kuralı yapılandırırsanız oluşur. |