اتصال به فضای ذخیرهسازی ابری در برنامههای NextJS
برای استفاده از Object Storage در برنامههای NextJS، میتوانید از پکیجهای aws-sdk استفاده کنید که بایستی با دستور زیر، آنها را در پروژه خود، نصب کنید:
پس از آن، کافیست تا طبق مستندات ایجاد کلید، یک کلید جدید برای باکت خود بسازید. اطلاعات مربوط به ENDPOINT و نام باکت نیز در صفحه تنظیمات، در بخش دسترسی با SDK، برای شما قرار گرفته است. در نهایت نیز، بایستی اطلاعات مربوط به Object Storage خود را به متغیرهای محیطی برنامه خود، اضافه کنید؛ به عنوان مثال:
سپس، میتوانید در مسیر اصلی پروژه (ریشه پروژه یا اگر که از دایرکتوری src استفاده میکنید در داخل این دایرکتوری)، یک فایل جدید به نام lib/s3.ts بسازید و کد زیر را در آن قرار دهید:
تمامی کارها انجام شده است و اکنون، میتوانید APIهای مربوط به S3 را در پروژه خود، استفاده کنید. برای استفاده از APIهای مختلف S3، بایستی ساختار پروژه مانند شکل زیر باشد:
نمونه کد آپلود فایل
نمونه کد دریافت لینک موقت فایل
نمونه کد لیست کردن فایلهای داخل باکت
نمونه کد لیست کردن باکتها
نمونه کد حذف فایل
ایجاد رابط کاربری برای کار با S3
روشهای زیادی برای استفاده از S3 وجود دارد. یکی از این راهها، ایجاد رابط کاربری است که میتوان با استفاده از ابزار shadcn یک رابط کاربری زیبا و ساده ایجاد کرد. برای استفاده از این ابزار، در ابتدا، آن را با اجرای دستور زیر، نصب کنید:
سپس با اجرای دستور زیر، کامپوننتهای مورد نیاز برنامه را نصب کنید:
در نهایت، در مسیر اصلی پروژه، یک فایل جدید به نام app/storage/page.tsx بسازید و کد زیر را در آن قرار دهید:
تمامی کارها انجام شده است و شما میتوانید پس از اجرای پروژه، وارد صفحه storage/ شوید و فایلهای خود را در فضای ذخیرهسازی ابری، مدیریت کنید.
یک پروژه آماده استقرار در گیتهاب لیارا وجود دارد که میتوانید از آن، استفاده کنید.