إضافة قناة S3
متى تكون مناسبة؟
استخدم قناة S3 عندما:
- تريد ربط أي خدمة تخزين كائنات متوافقة مع S3، مثل Cloudflare R2 أو Backblaze B2 أو MinIO أو AWS S3 أو مزود متوافق آخر.
- تفضل نموذج إعداد S3 المعتاد:
Endpointو Access Key و Secret Key. - لا تريد استخدام قناة ربط Cloudflare R2 الأصلية، أو كان مزود التخزين ليس Cloudflare R2.
ما الذي تحتاجه قبل البدء؟
| المتطلب | الغرض |
|---|---|
| S3 Endpoint | نقطة نهاية S3 API لخدمة تخزين الكائنات. |
| اسم الحاوية | الحاوية التي ستُحفظ فيها الملفات. |
| Region | منطقة التخزين. في Cloudflare R2 تكون غالبًا auto. |
| Access Key ID | معرّف مفتاح وصول S3. |
| Secret Access Key | مفتاح وصول S3 السري. |
| نطاق CDN | نطاق مخصص اختياري للوصول إلى الملفات. |
مثال لاستخدام Cloudflare R2 عبر S3 API:
text
Endpoint: https://your-account-id.r2.cloudflarestorage.com
Bucket: your-r2-bucket-name
Region: auto
Access Key ID: copied from the Cloudflare R2 API token
Secret Access Key: copied from the Cloudflare R2 API tokenأين تضيفها؟
- افتح إعدادات النظام.
- انتقل إلى إعدادات الرفع.
- اضغط إضافة قناة في الزاوية العلوية اليمنى.
- اختر
S3.
شرح الحقول
| الحقل | وظيفته | مطلوب |
|---|---|---|
| اسم القناة | اسم واضح لقناة S3، مثل s3test أو R2-S3. | نعم |
| تفعيل القناة | يحدد هل تشارك القناة في اختيار قناة الرفع. | موصى به |
| Endpoint | نقطة نهاية خدمة S3 كاملة، مع https://. | نعم |
| نطاق CDN مخصص | اختياري. عند ضبطه، تفضّل روابط الملفات هذا النطاق. | لا |
| اسم الحاوية | اسم الحاوية، مثل s3test أو img-r2. | نعم |
| منطقة الحاوية | المنطقة. في Cloudflare R2 غالبًا auto. | نعم |
| Access Key ID | معرّف مفتاح وصول S3. | نعم |
| Secret Access Key | مفتاح وصول S3 السري. | نعم |
| الوصول بنمط المسار | مفتاح توافق. مغلق افتراضيًا. قد تحتاجه بعض خدمات MinIO أو OpenList أو S3 ذاتية الاستضافة. | لا |
| حد الحصة | يحدد هل تُؤخذ سعة القناة في الاعتبار عند اختيار التخزين. | لا |
| حد السعة | مطلوب بعد تفعيل حد الحصة، مثل 10 GB. | مطلوب عند تفعيل حد الحصة |
| العتبة | يوقف الكتابة بعد بلوغ هذه النسبة، مثل 90%. | مطلوب عند تفعيل حد الحصة |
| ملاحظة | ملاحظاتك الخاصة للصيانة. | لا |
إنشاء مفاتيح Cloudflare R2 S3 API
- افتح لوحة معلومات Cloudflare.
- انتقل إلى
R2 Object Storage. - ابحث عن
Manage R2 API Tokensأو مدخل إدارة رموز API.

- أنشئ رمز R2 API يستطيع الوصول إلى الحاوية الهدف.

- انسخ قيم
Access Key IDوSecret Access Key.

- ارجع إلى صفحة حاوية R2 وتأكد من اسم الحاوية.
- سجّل نقطة نهاية S3 API الخاصة بالحساب. غالبًا تكون بالشكل:
text
https://your-account-id.r2.cloudflarestorage.comخطوات الإعداد
- افتح إعدادات الرفع.
- اضغط إضافة قناة.
- اختر
S3. - أدخل اسم قناة واضحًا، مثل
s3test. - أدخل نقطة نهاية S3 API في
Endpoint. - إذا كنت تستخدم CDN مخصصًا فأدخله في
Custom CDN domain، وإلا اتركه فارغًا. - أدخل اسم الحاوية.
- أدخل المنطقة. في مثال Cloudflare R2 استخدم
auto. - أدخل Access Key ID و Secret Access Key.
- اترك الوصول بنمط المسار مغلقًا ما لم يطلبه المزود صراحة.
- إذا أردت التحكم في السعة، فعّل حد الحصة وأدخل حد السعة والعتبة.
- اضغط حفظ.

كيف تتحقق؟
| الفحص | طريقة التحقق |
|---|---|
| ظهور بطاقة القناة | بعد الحفظ يجب أن تظهر بطاقة قناة S3 في إعدادات الرفع. |
| القناة مفعلة | يجب أن يبقى المفتاح في أعلى يمين البطاقة مفعّلًا. |
| الحقول الأساسية محفوظة | يجب أن تظهر في التفاصيل قيم Endpoint و Bucket و Region والوصول بنمط المسار والحقول المرتبطة. |
| نجاح الرفع | ارفع صورة تجريبية وتأكد من ظهور الكائن في الحاوية الهدف. |
| فتح الرابط | يجب أن يفتح رابط الصورة الناتج بعد الرفع بشكل طبيعي. |
| عرض السعة يعمل | إذا كان حد الحصة مفعّلًا، يجب أن تعرض البطاقة السعة المستخدمة والحد المضبوط. |
إحصاءات سعة S3 تُحسب من سجلات الملفات المحلية في ImgHost، وليس من استعلام مباشر للحاوية لدى المزود في الوقت الحقيقي. بعد حفظ إعداد S3، يعيد النظام حساب دفتر الحصة من سجلات D1 الحالية.

FAQ
هل أفعّل الوصول بنمط المسار؟
غالبًا لا.
فعّله فقط إذا كان مزود S3 المتوافق لا يدعم عناوين URL بنمط الاستضافة الافتراضية، أو إذا طلبت وثائق المزود الوصول بنمط المسار صراحة. قد تحتاجه بعض نقاط MinIO أو S3 ذاتية الاستضافة أو OpenList.
ما فائدة نطاق CDN؟
إذا وضعت CDN أو نطاق وصول مخصصًا أمام الحاوية، أدخله هنا.
بعد ضبطه ستفضل روابط الملفات الناتجة هذا النطاق. إذا لم تستخدم CDN، اتركه فارغًا.
لماذا يفشل الرفع؟
تحقق أولًا من التالي:
- يحتوي Endpoint على عنوان
https://كامل. - اسم الحاوية صحيح.
- Region يطابق متطلبات المزود.
- تم نسخ Access Key ID و Secret Access Key بالكامل.
- المفتاح يملك صلاحية الكتابة على الـ bucket الهدف.
- المزود لا يتطلب الوصول بنمط المسار، أو تم تفعيله إذا كان مطلوبًا.
قائمة تحقق سريعة
text
Prepare S3 Endpoint, Bucket, Region, Access Key, and Secret Key
-> Open Upload Settings
-> Add Channel
-> Select S3
-> Enter Endpoint / Bucket / Region / Access Key / Secret Key
-> Enter a CDN domain if needed
-> Leave path-style access off by default
-> Enable quota limit if needed
-> Save
-> Upload a test image and check the result