Skip to content

افزودن کانال Cloudflare R2

چه زمانی مناسب است

از Cloudflare R2 زمانی استفاده کنید که:

  • سایت ImgHost شما از قبل روی Cloudflare مستقر شده باشد و بخواهید فایل‌ها را در یک باکت R2 در همان حساب Cloudflare ذخیره کنید.
  • نخواهید یک اندپوینت S3، کلید دسترسی و کلید محرمانه جداگانه پیکربندی کنید.
  • بخواهید خواندن و نوشتن با کمترین پیکربندی از طریق binding مربوط به R2 در Worker یا Pages انجام شود.

خلاصه:

کانال R2 به‌صورت دستی داخل پنل مدیریت ImgHost ساخته نمی‌شود. ابتدا باید یک باکت R2 را به پروژه Cloudflare متصل کنید و نام متغیر binding باید دقیقاً img_r2 باشد.

پیش از شروع چه چیزهایی لازم است

  • یک حساب Cloudflare.
  • یک باکت R2 موجود.
  • مجوز مدیریت پروژه Cloudflare که ImgHost روی آن مستقر شده است.

پیکربندی در Cloudflare

1. ساخت باکت R2

  1. وارد Cloudflare Dashboard شوید.
  2. R2 Object Storage را باز کنید.
  3. روی ساخت باکت کلیک کنید.
  4. یک نام باکت انتخاب کنید، برای مثال imgbed.

فایل‌های بارگذاری‌شده در همین باکت ذخیره می‌شوند.

ساخت باکت R2

2. اتصال باکت به پروژه ImgHost

محل binding را بر اساس نوع استقرار انتخاب کنید:

نوع استقرارمحل binding
Pagesپروژه فعلی Pages -> Settings -> Functions -> R2 bucket bindings
WorkerWorker فعلی -> Settings -> Bindings -> R2 bucket bindings

هنگام افزودن binding، این فیلدها مهم هستند:

فیلدمقدار
نام متغیرimg_r2
باکت R2باکتی را که ساخته‌اید انتخاب کنید.

نام متغیر باید دقیقاً img_r2 باشد. بارگذاری، خواندن و حذف فایل‌های R2 همگی به همین نام binding وابسته‌اند.

3. استقرار دوباره پروژه

پس از ذخیره کردن binding، ImgHost را دوباره مستقر کنید تا محیط اجرای Worker یا Pages بتواند به img_r2 دسترسی داشته باشد.

در ImgHost چه می‌بینید

وقتی binding مربوط به R2 آماده شد، این مسیر را باز کنید:

  1. تنظیمات سیستم.
  2. تنظیمات بارگذاری.
  3. کانال Cloudflare R2.

سیستم به‌صورت خودکار یک کانال ثابت ایجاد می‌کند:

فیلدمقدار ثابت
نام کانالCloudflare R2
نوع کانالcfr2
حالت ذخیره‌سازیbinding
منبع پیکربندیbinding محیط اجرا

این کانال از نوع binding ثابت است. برای ساخت آن لازم نیست روی افزودن کانال کلیک کنید و مانند کانال‌های عادی نیز قابل حذف نیست.

فیلدهای قابل ویرایش در پنل مدیریت

فیلدکاربردالزامی
فعال‌سازی کانالمشخص می‌کند R2 در انتخاب مقصد بارگذاری شرکت کند یا نه.بله
Account IDفقط زمانی استفاده می‌شود که محدودیت‌های سهمیه فعال باشند و نیاز به استعلام مصرف رسمی R2 وجود داشته باشد.پیشنهادی هنگام فعال بودن محدودیت‌های سهمیه
نام باکتفقط زمانی استفاده می‌شود که محدودیت‌های سهمیه فعال باشند و نیاز به استعلام مصرف رسمی R2 وجود داشته باشد.پیشنهادی هنگام فعال بودن محدودیت‌های سهمیه
محدودیت سهمیهمشخص می‌کند این کانال R2 بر اساس ظرفیت در انتخاب مقصد بارگذاری شرکت کند یا نه.خیر
آستانهوقتی مصرف به درصد مشخص‌شده برسد، نوشتن روی این کانال متوقف می‌شود.الزامی هنگام فعال بودن محدودیت‌های سهمیه

می‌توانید Account ID را از پنل اطلاعات حساب در Cloudflare Dashboard کپی کنید. فقط زمانی آن را وارد کنید که می‌خواهید ImgHost مصرف سهمیه R2 را استعلام و اعمال کند.

دریافت Account ID

مراحل پیکربندی

  1. در Cloudflare یک باکت R2 بسازید.
  2. تنظیمات Cloudflare مربوط به پروژه ImgHost را باز کنید.
  3. یک binding برای باکت R2 اضافه کنید.
  4. نام متغیر را img_r2 قرار دهید.
  5. باکت R2 ساخته‌شده را انتخاب کنید.
  6. binding را ذخیره کنید و ImgHost را دوباره مستقر کنید.
  7. به ImgHost -> تنظیمات سیستم -> تنظیمات بارگذاری برگردید.
  8. مطمئن شوید کانال Cloudflare R2 نمایش داده می‌شود و فعال است.

اگر می‌خواهید R2 بر اساس ظرفیت در انتخاب مقصد بارگذاری شرکت کند، محدودیت سهمیه را فعال کنید و پیش از ذخیره، Account ID، نام باکت، محدودیت سهمیه و آستانه را وارد کنید.

پیکربندی محدودیت‌های سهمیه

روش بررسی

  • کانال ثابت Cloudflare R2 در تنظیمات بارگذاری نمایش داده شود.
  • کارت کانال نشان دهد که کانال فعال است.
  • یک فایل آزمایشی کوچک با موفقیت بارگذاری شود و لینک برگشتی به‌درستی باز شود.
  • اگر هنگام باز کردن فایل پیام R2 database binding is not configured را دیدید، محیط اجرا binding با نام img_r2 را دریافت نکرده است. نام binding را در Cloudflare بررسی کنید و پروژه را دوباره مستقر کنید.

Released as user documentation for ImgHost.