چرخهی حیات (LifeCycle)
قابلیت LifeCycle این امکان را فراهم میکند که برای هر باکت یک بازهی زمانی برای انقضا یا حذف خودکار آبجکتهای آن تعریف شود. از این قابلیت برای حذف دادههای قدیمی و کنترل نسخههای قدیمی (در صورت فعال بودن قابلیت نسخهسازی) استفاده میشود. برای آشنایی با مفهوم نسخهسازی، این مستند فنی را مطالعه کنید. همچنین از این قابلیت برای حذف خودکار آپلودهای چندبخشی ناقص نیز استفاده میشود.
کاربرد اصلی این قابلیت، حذف خودکار محتوای باکتها با یک چرخهی زمانی است. به عنوان مثال ممکن است در یک باکت آبجکتهایی وجود داشته باشند که به مدت یک ماه پس از تاریخ ساخت قابل استفاده هستند. پس با استفاده از LifeCycle میتوان تنطیماتی انجام داد که این آبجکتها پس از یک ماه حذف شده یا به نسخهی دیگری منتقل شوند.
مدیریت این قابلیت بسیار مشابه به مدیریت باکت پالیسی هست. مطالعهی این مستند توصیه میشود: داکیومنت رسمی.
که فایل json به این صورت است:
از تمامی فیلدهای مشخص کردن فیلدهای زیر الزامی است:
- ID
- Status
- حداقل یکی از بلاک های Expiration یا NoncurrentVersionExpiration یا AbortIncompleteMultipartUpload
- Filter یا Prefix
اگر لازم دارید که نقش برای همهی آبجکتها بدون فیلتر خاصی اعمال شود یک پریفیکس خالی یا فیلتر با پریفیکس خالی را در نقش قرار دهید:
Filter: { Prefix: “”}} - یا: Prefix: “”
ممکن است در منابع دیگر به کانفیگ Transition بر بخورید. این کانفیگ برای جابجایی خودکار آبجکتها به یک Tier دیگر (معمولا Tier سردتر) پس از مدت مشخصی است. این کانفیگ در حال حاضر قابل تنظیم در کلاستر ستون نیست (چون کلاستر ها Tier مجزا ندارند).
در این لینک مثالهایی از کانفیگ چرخهی حیات آمده است.
از دستورهای ilm در minio برای مدیریت LifeCycle استفاده میشود. داکیومنت رسمی.
مشاهدهی لیست LifeCycleهای تعریفشده برای باکت:
یا:
قرار دادن قانون LifeCycle:
یا با فایل ورودی:
دقت کنید که import، همهی قوانین قبلی را overwrite میکند. اگر صرفا میخواهید یک قانون جدید در کنار قانونهای قبلی اضافه کنید:
حذف کردن قانون LifeCycle:
script پایتون برای
۱- قرار دادن LifeCycle انقضای ۳۰ روزهی تمامی آبجکتها
۲- انقضای ۷ روزه برای آبجکتهایی که با logs شروع میشوند و برچسب backup:true دارند: