اتصال به فضای ذخیرهسازی ابری در برنامههای Flask
پروژه و کدهای مورد استفاده در ویدیوی فوق در اینجا قابل مشاهده و دسترسی هستند.
برای استفاده از Object Storage در برنامههای Flask، میتوانید از پکیج boto3 استفاده کنید که بایستی با دستور زیر، آن را در پروژه خود، نصب کنید:
پس از آن، کافیست تا طبق مستندات ایجاد کلید، یک کلید جدید برای باکت خود بسازید. اطلاعات مربوط به ENDPOINT و نام باکت نیز در صفحه تنظیمات، در بخش دسترسی با SDK، برای شما قرار گرفته است. در نهایت نیز، بایستی اطلاعات مربوط به Object Storage خود را به متغیرهای محیطی برنامه خود، اضافه کنید؛ به عنوان مثال:
تمامی کارها انجام شده است و میتوانید از Object Storage در برنامه خود، استفاده کنید؛ در ادامه، مثالی از نحوه استفاده برایتان آورده شده است:
پیکربندی اولیه و اتصال به باکت در برنامه
آپلود فایل
دریافت لینک دائمی فایل
دریافت لیست فایلهای یک باکت
دریافت لینک موقت دانلود فایلها
نمونه کد دریافت لینک موقت دانلود فایل با دامنه اختصاصی
اگر طبق مستندات اتصال دامنه، یک دامنه اختصاصی به باکت خود متصل کردهاید، سادهترین روش برای دریافت لینک موقت (Presigned) با دامنه اختصاصی این است که لینک را با Endpoint اصلی لیارا تولید کنید و سپس مقدار Host آن را به دامنه اختصاصی تغییر دهید.
برای این کار، لینک باید بهصورت virtual-hosted ساخته شود؛ یعنی نام باکت در ابتدای Host قرار بگیرد (مانند bucket-name.storage.c2.liara.site) و نه در مسیر لینک. کلاینت boto3 هنگام استفاده از endpoint_url بهصورت پیشفرض لینک را بهصورت path-style میسازد؛ به همین دلیل، در قطعه کد زیر یک کلاینت با addressing_style برابر با virtual برای ساخت لینک ایجاد شده است:
فقط مقدار host را تغییر دهید و پارامترهای *-X-Amz موجود در لینک را دستکاری نکنید؛ در غیر این صورت امضای لینک نامعتبر میشود و دسترسی به فایل با خطا مواجه خواهد شد.
حذف فایل
مشاهده لیست باکتها
قطعه کد شامل تمامی قابلیتها + مدیریت فایل
برای استفاده از تمامی قابلیتهای بالا، میتوانید از کد زیر استفاده کنید:
همچنین، بایستی در مسیر اصلی پروژه، یک دایرکتوری به نام templates بسازید و درون آن، یک فایل به نام index.html ایجاد کنید و قطعه کد زیر را درون آن قرار دهید:










