跳轉到主要內容

概述

存儲API提供基於貯體的檔案存儲,類似於S3。上傳、下載和管理檔案,支援本機和S3相容儲存後端。

標頭

針對經過驗証的函數調用:
針對管理員端點:

使用上傳策略上傳物件

InsForge支援兩種類型的儲存後端:
  1. 本機儲存:檔案儲存在本機檔案系統上。用於開發或低容量生產。
  2. S3相容:檔案儲存在S3相容物件儲存上。用於高容量生產。
上傳檔案的步驟是:
  1. 取得上傳策略
  2. 上傳檔案
  3. 確認上傳(僅限S3)

步驟1:取得上傳策略

根據儲存後端取得最優上傳策略(直接或預簽名URL)。 上傳策略API根據儲存後端傳回最優上傳方法:
  • 本機儲存:直接上傳到InsForge API
  • S3相容:預簽名URL用於直接上傳到S3

請求本文

欄位類型必需說明
filenamestring原始檔案名稱
contentTypestring檔案的MIME類型
sizeinteger檔案大小(位元組)

範例

回應(S3後端)

回應(本機儲存)


步驟2:上傳檔案

使用提供的方法將檔案上傳到指定的URL。
  • 本機儲存:使用PUT請求到uploadUrl,使用multipart/form-datafile欄位。
  • S3相容:使用POST請求到uploadUrl,使用multipart/form-datafile欄位。包括請求中fields物件的所有欄位。

步驟3:確認預簽名上傳(僅限S3)

確認檔案已成功使用預簽名URL上傳到S3。

請求本文

欄位類型必需說明
sizeinteger檔案大小(位元組)
contentTypestring檔案的MIME類型
etagstring上傳物件的S3 ETag

範例

回應


上傳物件(已淘汰)

使用特定金鑰將檔案上傳到貯體。

路徑參數

參數類型說明
bucketNamestring貯體的名稱
objectKeystring物件金鑰(可以包括/用於虛擬資料夾)

請求本文

multipart/form-data帶有file欄位。

範例

回應


使用自動產生的金鑰上傳(已淘汰)

使用自動產生的唯一金鑰上傳檔案。

範例

回應


使用下載策略下載物件

InsForge支援兩種類型的儲存後端:
  1. 本機儲存:檔案儲存在本機檔案系統上。用於開發或低容量生產。
  2. S3相容:檔案儲存在S3相容物件儲存上。用於高容量生產。
下載檔案的步驟是:
  1. 取得下載策略
  2. 從傳回的URL下載檔案

步驟1:取得下載策略

根據儲存後端和貯體可見性取得最優下載策略(直接URL或預簽名URL)。 下載策略API根據儲存後端和貯體可見性傳回最優下載方法:
  • 本機儲存:從InsForge API直接下載
  • S3相容:S3的預簽名URL。
過期時間(用於預簽名URL)從貯體的 可見性自動計算伺服器端。端點不需要請求本文。objectKey可能包含 /(虛擬資料夾)——不要百分比編碼分隔符。POST /api/storage/buckets/{bucketName}/objects/{objectKey}/download-strategy 在原始路徑上保留為已淘汰的別名,以支援較舊的SDK 版本,將在未來的主要版本中移除。遷移到GET

範例

回應(S3公開貯體)

回應(S3私人貯體)

步驟2:下載檔案

使用適當的方法從傳回的URL下載檔案。

下載物件(已淘汰)

從貯體下載檔案。

範例

回應

二進位檔案內容,具有適當的Content-TypeContent-Length標頭。

刪除物件

從貯體中刪除檔案。

範例

回應


列出貯體中的物件

列出貯體中的所有物件,支援選用篩選。

查詢參數

參數類型說明
prefixstring按金鑰前置詞篩選(例如,users/
searchstring按金鑰搜尋物件(部分相符)
limitinteger傳回的最大物件數(1-1000,預設:100)
offsetinteger要跳過的物件數

範例

回應


貯體管理(管理員)

列出所有貯體

範例

回應

建立貯體

請求本文

欄位類型必需說明
bucketNamestring貯體名稱(英數字、下底線、連字號)
isPublicboolean貯體是否可公開存取(預設:true)

範例

回應

更新貯體

請求本文

欄位類型必需說明
isPublicboolean貯體是否可公開存取

範例

回應

刪除貯體

範例

回應


錯誤回應

找不到貯體(404)

找不到物件(404)

無效檔案(400)

貯體已存在(409)