آیا روشی برای ساخت اتوماتیک thumbnails در minio وجود دارد؟
بله، Minio ابزارهایی برای ساخت thumbnail های اتوماتیک ارائه میدهد. برای ساخت thumbnail های اتوماتیک در Minio، میتوانید از تنظیمات lifecycle
استفاده کنید. Lifecycle
یک ویژگی در Minio است که به شما اجازه میدهد قوانینی را برای مدیریت دوره حیات (lifecycle) آبجکتها تعریف کنید. با استفاده از lifecycle
میتوانید درختی از thumbnail هایی که برای شما مهم هستند، ایجاد کنید.
برای ساخت thumbnail های اتوماتیک در Minio، ابتدا باید lifecycle
را تنظیم کنید. برای این کار، میتوانید یک فایل XML حاوی قوانین lifecycle
را تعریف کنید. به عنوان مثال، فرض کنید میخواهید thumbnail هایی با پسوند _thumb
از تصاویر با پسوند .jpg
و .png
با ابعاد 100x100 پیکسل در Minio ایجاد شوند. یک فایل XML برای این منظور به صورت زیر خواهد بود:
<LifecycleConfiguration>
<Rule>
<ID>Create thumbnails</ID>
<Status>Enabled</Status>
<Filter>
<And>
<Prefix></Prefix>
<Or>
<Suffix>.jpg</Suffix>
<Suffix>.png</Suffix>
</Or>
</And>
</Filter>
<Transitions>
<Transition>
<Days>0</Days>
<StorageClass>STANDARD_IA</StorageClass>
</Transition>
</Transitions>
<NoncurrentVersionTransitions>
<NoncurrentDays>30</NoncurrentDays>
<StorageClass>GLACIER</StorageClass>
</NoncurrentVersionTransitions>
<Expiration>
<Days>365</Days>
</Expiration>
<NoncurrentVersionExpiration>
<NoncurrentDays>365</NoncurrentDays>
</NoncurrentVersionExpiration>
<AbortIncompleteMultipartUpload>
<DaysAfterInitiation>7</DaysAfterInitiation>
</AbortIncompleteMultipartUpload>
<Prefix></Prefix>
<Destination>
<Bucket>mybucket</Bucket>
<Format>jpg</Format>
<Prefix>thumbnails/</Prefix>
<Endpoint>http://thumbnailer:9000</Endpoint>
<AccessKey>access_key</AccessKey>
<SecretKey>secret_key</SecretKey>
<Region>us-east-1</Region>
<StorageClass>STANDARD_IA</StorageClass>
<Encryption>
<SSE-KMS>
<KeyId>my-kms-key-id</KeyId>
</SSE-KMS>
</Encryption>
<Metadata>
<Key1>Value1</Key1>
<Key2>Value2</Key2>
</Metadata>
</Destination>
<Thumbnail>
<Width>100</Width>
<Height>100</Height>
<Suffix>_thumb</Suffix>
<Format>jpg</Format>
<Prefix>thumbnails/</Prefix>
<Quality>75</Quality>
<Rotate>auto</Rotate>
</Thumbnail>
</Rule>
</LifecycleConfiguration>
در این فایل XML، thumbnail های با ابعاد 100x100 پیکسل با پسوند _thumb
و فرمت jpg
برای تصاویر با پسوند .jpg
و .png
ایجاد میشود. این thumbnail ها در bucket mybucket
در Minio ذخیره میشوند و میتوانید برای ایجاد آنها از یک سرویس جانبی مانند thumbnailer
استفاده کید. همچنین، در این فایل XML میتوانید تنظیمات دیگری مانند StorageClass
و Encryption
و Metadata
را نیز تعریف کنید.
پس از ایجاد فایل XML، برای اعمال تغییرات lifecycle
بر روی bucket مورد نظر، میتوانید از دستور mc
(Minio Client) استفاده کنید. به عنوان مثال، برای اعمال تغییرات lifecycle
بر روی bucket با نام mybucket
، دستور زیر را در ترمینال اجرا کنید:
Copy
mc ilm import mybucket lifecycle.xml
پس از اجرای این دستور، thumbnail های مورد نیاز برای تصاویر با پسوند .jpg
و .png
با ابعاد 100x100 پیکسل و پسوند _thumb
در Minio به صورت اتوماتیک ایجاد میشوند.