Image Search可以通過大量操作功能大量匯入阿里雲OSS中的圖片,或大量刪除已經入庫的圖片,適用於較大規模的離線圖片資料操作,穩定性高、速度快、操作方便。本文為您介紹如何批量新增和刪除圖片。
大量操作流程
開通OSS服務
將圖片匯入到OSS中
匯入圖片,具體操作請參見上傳檔案。
圖片存放路徑可以自訂,只需要在建立批量任務時設定圖片路徑即可。
建立increment.meta檔案
在OSS服務中存放圖片的路徑下,建立increment.meta檔案,該檔案用來儲存大量操作任務相關內容。
increment.meta檔案中涉及的圖片必須和increment.meta檔案在同一Bucket下,否則大量操作會失敗。
increment.meta檔案名稱是固定的,Image Search將根據此檔案名稱讀取大量操作相關內容,不要擅自修改檔案名稱,否則會操作失敗。
Image Search支援同一Bucket,不同路徑(path)圖片的大量操作,例如:Bucket為imagesearch,increment.meta檔案在此Bucket的根目錄下,path為girlCloth,圖片在此path目錄下,圖片名稱為girl_cloth8.jpg,則meta檔案中PicName應寫為
“PicName":"girlCloth/girl_cloth8.jpg",注意:必須寫成"girlCloth/girl_cloth8.jpg",在girlCloth前面和girl_cloth8.jpg後面都不能加正斜線(/)。如果有多級目錄按照此邏輯依次類推。在OSS中的圖片名稱尾碼必須填寫,例如圖片名稱為girl_cloth10.jpg,不能寫為"PicName":"girl_cloth10",必須寫為"PicName":"girl_cloth10.jpg",否則會處理失敗。
increment.meta檔案中,一行代表處理一張圖片,處理另一張圖片必須換行,不得將所有圖片處理寫到一行中,否則會處理失敗。
檔案參考樣本如下:
{"OperationType": "ADD","ProductId": "1000","PicName": "girl_cloth1.jpg","CategoryId": 0,"IntAttr": 0,"StrAttr": "value1","CustomContent": "k1:v1,k2:v2,k3:v3","Region": "20,40,60,80"}
{"OperationType": "ADD","ProductId": "1000","PicName": "girl_cloth2.jpg","CategoryId": 0,"IntAttr": 0,"StrAttr": "value2","CustomContent": "k1:v1,k2:v2,k3:v3","Region": "20,40,60,80"}
{"OperationType": "ADD","ProductId": "1001","PicName": "girl_cloth3.jpg","CategoryId": 1,"CustomContent": "k1:v1,k2:v2,k3:v3"}
{"OperationType": "ADD","ProductId": "1002","PicName": "girl_cloth4.jpg","CategoryId": 0,"CustomContent": "k1:v1,k2:v2,k3:v3","Crop": false}
{"OperationType": "ADD","ProductId": "1003","PicName": "girl_cloth7.jpg","CustomContent": "https://www.aliyun.com/imagesearch/girl_cloth7.jpg"}
{"OperationType": "ADD","ProductId": "1003","PicName": "girl_cloth6.jpg","CustomContent": "k1:v1,k2:v2,k3:v3"}
{"OperationType": "ADD","ProductId": "1006","PicName": "girlCloth/girl_cloth10.jpg","CustomContent": "k1:v1,k2:v2,k3:v3"}
{"OperationType": "DELETE","ProductId": "1004","PicName": "fengyi.jpg"}
{"OperationType": "DELETE","ProductId": "1005"}每個圖片由JSON格式表示,具體欄位含義如下表所示:
參數 | 類型 | 是否必選 | 說明 |
OperationType | String | 是 | 操作類型。
|
ProductId | String | 是 | 圖片唯一識別碼,最多支援256個字元。 |
PicName | String | 是 | 圖片名稱。OSS的Bucket中圖片名稱。最多支援256個字元。 重要
|
CategoryId | Integer | 否 | 更多說明,請參見類目參考。
|
CustomContent | String | 是 | 使用者自訂內容。最多支援4096個字元。 說明 圖片的CustomContent會在搜尋結果中自動關聯出來。通過CustomContent欄位,您可以填寫圖片的URL地址,圖片額外附加資訊等,以便與您的業務關聯。 |
IntAttr | Integer | 否 | 整數類型屬性。用於查詢時設定過濾。 說明 整數型別屬性與圖片查詢時的過濾條件組合使用,以起到過濾查詢的功能。請參考條件過濾。 |
StrAttr | String | 否 | 字串類型屬性。最多支援128字元。用於查詢時設定過濾。 說明
|
Crop | Boolean | 否 | 是否進行主體識別。預設為true。
|
Region | String | 否 | 圖片的主體地區。格式為 說明 若設定了該參數,則Crop參數不生效,以該設定為準。 |
Image Search服務授權
Image Search服務通過OSS來實現資料大量操作,首次使用需完成帳號一鍵授權。如已完成授權,可跳過此步驟。
選擇目標服務類型和目標執行個體。
單擊大量操作頁簽。

單擊建立批量任務,在對話方塊單擊確認一鍵授權。

在雲資源訪問授權頁面單擊確認授權。

建立批量任務
選擇目標服務類型和目標執行個體。
單擊大量操作頁簽。

單擊建立批量任務。

設定批量任務參數。
所屬地區
執行個體所在地區。
Bucket名稱
OSS上建立的相應的Bucket名稱。
重要請確保開通的OSS服務以及建立的Bucket與已購買的Image Search服務在同一個地區。
資料路徑
需要上傳的圖片和increment.meta檔案的儲存路徑。

meta檔案
需要處理圖片的列表檔案,支援檢測是否存在,檔案名稱為increment.meta。
完成後資訊回調
輸入回調地址,僅支援HTTP或者HTTPS開頭。
{ "finishTime": "2021-05-19 17:50:00", "instanceId": "imagesearch-cn-xxxx", "instanceName": "instanceName", "message": "success", "processResultUrl": "https://image-search-task-info.oss-cn-shanghai.aliyuncs.com/yyyyyyyyyy", "status": "NORMAL", "taskId": 111 }欄位名
描述
finishTime
完成時間,精確到秒。
instanceName
Image Search執行個體名稱。
instanceId
Image Search執行個體ID。
status
任務執行結果,NORMAL為正常,FAIL為執行失敗。
taskId
任務ID。
message
資訊描述;success為成功。
processResultUrl
錯誤結果下載。
取消批量任務
如需取消“處理中”的批量任務,請單擊取消。

閱讀彈窗內容,單擊確定,開始終止批量任務。

批量任務取消後,已執行部分會保留,任務狀態變為終止。單擊結果下載,查看具體執行情況。

後續步驟
在執行個體詳情頁,查看所有批量任務的資訊,處理中的批量任務會展示任務進度。批量任務狀態為成功後,使用者可以查看相應的提示資訊:
可以根據Bucket名稱或者資料路徑進行執行個體查詢。
如果提示資訊為部分照片處理失敗,已為您分離,單擊結果下載,則表明該增量任務中有部分圖片處理失敗,使用者可以下載相應檔案查看處理失敗的原因。