為開發人員提供Object Storage Service 的 API 概覽,協助理解其核心概念與資源模型,並快速尋找所需介面。如果要進行快速二次開發,建議在生產環境中使用SDK開發包,其封裝了複雜的簽名、重試和並發邏輯,本文可作為 SDK 底層實現原理的參考,適用於需要深度定製或理解通訊機制的情境。
開始使用前,請注意:
快速上手:調用第一個API
以建立儲存空間(PutBucket)為例,介紹一次完整的API調用流程。
1. 準備工作
開始前,需擷取以下資訊:
AccessKey:為保證訪問安全,除匿名訪問外的所有 OSS API 請求都必須經過簽名認證。OSS 使用基於AccessKey(AccessKey ID 和 AccessKey Secret)的簽名機制驗證請求。簽名資訊需通過 HTTP 要求頭中的
Authorization欄位傳遞,計算方法見簽名版本4(推薦)。Endpoint:API 請求必鬚髮送到目標儲存空間所在地區的 Endpoint,Endpoint是訪問OSS服務的入口地址,各地區對應的 Endpoint 詳情見地區和Endpoint。
2. 構造並發送請求
PUT / HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Thu, 17 Apr 2025 03:15:40 GMT
x-oss-acl: private
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<CreateBucketConfiguration>
<StorageClass>Standard</StorageClass>
<DataRedundancyType>LRS</DataRedundancyType>
</CreateBucketConfiguration>3. 理解響應結果
成功響應:請求成功後,伺服器會返回
2xx狀態代碼。對於有返回內容的操作,響應體為 XML 格式。HTTP/1.1 200 OK x-oss-request-id: 534B371674E88A4D8906**** Date: Fri, 24 Feb 2017 03:15:40 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS Location: /oss-example錯誤處理:請求失敗時,伺服器會返回
4xx或5xx狀態代碼。響應體同樣為 XML 格式,其中包含具體的錯誤碼(Code)和錯誤資訊(Message),可參考錯誤碼定位問題
API 列表
關於Service操作
API | 描述 |
返回要求者擁有的所有儲存空間(Bucket)。 | |
列舉要求者所有的儲存冗餘轉換任務。 |
關於Region操作
API | 描述 |
查詢所有支援地區或者指定地區對應的Endpoint資訊。 |
關於Bucket操作
分類 | API | 描述 |
基礎操作 | 建立Bucket。 | |
刪除Bucket。 | ||
列出Bucket中所有檔案(Object)的資訊。 | ||
擷取Bucket資訊。 | ||
擷取Bucket所屬的位置資訊。 | ||
擷取Bucket的儲存容量以及Object數量。 | ||
合規保留原則(WORM) | 建立合規保留原則。 | |
刪除未鎖定的合規保留原則。 | ||
鎖定合規保留原則。 | ||
延長鎖定的合規保留原則對應Bucket中Object的保留天數。 | ||
擷取Bucket的合規保留原則資訊。 | ||
許可權控制(ACL) | 設定Bucket存取權限。 | |
擷取Bucket存取權限。 | ||
生命週期(Lifecycle) | 設定Bucket中Object的生命週期規則。 | |
擷取Bucket中Object的生命週期規則。 | ||
刪除Bucket中Object的生命週期規則。 | ||
傳輸加速(TransferAcceleration) | 為儲存空間(Bucket)配置傳輸加速。 | |
擷取目標儲存空間(Bucket)的傳輸加速配置。 | ||
版本控制(Versioning) | 設定Bucket的版本控制狀態。 | |
擷取Bucket的版本控制狀態。 | ||
列舉Bucket中所有Object的版本資訊。 | ||
資料複製(Replication) | 設定Bucket的資料複製規則。 | |
為已有的跨地區複製規則開啟或關閉資料複製時間控制(RTC)功能。 | ||
查看Bucket已設定的資料複製規則。 | ||
查看可複製到的目標Bucket所在的地區。 | ||
查看Bucket的資料複製進度。 | ||
停止Bucket的資料複製任務並刪除Bucket的複製配置。 | ||
授權策略(Policy) | 設定Bucket Policy。 | |
擷取Bucket Policy。 | ||
查看當前Bucket Policy是否允許公用訪問。 | ||
刪除Bucket Policy。 | ||
清單(Inventory) | 設定Bucket清單規則。 | |
查看Bucket中指定的清單任務。 | ||
查看Bucket中所有的清單任務。 | ||
刪除Bucket中指定的清單任務。 | ||
日誌管理(Logging) | 開啟Bucket訪問日誌記錄功能。 | |
查看Bucket的訪問日誌配置情況。 | ||
關閉Bucket訪問日誌記錄功能。 | ||
為Bucket即時日誌中的 | ||
擷取Bucket即時日誌中的 | ||
刪除Bucket即時日誌中的 | ||
靜態網站(Website) | 設定Bucket為靜態網站託管模式。 | |
查看Bucket的靜態網站託管狀態。 | ||
關閉Bucket的靜態網站託管模式。 | ||
防盜鏈(Referer) | 設定Bucket的防盜鏈規則。 | |
查看Bucket的防盜鏈規則。 | ||
標籤(Tags) | 添加或修改Bucket標籤。 | |
查看Bucket標籤資訊。 | ||
刪除Bucket標籤。 | ||
加密(Encryption) | 配置Bucket的加密規則。 | |
擷取Bucket的加密規則。 | ||
刪除Bucket的加密規則。 | ||
要求者付費(RequestPayment) | 設定Bucket為要求者付費模式。 | |
查看Bucket要求者付費模式配置資訊。 | ||
跨域資源共用(CORS) | 為指定的儲存空間(Bucket)設定跨域資源共用CORS(Cross-Origin Resource Sharing)規則。 | |
擷取指定儲存空間(Bucket)當前的跨域資源共用CORS規則。 | ||
關閉指定儲存空間(Bucket)對應的跨域資源共用CORS功能並清空所有規則。 | ||
瀏覽器在發送跨域請求之前會發送一個preflight請求(Options)給OSS,並帶上特定的來源域、HTTP方法和header等資訊,以決定是否發送真正的請求。 | ||
訪問跟蹤(AccessMonitor) | 配置Bucket的訪問跟蹤狀態。 | |
擷取Bucket的訪問跟蹤狀態。 | ||
資料索引(Data Indexing) | 為Bucket開啟中繼資料管理功能。 | |
擷取指定Bucket的中繼資料索引庫資訊。 | ||
查詢滿足指定條件的Object,並按照指定欄位和排序方式列出Object資訊。 | ||
關閉Bucket的中繼資料管理功能。 | ||
高防(DDoS Protection) | 建立高防OSS執行個體。 | |
更改高防OSS執行個體狀態。 | ||
查詢指定帳號下的高防OSS執行個體資訊。 | ||
初始化Bucket防護。 | ||
更新Bucket防護狀態。 | ||
擷取Bucket防護資訊列表。 | ||
資源群組 | 為Bucket配置所屬資源群組。 | |
擷取Bucket的資源群組ID。 | ||
自訂網域名(CNAME) | 建立網域名稱所有權驗證所需的CnameToken。 | |
擷取已建立的CnameToken。 | ||
為某個Bucket綁定CNAME。 | ||
擷取某個Bucket下綁定的所有CNAME列表。 | ||
刪除已綁定的CNAME。 | ||
圖片樣式(Style) | 新增圖片樣式。 | |
擷取某個Bucket下指定的圖片樣式資訊。 | ||
擷取某個Bucket下已建立的所有圖片樣式。 | ||
刪除某個Bucket下指定的圖片樣式。 | ||
安全傳輸層協議(TLS) | 為Bucket開啟或關閉TLS版本設定。 | |
查看Bucket的TLS版本設定。 | ||
儲存冗餘轉換(RedundancyTransition) | 建立儲存冗餘轉換任務。 | |
擷取儲存冗餘轉換任務。 | ||
刪除儲存冗餘轉換任務。 | ||
列舉要求者所有的儲存冗餘轉換任務。 | ||
列舉某個Bucket下所有的儲存冗餘轉換任務。 | ||
存取點(AccessPoint) | 建立存取點。 | |
擷取存取點資訊。 | ||
刪除存取點。 | ||
擷取使用者層級或Bucket層級的存取點資訊。 | ||
配置存取點策略。 | ||
擷取存取點策略配置。 | ||
刪除存取點策略。 | ||
對象FC存取點(Object FC AccessPoint) | 建立對象FC存取點。 | |
擷取對象FC存取點基礎資訊。 | ||
刪除對象FC存取點。 | ||
擷取使用者層級的對象FC存取點資訊。 | ||
修改對象FC存取點配置。 | ||
擷取對象FC存取點配置資訊。 | ||
為對象FC存取點配置權限原則。 | ||
擷取對象FC存取點的權限原則配置。 | ||
刪除對象FC存取點的權限原則。 | ||
自訂返回資料和響應標題。 | ||
阻止公用訪問(BlockAccess) | 為OSS全域開啟阻止公用訪問。 | |
擷取OSS全域阻止公用訪問的配置資訊。 | ||
刪除OSS全域阻止公用訪問配置資訊。 | ||
為Bucket開啟阻止公用訪問。 | ||
擷取指定Bucket的阻止公用訪問配置資訊。 | ||
刪除指定Bucket的阻止公用訪問配置資訊。 | ||
為存取點開啟阻止公用訪問。 | ||
擷取指定存取點的阻止公用訪問配置資訊。 | ||
刪除指定存取點的阻止公用訪問配置資訊。 | ||
歸檔直讀(ArchiveDirectRead) | 開啟或關閉歸檔直讀。 | |
查看是否已開啟歸檔直讀。 | ||
OSS加速器(OSS Accelerator) | 建立OSS加速器或修改其配置。 | |
查詢OSS加速器資訊。 | ||
刪除OSS加速器。 |
關於Object的操作
分類 | APi | 描述 |
基礎操作 | 上傳Object。 | |
擷取Object。 | ||
拷貝Object。 | ||
以追加寫的方式上傳Object。 | ||
禁止向一個Appendable Object繼續追加內容。 | ||
刪除單個Object。 | ||
刪除多個Object。 | ||
只返回某個Object的meta資訊,不返迴文件內容。 | ||
返回Object的基本meta資訊,包括該Object的ETag、Size(檔案大小)以及LastModified等,不返迴文件內容。 | ||
通過HTML表單上傳的方式上傳Object。 | ||
您只需在發送給OSS的請求中攜帶相應的Callback參數即可實現回調。 | ||
解凍Archive Storage、冷Archive Storage或者深度冷Archive Storage類型的Object。 | ||
提前結束解凍狀態。 | ||
對目標檔案執行SQL語句,返回執行結果。 | ||
擷取目標檔案總行數、總列數(對於CSV檔案),以及Splits個數。 | ||
目錄管理 | 建立目錄(Directory)。 | |
重新命名目錄(Directory)或者檔案(Object)。 | ||
刪除目錄。 | ||
分區上傳(MultipartUpload) | 初始化一個Multipart Upload事件。 | |
根據指定的Object名和uploadId來分塊(Part)上傳資料。 | ||
通過在UploadPart請求的基礎上增加一個要求標頭x-oss-copy-source來調用UploadPartCopy介面,實現從一個已存在的Object中拷貝資料來上傳一個Part。 | ||
在將所有資料Part都上傳完成後,您必須調用CompleteMultipartUpload介面來完成整個檔案的分區上傳。 | ||
取消Multipart Upload事件並刪除對應的Part資料。 | ||
列舉所有執行中的Multipart Upload事件,即已經初始化但還未完成(Complete)或者還未中止(Abort)的Multipart Upload事件。 | ||
列舉指定uploadId所屬的所有已經上傳成功Part。 | ||
許可權控制(ACL) | 修改Object的存取權限。 | |
查看Object的存取權限。 | ||
軟連結(Symlink) | 建立軟連結。 | |
擷取軟連結。 | ||
標籤(Tagging) | 設定或更新對象標籤。 | |
擷取對象標籤資訊。 | ||
刪除指定的對象標籤。 |
關於向量Bucket的操作
分類 | APi | 描述 |
向量 Bucket | 建立向量 Bucket。 | |
擷取向量Bucket的詳細資料。 | ||
列舉當前帳號下的所有向量Bucket。 | ||
刪除向量Bucket。 | ||
索引 Index | 在向量 Bucket中建立向量索引。 | |
擷取向量索引的詳細資料。 | ||
列舉向量Bucket中的所有向量索引。 | ||
在將所有資料Part都上傳完成後,您必須調用CompleteMultipartUpload介面來完成整個檔案的分區上傳。 | ||
向量 Vectors | 向索引中寫入向量資料。 | |
擷取指定的向量資料。 | ||
列舉向量索引中的所有向量資料。 | ||
刪除向量索引中的指定向量資料。 | ||
進行向量相似性檢索。 |
關於資源群組QoS的操作
API | 描述 |
為資源集區內的Bucket設定流控。 | |
擷取資源集區內某個Bucket的流控配置。 | |
刪除資源集區內指定Bucket的流控配置。 | |
佈建要求者在Bucket層級的流控。 | |
擷取指定要求者在Bucket層級的流控配置。 | |
擷取所有要求者在Bucket層級的流控配置。 | |
刪除Bucket的某個要求者流控配置。 | |
擷取當前帳號下的所有資源集區資訊。 | |
擷取指定資源集區流控配置。 | |
擷取指定資源集區包含的Bucket列表。 | |
為資源集區的要求者配置流控。 | |
擷取指定要求者在資源集區的流控配置。 | |
擷取所有要求者在資源集區的流控配置。 | |
刪除指定要求者在資源集區的流控配置。 | |
將資源集區內的Bucket添加到BucketGroup。 | |
列舉指定資源集區的BucketGroup列表。 | |
配置或修改資源集區中BucketGroup的流控。 | |
擷取資源集區中BucketGroup的流控配置。 | |
列舉資源集區中BucketGroup的流控配置。 | |
刪除資源集區中BucketGroup的流控配置。 |
關於Live Channel的操作
API | 描述 |
切換LiveChannel的狀態。 | |
建立LiveChannel。 | |
擷取播放清單。 | |
產生播放清單。 | |
擷取LiveChannel的推流狀態資訊。 | |
擷取LiveChannel的配置資訊。 | |
擷取LiveChannel的推流記錄。 | |
列舉LiveChannel。 | |
刪除LiveChannel。 |