s3 grubumu temizlemenin bir yolunu bulmaya çalışıyordum. X günden daha eski olan tüm anahtarları silmek istiyorum (Benim durumumda X 30 gündür).S3 boto Kullanarak Object Expiration
S3'teki nesneleri silmenin bir yolunu çözemedim.
Aşağıdaki yaklaşımları kullandım, bunların hiçbiri işe yaramadı (Çalışarak, yani X gününden sonra nesneyi almayı denedim ve s3 hala nesneye hizmet ediyordu. "Nesne bulunamadı" veya "Nesne sona ermiş" bekleniyordu. mesajı
Yaklaşım 1:
k = Key(bucket)
k.key = my_key_name
expires = datetime.utcnow() + timedelta(seconds=(10))
expires = expires.strftime("%a, %d %b %Y %H:%M:%S GMT")
k.set_contents_from_filename(filename,headers={'Expires':expires})
Yaklaşım 2:
k = Key(bucket)
k.key = "Event_" + str(key_name) + "_report"
expires = datetime.utcnow() + timedelta(seconds=(10))
expires = expires.strftime("%a, %d %b %Y %H:%M:%S GMT")
k.set_meta_data('Expires', expires)
k.set_contents_from_filename(filename)
kimse s3 nesneleri siler onlar için çalışıyordu kodu, paylaşabilir, bu olur gerçekten harika ol
de kontrol edilebilir. Gün gibi görünüyor = 1, kullanılabilecek minimum süre – user2005798
Dakika/saniye kullanma yolu yok.Minimum süre 0 gündür ve tek garanti, AWS'nin, [PUT Kova yaşam döngüsü] uyarınca bir sonraki gün gece yarısı UTC'den önce işlem yapmasıdır (http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) . – MeSee
Yaşam Döngüsü, doğru sınıf adı olarak "boto.s3.lifecycle import LifeCycle" bölümündeki LifeCycle öğesini Yaşam Döngüsü olarak değiştirin. – AliBZ