其他 S3
任何提供 S3 相容 API 的服務都能接孤雲 —— 端點與金鑰由你的服務商提供,差別只在細節。
要準備三樣:端點 / 桶名 / 金鑰(地域由應用自動處理);端點推不出來,得從服務商文件裡抄。
分步操作
-
第 1 步
確認它真的是 S3 相容
- 服務商的文件裡要有 S3 相容 / S3 API / S3-compatible 這類字樣,並給出一個 S3 端點:形如
https://s3.<區域>.<服務商網域>,或者像https://<帳號>.r2.cloudflarestorage.com這種帶帳號的位址。 - 只有網頁上傳介面、沒有 S3 端點的服務接不上孤雲。例如 Cloudflare R2、Backblaze B2、MinIO、又拍雲、七牛、阿里雲 OSS 與騰訊雲 COS 的 S3 相容介面都屬於前者。
- 服務商的文件裡要有 S3 相容 / S3 API / S3-compatible 這類字樣,並給出一個 S3 端點:形如
-
第 2 步
建立一個私有桶,並準備一對只授權這個桶的金鑰
- 在你自己的服務商那裡建立一個私有儲存桶(不要開放公開讀寫)。
- 再準備一對只授權這個桶的金鑰:盡量用服務商的子帳號 / API 權杖來建立,不要用主帳號金鑰。
-
第 3 步
在服務商文件裡找出三個值
- 找出這三個值:端點、儲存桶名稱、Access Key ID 與 Secret。
- 不同服務商對這些值的叫法不同(Key ID / Application Key / API Token / SecretId 等),照下面那張表對照著找。
-
第 4 步
回孤雲填三個值並測試
- 孤雲「新增儲存」→ 服務商選「其他 S3」,把三個值填進去。
- 再點「測試連線並儲存」。
服務商文件裡常見的幾種叫法
三個值在不同服務商那裡叫什麼、去哪裡找:
| 孤雲裡的名字 | 常見叫法 | 去哪裡找 |
|---|---|---|
| 端點 | S3 Endpoint / API Endpoint / 服務位址 | 服務商文件的「S3 API」章節 |
| 儲存桶名稱 | Bucket / 儲存桶名稱 / Container | 服務商主控台的儲存桶列表 |
| 金鑰 | Access Key ID + Secret / Key ID + Application Key / API Token | 服務商的「API 金鑰 / 存取金鑰」頁 |
其他情況(用不到可以跳過)
三類最常見的坑,以及「S3 相容」不承諾什麼。
三類最常見的坑
- 端點寫成了主控台位址:要填的是 S3 API 端點,不是你在瀏覽器裡打開服務商主控台或網頁的位址。
- 端點裡帶了儲存桶名稱或路徑:孤雲的端點只填主機名稱,儲存桶名稱與路徑單獨填一格。
- 儲存桶名稱寫成了簡稱:有些服務商要求連帳號 ID 或 APPID 後綴一起寫(形如
your-bucket-name-1234567890),以服務商主控台的儲存桶列表裡顯示的完整名字為準。
能力差異
- S3 相容不等於功能齊全:有的服務商沒有伺服器端圖片處理,或者不支援縮圖與部分分段上傳參數。
- 孤雲的瀏覽與傳輸不受影響,只是這類儲存桶的縮圖可能顯示不出來,要下載後才看得到。
權威參考
- Amazon S3 API Reference(「相容」指的是這套 API) (另開新視窗)
- (外部參考)虛擬託管式與路徑式位址(AWS 官方說明) (另開新視窗)
抄下這三個值
它們要填進孤雲「新增儲存」頁對應的格子: 端點:其他 S3 沒有預置地點 —— 請在 App 的 HTTPS Endpoint 裡手填服務商文件給的 S3 端點(例如 https://s3.<區域>.<服務商網域>);桶名與金鑰照上表填。
| 抄下這個值 | 填進孤雲的哪一格 |
|---|---|
| 桶名 服務商主控台裡顯示的完整儲存桶名稱;有的要連帳號 ID 或 APPID 後綴一起寫,例如 your-bucket-name-1234567890。 | 桶名稱 |
| 端點 服務商文件裡的 S3 端點,只寫主機名稱,例如 https://s3.<區域>.<服務商網域>,不要帶儲存桶名稱與路徑。 | Endpoint |
| 金鑰 那對只授權這個桶的金鑰:Access Key ID 與 Secret(有的叫 Key ID 與 Application Key)。 | Access Key ID 與 Secret |
怎麼知道成了
- 「測試連線並儲存」通過,代表這對金鑰能讀到這個儲存桶;孤雲只讀根目錄,不會改動桶裡的東西。
- 連不上時先核對 Endpoint、桶名與金鑰,再核對地點;仍報錯就到常見錯誤對照排查。
回到孤雲,點「測試連線並儲存」。