本文介紹OSS返回404錯誤的原因和解決方案。
KeyNotFound
The specified parameter KMS keyId is not found
問題原因:未找到指定的CMK。
解決方案:確認已開通KMS服務并填寫正確的CMK ID,CMK ID示例值為
9468da86-3509-4f8d-a61e-6eab1eac****
。詳情請參見設置服務器端加密。
AliasNotFound
The specified Alias is not found
問題原因:未找到指定的CMK別名。
解決方案:確認已開通KMS服務并填寫正確的CMK別名。CMK別名必須以alias開頭,例如
alias/example
。
NoSuchServerSideEncryptionRule
The server side encryption configuration was not found
問題原因:目標Bucket尚未開啟服務器端加密。
解決方案:請為目標Bucket開啟服務器端加密。詳情請參見服務器端加密。
NoSuchWebsiteConfiguration
The specified bucket does not have a website configuration
問題原因:目標Bucket未配置靜態網站托管。
解決方案:請為目標Bucket配置靜態托管。詳情請參見靜態網站托管概述。
NoSuchBucketObjectTagging
The specified bucket does not have a object tagging
問題原因:此Bucket中的Object均未設置標簽。
解決方案:請設置對象標簽。對象標簽使用一組鍵值對(Key-Value)標記對象,對象標簽規則如下:
單個Object最多可設置10個標簽,Key不可重復。
每個Key長度不超過128字符,每個Value長度不超過256字符。
Key和Value區分大小寫。
標簽合法字符集包括大小寫字母、數字、空格和以下符號:
+?=._:/
通過HTTP Header的方式設置標簽且標簽中包含任意字符時,您需要對標簽的Key和Value做URL編碼。
NoSuchCORSConfiguration
The CORS Configuration does not exist
問題原因:未配置跨域資源共享CORS規則。
解決方案:如果您想要允許或者拒絕相應的跨域請求,請為目標Bucket配置CORS規則。詳情請參見跨域設置。
NoSuchWORMConfiguration
The WORM Configuration does not exist
問題原因:未配置合規保留策略。
解決方案:如果您希望以“不可刪除、不可篡改”方式保存和使用數據,建議設置合規保留策略。具體操作,請參見設置合規保留策略。
The specified WORM ID does not exist
問題原因:指定的策略ID不存在。
解決方案:在鎖定合規保留策略或延長保留周期操作中需要指定正確的策略ID,您可以通過GetBucketWorm接口獲取策略ID。
SymlinkTargetNotExist
The symlink target object does not exist
問題原因:
Object命名不符合規范。
軟鏈接指向的Object不存在。
解決方案:
檢查并確保Object命名符合規范。
Object命名規范如下:
不是以正斜線(/)或者反斜線(\)開頭。
使用UTF-8編碼。
長度必須在1~1023字符之間。
如果目標Object為軟鏈接,則確保軟鏈接指向的Object已存在。
NoSuchUser
User not found
問題原因:該用戶不存在。
解決方案:請檢查阿里云賬號是否被注銷。
NoSuchRegion
NoSuchRegion
問題原因:該Region不存在。
解決方案:有關OSS已開通Region的詳情,請參見訪問域名和數據中心。
NoSuchLifecycle
No Row found in Lifecycle Table
問題原因:Bucket未配置生命周期規則(Lifecycle)。
解決方案:如果您需要定期將Object轉儲為低頻訪問、歸檔存儲、冷歸檔存儲、深度冷歸檔存儲類型,或者刪除過期的Object和碎片,從而節省存儲費用,請配置生命周期規則。具體操作,請參見設置生命周期規則。
NoSuchInventory
No Row found in Inventory Table
問題原因:Bucket未配置清單規則。
解決方案:如果您需要獲取存儲空間(Bucket)中指定文件(Object)的數量、大小、存儲類型、加密狀態等信息,請配置清單規則。具體操作,請參見PutBucketInventory。
NoSuchBucket
The specified bucket does not exist
問題原因:Bucket命名不符合規范。
解決方案:檢查并確保Bucket命名符合規范。
Bucket命名規范如下:
只包含小寫字母、數字和短劃線(-)。
以小寫字母或者數字開頭和結尾。
長度必須在3~63字符之間。
NoSuchKey
The specified key does not exist
問題原因:
Object命名不符合規范。
觸發生命周期管理規則,Object被刪除。
Object被其他具有合法權限的用戶通過OSS控制臺、OSS客戶端或API等方式刪除了。
目標Bucket與其他Bucket存在跨區域復制關系,其他Bucket中執行的刪除操作被同步到目標Bucket中,此時Object也會被刪除。
解決方案:
NoSuchUpload
The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed
問題原因:
上傳成功后未收到OSS返回的requestId,即實際未上傳成功。
分片上傳或者斷點續傳時,部分分片上傳成功,但最終未完成上傳。
解決方案:
如果是上傳Object資源后訪問404,確認上傳后收到返回的requestId。
如果是分片上傳或斷點續傳,以調用CompleteMultipartUpload接口返回的HTTP狀態碼200以及requestId為準。詳情請參見InitiateMultipartUpload。
NoSuchVersion
The specified version does not exist
問題原因:指定的Object版本不存在。
解決方案:列舉、下載或刪除指定版本Object時需指定版本ID,您可以通過ListObjectVersions(GetBucketVersions)獲取Object的所有版本ID。
NoSuchLiveChannel
The specified live channel does not exist
問題原因:指定的LiveChannel不存在。
解決方案:OSS推流上傳視頻時,需要創建一個LiveChannel,并獲取對應的推流地址。詳情請參見RTMP推流上傳。
NoSuchBucketPolicy
The specified bucket policy does not exist
問題原因:請求的Bucket沒有配置授權策略(Policy)。
解決方案:如果您需要授權其他用戶訪問您的OSS資源,建議配置Bucket Policy。具體操作,請參見通過Bucket Policy授權用戶訪問指定資源。
NoSuchReplicationConfiguration
The bucket you specified does not have replication configuration
問題原因:此Bucket未配置跨區域復制規則。
解決方案:如果您需要將源Bucket中Object的改動(新建、覆蓋、刪除等操作)自動、異步(近實時)復制到目標Bucket中,以實現跨區域容災或數據復制等需求,建議配置跨區域復制規則。具體操作,請參見設置跨區域復制。
NoSuchReplicationRule
The BucketReplicationRule you specified does not exist
問題原因:指定的跨區域復制規則不存在。
解決方案:獲取某個Bucket的跨區域復制進度或者或刪除Bucket的復制配置時需指定復制規則ID,您可以通過GetBucketReplication獲取目標Bucket的復制規則ID。
NoSuchTransferAccelerationConfiguration
The bucket you specified does not have transfer acceleration configuration
問題原因:指定的Bucket未開啟傳輸加速。
解決方案:如果您需要遠距離數據傳輸加速、加速上傳和下載GB或TB級大文件以及非靜態、非熱點數據下載加速等場景,請開啟傳輸加速服務。詳情請參見傳輸加速。
NoSuchChannel
No Such Image Channel
問題原因:該圖片頻道不存在。
解決方案:圖片頻道是老版圖片服務手冊中的概念,老版圖片功能不再更新。推薦使用新版圖片處理指南,詳情請參見簡介。
NoSuchStyle
No Such Image Style
問題原因:該圖片樣式不存在。
解決方案:如果您需要在一個樣式(Style)中包含多個圖片處理參數,建議您創建樣式,以便快速實現復雜的圖片處理操作。詳情請參見圖片樣式。
NoSuchCacheControlConfiguration
The bucket you specified does not have cache control configuration
問題原因:該Bucket未配置緩存控制策略。
解決方案:如果您需要實現不同的緩存控制策略,請在HTTP請求和響應中使用
cache-control
通用消息頭。OSS支持在PutObject、AppendObject、GetObject等API接口中指定cache-control
。