私は自分のs3バケットをクリーンアップする方法を見つけようとしていました。X日より古いキーをすべて削除したい(私の場合、Xは30日です)。
s3のオブジェクトを削除する方法がわかりませんでした。
次のアプローチを使用しましたが、いずれも機能しませんでした(機能したということは、X日後にオブジェクトを取得しようとしましたが、s3はまだオブジェクトを提供していました。「オブジェクトが見つかりません」または「オブジェクトの有効期限が切れました」というメッセージが表示されることを期待していました。
アプローチ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})
アプローチ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)
誰かが彼らのために働いていたコードを共有することができれば、それはs3オブジェクトを削除します、それは本当に素晴らしいでしょう