Skip to content

เพิ่ม S3 Channel

เหมาะกับกรณีไหน

ใช้ S3 channel เมื่อ:

  • ต้องการเชื่อมต่อ object storage service ที่รองรับ S3 เช่น Cloudflare R2, Backblaze B2, MinIO, AWS S3 หรือ provider อื่นที่ compatible
  • ชอบรูปแบบการตั้งค่า S3 มาตรฐาน: Endpoint, Access Key และ Secret Key
  • ไม่ต้องการใช้ native Cloudflare R2 binding channel หรือ storage provider ของคุณไม่ใช่ Cloudflare R2

สิ่งที่ต้องเตรียมก่อนเริ่ม

RequirementPurpose
S3 EndpointS3 API endpoint ของ object storage service
Bucket nameBucket ที่จะใช้เก็บ files
RegionStorage region สำหรับ Cloudflare R2 มักเป็น auto
Access Key IDS3 access key ID
Secret Access KeyS3 secret access key
CDN domainCustom domain สำหรับ file access แบบ optional

ตัวอย่าง 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

เพิ่มได้จากที่ไหน

  1. เปิด System Settings
  2. ไปที่ Upload Settings
  3. คลิก Add Channel ที่มุมขวาบน
  4. เลือก S3

Field Reference

Fieldใช้ทำอะไรRequired
Channel nameชื่อที่จำง่ายสำหรับ S3 channel เช่น s3test หรือ R2-S3Yes
Enable channelควบคุมว่า channel นี้จะเข้าร่วม upload selection หรือไม่Recommended
EndpointFull S3 service endpoint รวม https://Yes
Custom CDN domainOptional เมื่อใส่แล้ว generated file links จะ prefer domain นี้No
Bucket nameBucket name เช่น s3test หรือ img-r2Yes
Bucket regionRegion สำหรับ Cloudflare R2 มักเป็น autoYes
Access Key IDS3 access key IDYes
Secret Access KeyS3 secret access keyYes
Path-style accessCompatibility switch ค่าเริ่มต้น off บาง MinIO, OpenList หรือ self-hosted S3 service อาจต้องใช้No
Quota limitควบคุมว่า S3 channel นี้เข้าร่วม upload selection ตาม capacity หรือไม่No
Capacity limitRequired หลังเปิด quota limit เช่น 10 GBRequired เมื่อเปิด quota limit
Thresholdหยุดเขียนเมื่อ usage ถึง percentage นี้ เช่น 90%Required เมื่อเปิด quota limit
RemarkหมายเหตุสำหรับดูแลเองNo

สร้าง Cloudflare R2 S3 API Keys

  1. เปิด Cloudflare Dashboard
  2. ไปที่ R2 Object Storage
  3. หา Manage R2 API Tokens หรือ entry สำหรับจัดการ API token

![R2 API token entry](../../image/upload/s3/r2 api token入口.png)

  1. สร้าง R2 API token ที่ access target bucket ได้

Create an account API token

  1. Copy Access Key ID และ Secret Access Key ที่สร้างขึ้น

Copy the token values

  1. กลับไปหน้า R2 bucket และ confirm bucket name
  2. จด S3 API endpoint ของ account โดยปกติหน้าตาแบบนี้:
text
https://your-account-id.r2.cloudflarestorage.com

ขั้นตอนตั้งค่า

  1. เปิด Upload Settings
  2. คลิก Add Channel
  3. เลือก S3
  4. ใส่ channel name ที่จำได้ เช่น s3test
  5. ใส่ S3 API endpoint ใน Endpoint
  6. ถ้าใช้ custom CDN ให้ใส่ใน Custom CDN domain; ถ้าไม่ใช้ให้เว้นว่าง
  7. ใส่ bucket name
  8. ใส่ region สำหรับตัวอย่าง Cloudflare R2 ใช้ auto
  9. ใส่ Access Key ID และ Secret Access Key
  10. ปล่อย path-style access เป็น off เว้นแต่ provider ระบุชัดว่าต้องใช้
  11. ถ้าต้องการ capacity control ให้เปิด quota limit แล้วใส่ capacity limit และ threshold
  12. คลิก Save

Add S3 configuration

วิธีตรวจสอบ

Checkวิธีตรวจสอบ
เห็น channel cardหลัง save หน้า Upload Settings ควรแสดง S3 channel card
Channel enabledSwitch มุมขวาบนของ card ควรอยู่ on
Key fields ถูกบันทึกDetail view ควรแสดง Endpoint, Bucket, Region, path-style access และ fields ที่เกี่ยวข้อง
Upload ใช้งานได้Upload test image แล้วตรวจว่า object ไปอยู่ใน target bucket
Link เปิดได้Image link ที่ได้หลัง upload ควรเปิดได้ปกติ
Capacity display ใช้งานได้ถ้าเปิด quota limit card ควรแสดง used capacity และ configured limit

S3 capacity statistics คำนวณจาก local file records ของ ImgBed ไม่ได้ query provider bucket แบบ real time หลัง save S3 configuration แล้ว system จะ recalculate quota ledger จาก current D1 records

Quota query succeeded

FAQ

ควรเปิด path-style access ไหม?

โดยทั่วไปไม่ต้อง

เปิดเฉพาะเมื่อ S3-compatible provider ไม่รองรับ virtual-hosted-style URLs หรือ provider documentation ระบุชัดว่าต้องใช้ path-style access บาง MinIO, self-hosted S3 และ OpenList-compatible endpoints อาจต้องใช้

CDN domain ใช้ทำอะไร?

ถ้าคุณวาง CDN หรือ custom access domain ไว้หน้า bucket ให้ใส่ตรงนี้

หลัง configure แล้ว generated file links จะ prefer domain นี้ ถ้าไม่ได้ใช้ CDN ให้เว้นว่าง

Upload fail เพราะอะไร?

ตรวจสิ่งเหล่านี้ก่อน:

  1. Endpoint เป็น full https:// URL
  2. Bucket name ถูกต้อง
  3. Region ตรงกับ requirement ของ provider
  4. Copy Access Key ID และ Secret Access Key มาครบ
  5. Key มี write permission สำหรับ target bucket
  6. Provider ไม่ต้องใช้ path-style access หรือถ้าต้องใช้ก็เปิดไว้แล้ว

Quick Checklist

text
เตรียม S3 Endpoint, Bucket, Region, Access Key และ Secret Key
-> เปิด Upload Settings
-> Add Channel
-> เลือก S3
-> ใส่ Endpoint / Bucket / Region / Access Key / Secret Key
-> ใส่ CDN domain หากจำเป็น
-> ปล่อย path-style access off เป็นค่าเริ่มต้น
-> เปิด quota limit หากจำเป็น
-> Save
-> Upload test image แล้วตรวจผล

Released as user documentation for CloudFlare ImgBed.