跳到主要內容
孤雲

其他 S3

任何提供 S3 相容 API 的服務都能接孤雲 —— 端點與金鑰由你的服務商提供,差別只在細節。

要準備三樣:端點 / 桶名 / 金鑰(地域由應用自動處理);端點推不出來,得從服務商文件裡抄。

分步操作

  1. 第 1 步

    確認它真的是 S3 相容

    • 服務商的文件裡要有 S3 相容 / S3 API / S3-compatible 這類字樣,並給出一個 S3 端點:形如 https://s3.<區域>.<服務商網域>,或者像 https://<帳號>.r2.cloudflarestorage.com 這種帶帳號的位址。
    • 只有網頁上傳介面、沒有 S3 端點的服務接不上孤雲。例如 Cloudflare R2、Backblaze B2、MinIO、又拍雲、七牛、阿里雲 OSS 與騰訊雲 COS 的 S3 相容介面都屬於前者。
  2. 第 2 步

    建立一個私有桶,並準備一對只授權這個桶的金鑰

    • 在你自己的服務商那裡建立一個私有儲存桶(不要開放公開讀寫)。
    • 再準備一對只授權這個桶的金鑰:盡量用服務商的子帳號 / API 權杖來建立,不要用主帳號金鑰。
  3. 第 3 步

    在服務商文件裡找出三個值

    • 找出這三個值:端點、儲存桶名稱、Access Key ID 與 Secret。
    • 不同服務商對這些值的叫法不同(Key ID / Application Key / API Token / SecretId 等),照下面那張表對照著找。
  4. 第 4 步

    回孤雲填三個值並測試

    • 孤雲「新增儲存」→ 服務商選「其他 S3」,把三個值填進去。
    • 再點「測試連線並儲存」。

服務商文件裡常見的幾種叫法

三個值在不同服務商那裡叫什麼、去哪裡找:

孤雲裡的名字常見叫法去哪裡找
端點S3 Endpoint / API Endpoint / 服務位址服務商文件的「S3 API」章節
儲存桶名稱Bucket / 儲存桶名稱 / Container服務商主控台的儲存桶列表
金鑰Access Key ID + Secret / Key ID + Application Key / API Token服務商的「API 金鑰 / 存取金鑰」頁
其他情況(用不到可以跳過)

三類最常見的坑,以及「S3 相容」不承諾什麼。

三類最常見的坑

  1. 端點寫成了主控台位址:要填的是 S3 API 端點,不是你在瀏覽器裡打開服務商主控台或網頁的位址。
  2. 端點裡帶了儲存桶名稱或路徑:孤雲的端點只填主機名稱,儲存桶名稱與路徑單獨填一格。
  3. 儲存桶名稱寫成了簡稱:有些服務商要求連帳號 ID 或 APPID 後綴一起寫(形如 your-bucket-name-1234567890),以服務商主控台的儲存桶列表裡顯示的完整名字為準。

能力差異

  • S3 相容不等於功能齊全:有的服務商沒有伺服器端圖片處理,或者不支援縮圖與部分分段上傳參數。
  • 孤雲的瀏覽與傳輸不受影響,只是這類儲存桶的縮圖可能顯示不出來,要下載後才看得到。

抄下這三個值

它們要填進孤雲「新增儲存」頁對應的格子: 端點:其他 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、桶名與金鑰,再核對地點;仍報錯就到常見錯誤對照排查。

回到孤雲,點「測試連線並儲存」。