問題描述
請求回調參數Callback中的callbackUrl參數包含的URL數量過多。
問題原因
您發送的請求中用於上傳回調的Callback參數Base64解碼後會得到一個JSON結構,如果其中callbackUrl部分包含的URL數量過多,就會導致介面報錯。
callbackUrl參數表示的是檔案上傳成功後,OSS發送回調請求的目的URL地址。介面支援同時配置最多5個URL,多個URL間以分號(;)分隔。OSS會依次發送請求直到第一個返回成功為止。
如果該參數中的URL數量超過5個,就會導致介面返回該錯誤。
問題樣本
比如您的請求中Callback參數解碼後得到:
{
"callbackUrl":"https://callback1.com;https://callback2.com;https://callback3.com;https://callback4.com;https://callback5.com;https://callback6.com;",
"callbackBody":"bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&imageInfo.height=${imageInfo.height}&imageInfo.width=${imageInfo.width}&imageInfo.format=${imageInfo.format}&my_var=${x:my_var}"
}其中callbackUrl參數的值中包含了6個分號分割的URL地址,超出了介面限制,因此介面會返回該錯誤。
解決方案
請確保Callback參數的原始JSON字串中callbackUrl參數值是正確的URL,且數量不超過5個。
相關文檔
關於上傳回調中的常見錯誤及錯誤排查,請參見上傳回調錯誤及排除。
關於基於Post Policy的使用規則在服務端通過各語言SDK程式碼完成簽名,並且設定上傳回調,然後通過表單直傳資料到OSS的具體操作,請參見服務端簽名直傳並設定上傳回調概述。
關於搭建基於OSS的行動裝置 App資料直傳服務並設定上傳回調的具體操作,請參見快速搭建行動裝置 App上傳回調服務。