افزودن کانال 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
- وارد Cloudflare Dashboard شوید.
R2 Object Storageرا باز کنید.- روی ساخت باکت کلیک کنید.
- یک نام باکت انتخاب کنید، برای مثال
imgbed.
فایلهای بارگذاریشده در همین باکت ذخیره میشوند.

2. اتصال باکت به پروژه ImgHost
محل binding را بر اساس نوع استقرار انتخاب کنید:
| نوع استقرار | محل binding |
|---|---|
| Pages | پروژه فعلی Pages -> Settings -> Functions -> R2 bucket bindings |
| Worker | Worker فعلی -> Settings -> Bindings -> R2 bucket bindings |
هنگام افزودن binding، این فیلدها مهم هستند:
| فیلد | مقدار |
|---|---|
| نام متغیر | img_r2 |
| باکت R2 | باکتی را که ساختهاید انتخاب کنید. |
نام متغیر باید دقیقاً img_r2 باشد. بارگذاری، خواندن و حذف فایلهای R2 همگی به همین نام binding وابستهاند.
3. استقرار دوباره پروژه
پس از ذخیره کردن binding، ImgHost را دوباره مستقر کنید تا محیط اجرای Worker یا Pages بتواند به img_r2 دسترسی داشته باشد.
در ImgHost چه میبینید
وقتی binding مربوط به R2 آماده شد، این مسیر را باز کنید:
- تنظیمات سیستم.
- تنظیمات بارگذاری.
- کانال
Cloudflare R2.
سیستم بهصورت خودکار یک کانال ثابت ایجاد میکند:
| فیلد | مقدار ثابت |
|---|---|
| نام کانال | Cloudflare R2 |
| نوع کانال | cfr2 |
| حالت ذخیرهسازی | binding |
| منبع پیکربندی | binding محیط اجرا |
این کانال از نوع binding ثابت است. برای ساخت آن لازم نیست روی افزودن کانال کلیک کنید و مانند کانالهای عادی نیز قابل حذف نیست.
فیلدهای قابل ویرایش در پنل مدیریت
| فیلد | کاربرد | الزامی |
|---|---|---|
| فعالسازی کانال | مشخص میکند R2 در انتخاب مقصد بارگذاری شرکت کند یا نه. | بله |
| Account ID | فقط زمانی استفاده میشود که محدودیتهای سهمیه فعال باشند و نیاز به استعلام مصرف رسمی R2 وجود داشته باشد. | پیشنهادی هنگام فعال بودن محدودیتهای سهمیه |
| نام باکت | فقط زمانی استفاده میشود که محدودیتهای سهمیه فعال باشند و نیاز به استعلام مصرف رسمی R2 وجود داشته باشد. | پیشنهادی هنگام فعال بودن محدودیتهای سهمیه |
| محدودیت سهمیه | مشخص میکند این کانال R2 بر اساس ظرفیت در انتخاب مقصد بارگذاری شرکت کند یا نه. | خیر |
| آستانه | وقتی مصرف به درصد مشخصشده برسد، نوشتن روی این کانال متوقف میشود. | الزامی هنگام فعال بودن محدودیتهای سهمیه |
میتوانید Account ID را از پنل اطلاعات حساب در Cloudflare Dashboard کپی کنید. فقط زمانی آن را وارد کنید که میخواهید ImgHost مصرف سهمیه R2 را استعلام و اعمال کند.

مراحل پیکربندی
- در Cloudflare یک باکت R2 بسازید.
- تنظیمات Cloudflare مربوط به پروژه ImgHost را باز کنید.
- یک binding برای باکت R2 اضافه کنید.
- نام متغیر را
img_r2قرار دهید. - باکت R2 ساختهشده را انتخاب کنید.
- binding را ذخیره کنید و ImgHost را دوباره مستقر کنید.
- به ImgHost -> تنظیمات سیستم -> تنظیمات بارگذاری برگردید.
- مطمئن شوید کانال
Cloudflare R2نمایش داده میشود و فعال است.
اگر میخواهید R2 بر اساس ظرفیت در انتخاب مقصد بارگذاری شرکت کند، محدودیت سهمیه را فعال کنید و پیش از ذخیره، Account ID، نام باکت، محدودیت سهمیه و آستانه را وارد کنید.

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