本文介紹OSS上傳和下載失敗的排查方法。
OSS檔案上傳失敗
當上傳檔案失敗時,請參見以下操作進行排查處理:
檢查本地與OSS的網路是否存在異常。若存在網路故障,請使用ping命令測試與OSS的網路連通性,確保網路正常後再進行下一步排查。
檢查上傳檔案的大小是否超過限制。
通過OSS控制台上傳、簡單上傳、表單上傳、追加上傳的方式上傳單個檔案,檔案的大小不能超過5 GB。如要上傳超過5 GB的檔案,請參見如何上傳大檔案到OSS。
通過分區上傳的方式上傳單個檔案,檔案的大小不能超過48.8 TB。
檢查當前上傳檔案的帳號是否有上傳檔案的許可權。若為RAM使用者,請執行以下操作,檢查帳號是否擁有Bucket上傳檔案的許可權。若無許可權,進行授權。更多資訊,請參見通過Bucket Policy授權使用者訪問指定資源。
登入存取控制管理主控台,選擇身份管理>使用者,選擇對應的RAM使用者。
單擊許可權管理頁簽,確認是否已經賦予目前使用者Bucket或Object的操作許可權。
請根據當前上傳檔案的環境,檢查配置是否正常。
若您是使用OSS SDK上傳失敗,請檢查Endpoint地址、Bucket、Object、AccessKeyID和AccessKeySecret是否正常。
檢查OSS Bucket的Endpoint地址是否正確。
請確保使用正確的Endpoint地址訪問Bucket。例如Bucket所在地區為
oss-cn-hangzhou,則外網Endpoint為oss-cn-hangzhou.aliyuncs.com。有關Endpoint的更多資訊,請參見OSS訪問網域名稱使用規則。確認請求的Endpoint地址與Bucket實際的Endpoint地址一致。如果需要訪問青島和杭州兩個節點的Bucket,則建立多個ossclient,定義Endpoint時,將青島和杭州地區的地址都添加進去。各地區及不同網路連接方式下的Endpoint資訊請參見OSS內網網域名稱與VIP網段對照表。
檢查AccessKeyID和AccessKeySecret的正確性。 確保代碼中使用的AccessKey和AccessKeySecret正確。
請確保Bucket與Object命名合法有效且符合要求。更多資訊,請參見Bucket和Object命名規範。
Bucket的命名規範:只能包括小寫字母、數字和短劃線(-),必須以小寫字母或者數字開頭,長度必須在3~63位元組之間。
Object的命名規範:使用UTF-8編碼,長度必須在1~1023位元組之間,不能以
/或者\字元開頭。
若您是使用OSS常用工具上傳失敗,首先請參見OSS常用工具匯總,查看您所使用的工具的限制條件,根據您的使用情境,重新選擇使用工具,協助您解決OSS上傳慢或者偶爾不能上傳的情況。建議您使用ossutil工具進行上傳,具體請參見命令列工具ossutil。
在進行檔案上傳時如遇到以下對應問題,請按照對應的解決方案進行處理。
OSS檔案下載失敗
當下載檔案失敗時,請參見以下操作進行排查處理:
檢查本地與OSS的網路是否存在異常。若存在網路故障,請解決網路故障,確保網路正常後再進行下一步排查。
檢查下載檔案的數量是否超過限制。通過OSS控制台可一次批量下載最多100個檔案。
請參見OSS上傳檔案失敗中的步驟3和步驟4,排查配置是否正確。
使用以下OSS工具通過斷點續傳方式下載:
在使用OSS檔案下載相關功能時,如果遇到以下問題,可參考其對應的案例進行解決。
更多資訊
OSS SDK上傳檔案主要包括以下幾種上傳方式,請根據不同上傳方式的特性,選擇合理的上傳方式進行重新設定。
簡單上傳:適用於一次HTTP請求互動即可完成上傳的情境,例如小檔案(小於5 GB)的上傳。
表單上傳:是指使用OSS API中的PostObject請求來完成Object的上傳,上傳的Object不能超過5 GB。
分區上傳和斷點續傳:當使用簡單上傳(PutObject)功能來上傳較大的檔案到OSS的時候,如果上傳的過程中出現了網路錯誤,那麼此次上傳失敗,重試必須從檔案起始位置上傳。針對這種情況,您可以使用分區上傳來達到斷點續傳的效果。相對於其他的上傳方式,分區上傳適用於以下情境:
惡劣的網路環境:如手機端,當出現上傳失敗的時候,可以對失敗的Part進行獨立的重試,而不需要重新上傳其他的Part。
斷點續傳:中途暫停之後,可以從上次上傳完成的Part的位置繼續上傳。
加速上傳:要上傳到OSS的本地檔案很大的時候,可以並行上傳多個Part以加快上傳。
流式上傳:可以在需要上傳的檔案大小還不確定的情況下開始上傳。這種情境在視頻監控等行業應用中比較常見。
追加上傳:追加上傳指的是使用OSS API中的AppendObject在已上傳的Appendable Object類型檔案後面直接追加內容。
用戶端直傳:用戶端直傳是指用戶端直接上傳檔案到Object Storage Service。相對於服務端代理上傳,用戶端直傳避免了商務服務器中轉檔案,提高了上傳速度,節省了伺服器資源。
RTMP推流上傳:OSS支援使用RTMP協議推送H264編碼的視頻流和AAC編碼的音頻流到OSS,推送到OSS的音視頻資料可以點播播放。在對延遲不敏感的應用情境,也可以做直播用途。