本文介紹OSS返回409錯誤的原因和解決方案。
BucketAlreadyExists
The requested bucket name is not available
-
問題原因:該Bucket已存在或被其他用戶占用。
-
解決方案:請使用新的Bucket名稱創(chuàng)建Bucket。創(chuàng)建Bucket的具體操作,請參見創(chuàng)建存儲空間。
Bucket already exists can't modify location
-
問題原因:不允許修改已創(chuàng)建Bucket所在的地域。
-
解決方案:重新創(chuàng)建Bucket,并在創(chuàng)建過程中指定Bucket所在的地域。
Cannot modify existing bucket's storage class或Bucket already exists can't modify storage type
-
問題原因:不允許修改已創(chuàng)建Bucket的存儲類型。
-
解決方案:重新創(chuàng)建Bucket,并在創(chuàng)建過程中指定Bucket的存儲類型。
Bucket already exists can't modify data redundancy type
-
問題原因:不允許修改已創(chuàng)建Bucket的數(shù)據(jù)容災(zāi)類型。
-
解決方案:重新創(chuàng)建Bucket,并在創(chuàng)建過程中指定Bucket的數(shù)據(jù)容災(zāi)類型。
BucketNotEmpty
The bucket you tried to delete is not empty
- 問題原因:要刪除的Bucket中存在未刪除的Object、未完成的分片上傳任務(wù)或Livechannel。
- 解決方案:
- 刪除Bucket中所有的文件(Object)。
刪除文件的操作,請參見刪除文件。如果文件數(shù)量較多,推薦結(jié)合生命周期規(guī)則批量刪除文件,請參見設(shè)置生命周期規(guī)則。
- 刪除Bucket中因分片上傳或斷點續(xù)傳產(chǎn)生的碎片(Part)。
刪除碎片的操作,請參見管理碎片。
- 刪除Bucket中所有的Livechannel。
刪除Livechannel的操作,請參見DeleteLiveChannel。有關(guān)Livechannel的信息,請參見RTMP推流上傳。
- 刪除Bucket中所有的文件(Object)。
CnameAlreadyExists
The cname has been attatched to your other bucket already
- 問題原因:
- 該域名已綁定至當(dāng)前賬號下的另一個Bucket。
問題現(xiàn)象:返回錯誤信息中的CnameType為CNAME_OSS。
- 該域名是圖片處理域名。
問題現(xiàn)象:返回錯誤信息中的CnameType為CNAME_IMG。
- 該域名已綁定至當(dāng)前賬號下的另一個Bucket。
- 解決方法:
- 針對返回錯誤信息中的CnameType為CNAME_OSS的解決方法
- 針對返回錯誤信息中的CnameType為CNAME_IMG的解決方法
- 解綁已在其他Bucket綁定的Cname。
- 綁定Cname至目標(biāo)Bucket。
綁定Cname的具體步驟,請參見綁定自定義域名。
PositionNotEqualToLength
Position is not equal to file length
- 問題原因:
- Position的值和當(dāng)前Object的長度不一致。
- Position值為0時,如果沒有同名的Appendable Object,或者同名Appendable Object長度為0,則請求成功;其他情況均視為Position和Object長度不匹配的情形,返回此錯誤碼。
- 解決方案:您可以通過響應(yīng)頭
x-oss-next-append-position
得到下一次Position的值,并再次發(fā)起請求。由于并發(fā)的關(guān)系,即使把Position的值設(shè)置為x-oss-next-append-position
,該請求依然可能因為PositionNotEqualToLength
而失敗。請參見AppendObject進(jìn)行排查。
FileAlreadyExists
The object you specified already exists and can not be overwritten
- 問題原因:當(dāng)請求的Header中攜帶
x-oss-forbid-overwrite=true
時,表示禁止覆蓋同名文件。如果文件已存在,則返回該錯誤。 - 解決方案:
您可以通過以下兩種方式在簡單上傳、拷貝文件、分片上傳等場景中覆蓋同名文件:
- 不攜帶x-oss-forbid-overwrite參數(shù),或?qū)⒋藚?shù)設(shè)置為false。
- 對Bucket開啟版本控制,此時被覆蓋的文件會以歷史版本的形式保存下來,您可以隨時恢復(fù)任意歷史版本文件。
LiveChannelDisabled
Live channel is disabled by owner
- 問題原因:LiveChannel處于disabled狀態(tài)時,OSS會禁止您對該LiveChannel進(jìn)行推流操作。如果您正在向該LiveChannel推流,那么推流的客戶端會被強(qiáng)制斷開(會有10s左右的延遲)。
- 解決方案:請確保LiveChannel處于enabled狀態(tài)時,再對該LiveChannel進(jìn)行推流操作。詳情請參見PutLiveChannelStatus。
ChannelStillLive
Live channel couldn't be updated or deleted when channel is live
- 問題原因:LiveChannel處于Live狀態(tài),即連接上推流地址后客戶端處于推流中的狀態(tài)時,不允許更新或刪除LiveChannel等操作。
- 解決方案:請在客戶端停止推流后進(jìn)行更新或刪除LiveChannel等操作。
FileImmutable
The object you specified is immutable
- 問題原因:您試圖刪除或修改Bucket內(nèi)處于保護(hù)狀態(tài)的Object。
- 解決方案:在Bucket的合規(guī)保留策略的保留周期內(nèi),不允許刪除或修改Bucket內(nèi)的Object。保留周期到期后,您可以刪除或修改Bucket內(nèi)的Object。請通過GetBucketWorm獲取保留周期。
RestoreAlreadyInProgress
The restore operation is in progress
- 問題原因:您已經(jīng)成功提交RestoreObject請求,且服務(wù)端正在執(zhí)行解凍操作。
- 解決方案:請不要重復(fù)提交RestoreObject請求。
KeyDisabled
The request was rejected because the key state is Disabled
- 問題原因:KMS服務(wù)密鑰已被禁用。
- 解決方案:調(diào)用EnableKey接口啟用指定的主密鑰進(jìn)行加解密。
KeyPendingDeletion
The request was rejected because the key state is PendingDeletion
- 問題原因:KMS服務(wù)密鑰處于待刪除狀態(tài)。
- 解決方案:密鑰狀態(tài)處于待刪除狀態(tài)時,無法用于加密、解密、生成數(shù)據(jù)密鑰操作。主密鑰一旦刪除,將無法恢復(fù),使用該主密鑰加密的內(nèi)容及產(chǎn)生的數(shù)據(jù)密鑰也將無法解密。因此,對于主密鑰的刪除,KMS只提供申請刪除的方式,而不提供直接刪除的方式,詳情請參見ScheduleKeyDeletion。如果您有刪除密鑰方面的需求,可以通過DisableKey禁用密鑰。
KeyPendingImport
The request was rejected because the key state is PendingImport
- 問題原因:KMS服務(wù)密鑰正處于預(yù)導(dǎo)入狀態(tài)。
- 解決方案:KMS服務(wù)密鑰正處于預(yù)導(dǎo)入狀態(tài)時,無法用于加密、解密、生成數(shù)據(jù)密鑰操作。請調(diào)用ImportKeyMaterial接口完成密鑰材料的導(dǎo)入。
WORMConfigurationAlreadyExists
The WORM Configuration already exists
- 問題原因:合規(guī)保留策略已存在。
- 解決方案:僅支持為目標(biāo)Bucket配置一條合規(guī)保留策略。合規(guī)保留策略未鎖定前,您可以刪除該策略,然后新建策略。詳情請參見保留策略。
InventoryConfigurationAlreadyExists
The Inventory Configuration already exists
- 問題原因:Bucket清單規(guī)則已存在。
- 解決方案:為目標(biāo)Bucket配置清單規(guī)則時,確保清單名稱在當(dāng)前Bucket下全局唯一。您可以通過GetBucketInventory獲取已配置的清單規(guī)則。
StaleFile
File is stale for this operation
- 問題原因:并發(fā)修改對象元數(shù)據(jù)或者并發(fā)修改對象標(biāo)簽。
- 解決方案:請勿執(zhí)行對象元數(shù)據(jù)或?qū)ο髽?biāo)簽的并發(fā)修改操作。