擷取檔案上傳參數。
介面說明
通過此介面擷取檔案上傳參數。如果返回參數中的 FileExist 的值為 true,表示待檢測檔案在雲端已存在,不需要再上傳,可以直接推送檢測。如果 FileExist 的值為 false,需要用此介面返回的參數,通過表單上傳的方式將檔案上傳至指定儲存位置。
表單上傳服務由 OSS 產品提供,請參考表單上傳。
檔案檢測相關介面均包含 HashKey 參數,表示檔案唯一標識,僅支援傳入檔案完整內容的 MD5 或 SHA-256,請在調用介面前計算該值。注意,一次檔案檢測的推送和查詢介面必須使用同一個 HashKey,否則無法正確推送檢測和查詢結果。
計算檔案內容的 MD5 或 SHA-256 值可以參考以下兩個步驟:
-
使用 MD5、SHA-256 演算法對資料進行加密,產生 128 位或 256 位的散列值。現有工具庫包括 Java 的 MessageDigest 工具、Python 的 hashlib 庫等。
-
將產生的散列值編碼為十六進位字串形式,現有工具庫包括 Java 的 Codec 工具、Python 的 hex 函數等。請確認最終產生的字串為數字和小寫英文字元的組合,MD5 為 32 個字元,SHA-256 為 64 個字元。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
yundun-sas:CreateFileDetectUploadUrl |
create |
*全部資源
|
無 | 無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| HashKeyList |
array |
否 |
檔案唯一標識。列表最多傳入 100 個元素。 說明
HashKeyList 和 HashKeyContextList 不能同時為空白。 |
CreateFileDetectUploadUrl |
|
string |
否 |
檔案唯一標識。 |
0a212417e65c26ff133cfff28f6c**** |
|
| Type |
integer |
是 |
檔案類型。取值:
|
0 |
| HashKeyContextList |
array<object> |
否 |
檔案標識。目前僅支援 MD5。列表最多傳入 100 個元素。 說明
HashKeyList 和 HashKeyContextList 不能同時為空白。 |
|
|
object |
否 |
檔案 HASH。 |
||
| HashKey |
string |
否 |
檔案 HASH。 |
30319dd5cee8f894766e479cac170da0 |
| FileSize |
integer |
否 |
檔案大小。如果檔案大小超過限制,將不會返回上傳參數。單位:位元組。 |
2698557 |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
|||
| RequestId |
string |
本次調用請求的 ID,是由阿里雲為該請求產生的唯一識別碼,可用於排查和定位問題。 |
09969D2C-4FAD-429E-BFBF-9A60DEF8BF6F |
| UploadUrlList |
array<object> |
檔案上傳需要的參數集合。 |
|
|
array<object> |
檔案上傳需要的參數。 |
||
| PublicUrl |
string |
檔案上傳地址的公網 EndPoint。 |
http://example.com |
| InternalUrl |
string |
檔案上傳地址的內網 EndPoint。 |
http://example.com |
| Expire |
string |
上傳參數到期的時間戳記,單位為毫秒。 |
1658562101370 |
| Context |
object |
上傳簽名資訊。 |
|
| AccessId |
string |
檔案儲存體位置的 AccessKey。 |
yourAccessKeyID |
| Policy |
string |
檔案上傳的限制 Policy,如檔案大小。 |
eyJleHBpcmF0aW9uIjoiMjAyMi0wNy0yM1QxMDo1ODoxMC**** |
| Signature |
string |
檔案上傳的簽名。 |
wDhPgVdnY/bkKFYcYFl+4crl**** |
| OssKey |
string |
檔案在 OSS Bucket 中的儲存 key。 |
1/2022/06/23/15/41/16559701077444693a0c6-33b2-4cc2-a99f-9f38b8b8**** |
| FileExist |
boolean |
檔案是否存在。取值:
|
false |
| HashKey |
string |
檔案標識。 |
0a212417e65c26ff133cfff28f6c**** |
| Code |
string |
結果代碼,200 表示成功,若為別的值則表示失敗,調用方可根據此欄位判斷失敗原因。 |
200 |
| Message |
string |
錯誤碼的詳細資料。 |
successful |
樣本
正常返回樣本
JSON格式
{
"RequestId": "09969D2C-4FAD-429E-BFBF-9A60DEF8BF6F",
"UploadUrlList": [
{
"PublicUrl": "http://example.com",
"InternalUrl": "http://example.com",
"Expire": "1658562101370",
"Context": {
"AccessId": "yourAccessKeyID",
"Policy": "eyJleHBpcmF0aW9uIjoiMjAyMi0wNy0yM1QxMDo1ODoxMC****",
"Signature": "wDhPgVdnY/bkKFYcYFl+4crl****",
"OssKey": "1/2022/06/23/15/41/16559701077444693a0c6-33b2-4cc2-a99f-9f38b8b8****"
},
"FileExist": false,
"HashKey": "0a212417e65c26ff133cfff28f6c****",
"Code": "200",
"Message": "successful"
}
]
}
錯誤碼
|
HTTP status code |
錯誤碼 |
錯誤資訊 |
描述 |
|---|---|---|---|
| 400 | RequestTooFrequently | Request too frequently, please try again later | 請求太頻繁,請稍後再試 |
| 400 | InvalidApiDetectType | Unsupported Api Detect Type. | 不支援的檔案類型。 |
| 500 | ServerError | ServerError | 服務故障,請稍後重試! |
| 500 | SystemBusy | System busy, please try again later. | 系統繁忙,請稍後重試。 |
| 403 | NoPermission | caller has no permission | 當前操作未被授權,請聯絡主帳號在RAM控制台進行授權後再執行操作。 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。