صابر طباطبائی یزدی
صابر طباطبائی یزدی
خواندن ۲ دقیقه·۱ سال پیش

تولید همزمان فایل های thumbnails در minio

آیا روشی برای ساخت اتوماتیک 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 به صورت اتوماتیک ایجاد می‌شوند.

minioبرنامه نویسیs3
برنامه نویس.42ساله. از مدرک MCSD دات نت سال 2002 شروع کردم البته بعد از لیسانس و تمام عمرم رو در مدیریت با ابزار های شیرپوینت و MSPS و CRM و غیره گذراندم.https://zil.ink/sabert
شاید از این پست‌ها خوشتان بیاید