全部產品
Search
文件中心

Image Search:Python SDK

更新時間:Feb 05, 2024

本文介紹Image Search服務Python SDK的使用方法及樣本。

說明

如需瞭解更多產品詳情和擷取支援人員,請單擊線上諮詢或通過DingTalk群(35035130)聯絡我們。

介面列表

介面名稱

介面說明

Add

增加圖片。

SearchImageByPic

使用圖片進行搜尋。

SearchImageByName

指定名稱,使用已入庫的圖片進行搜尋。

Delete

刪除圖片。

UpdateImage

修改圖片。

Detail

查詢執行個體資訊。

DumpMeta

元資訊匯出任務。

DumpMetaList

元資訊匯出工作清單。

BatchTask

批量任務。

BatchTaskList

批量工作清單。

準備工作

  • 在安裝和使用阿里雲SDK前,確保您已經註冊阿里雲帳號並產生存取金鑰(AccessKey)。詳情請參見建立AccessKey

  • 使用如下方式安裝依賴包。

pip install alibabacloud_imagesearch20201214

Add介面

  • 程式碼範例

    from alibabacloud_imagesearch20201214.client import Client
    from alibabacloud_imagesearch20201214.models import AddImageAdvanceRequest
    from alibabacloud_tea_openapi.models import Config
    from alibabacloud_tea_util.models import RuntimeOptions
    def addImage():
        request = AddImageAdvanceRequest()
        # 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
        request.instance_name = '<instanceName>'
        # 必填,商品id,最多支援 512個字元。
        # 一個商品可有多張圖片。
        request.product_id = '<productId>'
        # 必填,圖片名稱,最多支援 512個字元。
        # 1. ProductId + PicName唯一確定一張圖片。
        # 2. 如果多次添加圖片具有相同的ProductId + PicName,以最後一次添加為準,前面添加的圖片將被覆蓋。
        request.pic_name = '<picName>'
        # 圖片內容,最多支援 4MB大小圖片以及5s的傳輸等待時間。當前僅支援PNG、JPG、JPEG、BMP、GIF、WEBP、TIFF、PPM格式圖片;
        # 對於商品、商標、通用圖片搜尋,圖片長和寬的像素必須都大於等於100且小於等於4096;
        # 對於布料搜尋,圖片長和寬的像素必須都大於等於448且小於等於4096;
        # 映像中不能帶有旋轉資訊;
    
        # 使用URL方式釋放下方注釋即可。   
        # url = '<fileUrl>'    
        # f = BytesIO(requests.get(url).content)  
    
        # 使用圖片file新增
        f = open('<filePath>', 'rb')
    
        request.pic_content_object = f
        # 選填,商品類目。
        # 1. 對於商品搜尋:若設定類目,則以設定的為準;若不設定類目,將由系統進行類目預測,預測的類目結果可在Response中擷取 。
        # 2. 對於布料、商標、通用搜尋:不論是否設定類目,系統會將類目設定為88888888。
        request.category_id = 3
        # 選填,使用者自訂的內容,最多支援4096個字元。
        # 查詢時會返回該欄位。例如可添加圖片的描述等文本。
        request.custom_content = "this is a simple test"
        # 選填,整數類型屬性,可用於查詢時過濾,查詢時會返回該欄位。
        #  例如不同的網站的圖片/不同使用者的圖片,可以設定不同的IntAttr,查詢時通過過濾來達到隔離的目的
        request.int_attr = 56
        # 選填,字串類型屬性,最多支援 128個字元。可用於查詢時過濾,查詢時會返回該欄位。
        request.str_attr = "test"
        # 選填,是否需要進行主體識別,預設為true。
        # 1.為true時,由系統進行主體識別,以識別的主體進行搜尋,主體識別結果可在Response中擷取。
        # 2.為false時,則不進行主體識別,以整張圖進行搜尋。
        # 3.對於布料圖片搜尋,此參數會被忽略,系統會以整張圖進行搜尋。
        request.crop = True
        # 選填,圖片的主體地區,格式為 x1,x2,y1,y2, 其中 x1,y1 是左上方的點,x2,y2是右下角的點。設定的region 地區不要超過圖片的邊界。
        # 若使用者佈建了Region,則不論Crop參數為何值,都將以使用者輸入Region進行搜尋。
        # 對於布料圖片搜尋,此參數會被忽略,系統會以整張圖進行搜尋。
        request.region = "167,467,221,407"
        config = Config()
        # 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user
        # 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
        # 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
        # 本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        config.access_key_id = os.environ['CC_AK_ENV']
        config.access_key_secret = os.environ['CC_SK_ENV']
        # 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint='imagesearch.cn-hangzhou.aliyuncs.com'
        config.endpoint = 'imagesearch.[regionId].aliyuncs.com'
    
        # 以下為內網(VPC)訪問方式
        # 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
        # config.endpointType = 'internal'  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為'internal'
        # config.endpoint = 'imagesearch-vpc.[regionId].aliyuncs.com' // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint='imagesearch-vpc.cn-hangzhou.aliyuncs.com'
    
        # 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId='cn-hangzhou'   
        config.region_id = '<regionId>'
        config.type = 'access_key'
        client = Client(config)
        runtime_option = RuntimeOptions()
        response = client.add_image_advance(request, runtime_option)
        print(response.to_map())
        f.close()
    if __name__ == '__main__':
        addImage()
  • 結果樣本

    {
      'RequestId': '7F769FFC-4F45-476E-BE6C-E4EF82E012A7',
      'Success': True,
      'Message': 'success',
      'Code': 0,
      'PicInfo': {
        'CategoryId': 20,
        'Region': '474,747,497,784'
      }
    }

SearchImageByPic介面

  • 程式碼範例

    from alibabacloud_imagesearch20201214.client import Client
    from alibabacloud_imagesearch20201214.models import SearchImageByPicAdvanceRequest
    from alibabacloud_tea_openapi.models import Config
    from alibabacloud_tea_util.models import RuntimeOptions
    def searchImageByPic() :
        request = SearchImageByPicAdvanceRequest()
        # 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
        request.instance_name = '<instanceName>'
        # 圖片內容,最多支援 4MB大小圖片以及5s的傳輸等待時間。當前僅支援PNG、JPG、JPEG、BMP、GIF、WEBP、TIFF、PPM格式圖片;
        # 對於商品、商標、通用圖片搜尋,圖片長和寬的像素必須都大於等於100且小於等於4096;
        # 對於布料搜尋,圖片長和寬的像素必須都大於等於448且小於等於4096;
        # 映像中不能帶有旋轉資訊
    
        # 使用URL方式釋放下方注釋即可。   
        # url = '<fileUrl>'    
        # f = BytesIO(requests.get(url).content)  
    
        # 使用圖片file 查詢相似圖片
        f = open('<filePath>', 'rb')
    
        request.pic_content_object = f
        # 選填,商品類目。
        # 1. 對於商品搜尋:若設定類目,則以設定的為準;若不設定類目,將由系統進行類目預測,預測的類目結果可在Response中擷取 。
        # 2. 對於布料、商標、通用搜尋:不論是否設定類目,系統會將類目設定為88888888。
        request.category_id = 3
        # 選填,返回結果的數目。取值範圍:1-100。預設值:10。
        request.num = 10
        # 選填,返回結果的起始位置。取值範圍:0-499。預設值:0。
        request.start = 0
        # 選填,是否需要進行主體識別,預設為true。
        # 1.為true時,由系統進行主體識別,以識別的主體進行搜尋,主體識別結果可在Response中擷取。
        # 2.為false時,則不進行主體識別,以整張圖進行搜尋。
        # 3.對於布料圖片搜尋,此參數會被忽略,系統會以整張圖進行搜尋。
        request.crop = True
        # 選填,圖片的主體地區,格式為 x1,x2,y1,y2, 其中 x1,y1 是左上方的點,x2,y2是右下角的點。設定的region 地區不要超過圖片的邊界。
        # 若使用者佈建了Region,則不論Crop參數為何值,都將以使用者輸入Region進行搜尋。
        # 3.對於布料圖片搜尋,此參數會被忽略,系統會以整張圖進行搜尋。
        request.region="167,467,221,407"
        # 選填,過濾條件
        # int_attr支援的操作符有>、>=、<、<=、=,str_attr支援的操作符有=和!=,多個條件之支援AND和OR進行串連。
        # 樣本:
        #  1. 根據IntAttr過濾結果,int_attr>=100
        #  2. 根據StrAttr過濾結果,str_attr!="value1"
        #  3. 根據IntAttr和StrAttr聯合過濾結果,int_attr=1000 AND str_attr="value1"
        request.filter="int_attr=56 AND str_attr=\"test\""
        config = Config()
        # 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user
        # 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
        # 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
        # 本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        config.access_key_id = os.environ['CC_AK_ENV']
        config.access_key_secret = os.environ['CC_SK_ENV']
        # 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint='imagesearch.cn-hangzhou.aliyuncs.com'
        config.endpoint = 'imagesearch.<regionId>.aliyuncs.com'
    
        # 以下為內網(VPC)訪問方式
        # 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
        # config.endpointType = 'internal'  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為'internal'
        # config.endpoint = 'imagesearch-vpc.<regionId>.aliyuncs.com' // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint='imagesearch-vpc.cn-hangzhou.aliyuncs.com'
    
        # 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId='cn-hangzhou'
        config.region_id = '<regionId>'
        config.type = 'access_key'
        client = Client(config)
        runtime_option = RuntimeOptions()
        response = client.search_image_by_pic_advance(request, runtime_option)
        print(response.to_map())
        f.close()
    if __name__ == '__main__':
        searchImageByPic()
  • 結果樣本

    {
      'RequestId': '53C481F3-E064-428D-AB25-B6C57A704E68',
      'Success': True,
      'Code': 0,
      'Msg': 'success',
      'Auctions': [{
        'CategoryId': 20,
        'ProductId': 'test-version-001',
        'PicName': 'test-version-001.jpg',
        'CustomContent': None,
        'Score': 1.0
        'SortExprValues': '5.37633353624177e+24;0',
        'IntAttr': None,
        'StrAttr': None
      }, {
        'CategoryId': 20,
        'ProductId': 'test_0426_1',
        'PicName': 'test_0426_1.png',
        'CustomContent': None,
        'Score': 1.0,
        'SortExprValues': '2.71303606033325;263',
        'IntAttr': None,
        'StrAttr': None
      }],
      'Head': {
        'DocsReturn': 5,
        'DocsFound': 5,
        'SearchTime': 295
      },
      'PicInfo': {
        'CategoryId': 20,
        'Region': '474,747,497,784',
        'AllCategories': [{
          'Id': 0,
          'Name': 'Tops'
        }, {
          'Id': 1,
          'Name': 'Dress'
        }, {
          'Id': 2,
          'Name': 'Bottoms'
        }, {
          'Id': 3,
          'Name': 'Bag'
        }, {
          'Id': 4,
          'Name': 'Shoes'
        }, {
          'Id': 5,
          'Name': 'Accessories'
        }, {
          'Id': 6,
          'Name': 'Snack'
        }, {
          'Id': 7,
          'Name': 'Makeup'
        }, {
          'Id': 8,
          'Name': 'Bottle'
        }, {
          'Id': 9,
          'Name': 'Furniture'
        }, {
          'Id': 20,
          'Name': 'Toy'
        }, {
          'Id': 21,
          'Name': 'Underwear'
        }, {
          'Id': 22,
          'Name': 'Digital device'
        }, {
          'Id': 88888888,
          'Name': 'Other'
        }],
        'MultiRegion': [{
            'Region': '112,440,76,387'
         }]
      }
    }

SearchImageByName介面

  • 程式碼範例

    from alibabacloud_imagesearch20201214.client import Client
    from alibabacloud_imagesearch20201214.models import SearchImageByNameRequest
    from alibabacloud_tea_openapi.models import Config
    from alibabacloud_tea_util.models import RuntimeOptions
    def searchImageByName() :
        request = SearchImageByNameRequest()
        # 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
        request.instance_name = '<instanceName>'
        # 必填,商品id,最多支援 512個字元。
        # 一個商品可有多張圖片。
        request.product_id = '<productId>'
        # 必填,圖片名稱,最多支援 512個字元。
        # 1. ProductId + PicName唯一確定一張圖片。
        # 2. 如果多次添加圖片具有相同的ProductId + PicName,以最後一次添加為準,前面添加的圖片將被覆蓋。
        request.pic_name = '<picName>'
        # 選填,商品類目。
        # 1. 對於商品搜尋:若設定類目,則以設定的為準;若不設定類目,將由系統進行類目預測,預測的類目結果可在Response中擷取 。
        # 2. 對於布料、商標、通用搜尋:不論是否設定類目,系統會將類目設定為88888888。
        request.category_id = 3
        # 選填,返回結果的數目。取值範圍:1-100。預設值:10。
        request.num = 10
        # 選填,返回結果的起始位置。取值範圍:0-499。預設值:0。
        request.start = 0
        # 選填,是否需要進行主體識別,預設為true。
        # 1.為true時,由系統進行主體識別,以識別的主體進行搜尋,主體識別結果可在Response中擷取。
        # 2.為false時,則不進行主體識別,以整張圖進行搜尋。
        # 3.對於布料圖片搜尋,此參數會被忽略,系統會以整張圖進行搜尋。
        request.crop = True
        # 選填,圖片的主體地區,格式為 x1,x2,y1,y2, 其中 x1,y1 是左上方的點,x2,y2是右下角的點。設定的region 地區不要超過圖片的邊界。
        # 若使用者佈建了Region,則不論Crop參數為何值,都將以使用者輸入Region進行搜尋。
        # 3.對於布料圖片搜尋,此參數會被忽略,系統會以整張圖進行搜尋。
        request.region="167,467,221,407"
        # 選填,過濾條件
        # int_attr支援的操作符有>、>=、<、<=、=,str_attr支援的操作符有=和!=,多個條件之支援AND和OR進行串連。
        # 樣本:
        #  1. 根據IntAttr過濾結果,int_attr>=100
        #  2. 根據StrAttr過濾結果,str_attr!="value1"
        #  3. 根據IntAttr和StrAttr聯合過濾結果,int_attr=1000 AND str_attr="value1"
        request.filter="int_attr=56 AND str_attr=\"test\""
        config = Config()
        # 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user
        # 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
        # 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
        # 本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        config.access_key_id = os.environ['CC_AK_ENV']
        config.access_key_secret = os.environ['CC_SK_ENV']
        # 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint='imagesearch.cn-hangzhou.aliyuncs.com'
        config.endpoint = 'imagesearch.<regionId>.aliyuncs.com'
    
        # 以下為內網(VPC)訪問方式
        # 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
        # config.endpointType = 'internal'  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為'internal'
        # config.endpoint = 'imagesearch-vpc.<regionId>.aliyuncs.com' // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint='imagesearch-vpc.cn-hangzhou.aliyuncs.com'
    
        # 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId='cn-hangzhou'
        config.region_id = '<regionId>'
        config.type = 'access_key'
        client = Client(config)
        response = client.search_image_by_name(request)
        print(response.to_map())
    if __name__ == '__main__':
        searchImageByName()
  • 結果樣本

    {
      'RequestId': '7BC00158-3B9B-49C4-9E25-FFEC28AF3CE8',
      'Success': True,
      'Code': 0,
      'Msg': 'success',
      'Auctions': [{
        'CategoryId': 20,
        'ProductId': 'test-version-001',
        'PicName': 'test-version-001.jpg',
        'CustomContent': None,
        'score':1.0,
        'SortExprValues': '5.37633353624177e+24;0',
        'IntAttr': None,
        'StrAttr': None
      }, {
        'CategoryId': 20,
        'ProductId': 'test_0426_1',
        'PicName': 'test_0426_1.png',
        'CustomContent': None,
        'score':1.0,
        'SortExprValues': '2.71303606033325;263',
        'IntAttr': None,
        'StrAttr': None
      }],
      'Head': {
        'DocsReturn': 5,
        'DocsFound': 5,
        'SearchTime': 15
      },
      'PicInfo': {
        'CategoryId': 20,
        'Region': None,
        'AllCategories': [{
          'Id': 0,
          'Name': 'Tops'
        }, {
          'Id': 1,
          'Name': 'Dress'
        }, {
          'Id': 2,
          'Name': 'Bottoms'
        }, {
          'Id': 3,
          'Name': 'Bag'
        }, {
          'Id': 4,
          'Name': 'Shoes'
        }, {
          'Id': 5,
          'Name': 'Accessories'
        }, {
          'Id': 6,
          'Name': 'Snack'
        }, {
          'Id': 7,
          'Name': 'Makeup'
        }, {
          'Id': 8,
          'Name': 'Bottle'
        }, {
          'Id': 9,
          'Name': 'Furniture'
        }, {
          'Id': 20,
          'Name': 'Toy'
        }, {
          'Id': 21,
          'Name': 'Underwear'
        }, {
          'Id': 22,
          'Name': 'Digital device'
        }, {
          'Id': 88888888,
          'Name': 'Other'
        }],
        'MultiRegion': [{
            'Region': '112,440,76,387'
         }]
      }
    }

Delete介面

  • 程式碼範例

    from alibabacloud_imagesearch20201214.client import Client
    from alibabacloud_imagesearch20201214.models import DeleteImageRequest
    from alibabacloud_tea_openapi.models import Config
    from alibabacloud_tea_util.models import RuntimeOptions
    
    def deleteImage() :
        request = DeleteImageRequest()
        # 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
        request.instance_name = '<instanceName>'
        # 必填,商品id,最多支援 512個字元。
        # 一個商品可有多張圖片。
        request.product_id = '<productId>'
        # 必填,圖片名稱,最多支援 512個字元。
        # 1. ProductId + PicName唯一確定一張圖片。
        # 2. 如果多次添加圖片具有相同的ProductId + PicName,以最後一次添加為準,前面添加的圖片將被覆蓋。
        request.pic_name = '<picName>'
        config = Config()
        # 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
        # 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
        # 本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        config.access_key_id = os.environ['CC_AK_ENV']
        config.access_key_secret = os.environ['CC_SK_ENV']
        # 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint='imagesearch.cn-hangzhou.aliyuncs.com'
        config.endpoint = 'imagesearch.<regionId>.aliyuncs.com'
    
        # 以下為內網(VPC)訪問方式
        # 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
        # config.endpointType = 'internal'  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為'internal'
        # config.endpoint = 'imagesearch-vpc.<regionId>.aliyuncs.com' // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint='imagesearch-vpc.cn-hangzhou.aliyuncs.com'
    
        # 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId='cn-hangzhou'
        config.region_id = '<regionId>'
        # 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user
        config.type = 'access_key'
        client = Client(config)
        response = client.delete_image(request)
        print(response.to_map())
    if __name__ == '__main__':
        deleteImage()
  • 結果樣本

    {
      'RequestId': '9ADA959B-B639-4B3B-841D-2399F1C34DA8',
      'Success': True,
      'Message': 'success',
      'Code': 0
    }

UpdateImage介面

  • 程式碼範例

    from alibabacloud_imagesearch20201214.client import Client
    from alibabacloud_imagesearch20201214.models import UpdateImageRequest
    from alibabacloud_tea_openapi.models import Config
    from alibabacloud_tea_util.models import RuntimeOptions
    
    def updateImage() :
        config = Config()
        # 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user
        # 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
        # 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
        # 本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        config.access_key_id = os.environ['CC_AK_ENV']
        config.access_key_secret = os.environ['CC_SK_ENV']
        # 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint='imagesearch.cn-hangzhou.aliyuncs.com'
        config.endpoint = 'imagesearch.<regionId>.aliyuncs.com'
    
        # 以下為內網(VPC)訪問方式
        # 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
        # config.endpointType = 'internal'  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為'internal'
        # config.endpoint = 'imagesearch-vpc.<regionId>.aliyuncs.com' // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint='imagesearch-vpc.cn-hangzhou.aliyuncs.com'
    
        # 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId='cn-hangzhou'
        config.region_id = '<regionId>'
        config.type = 'access_key'
        client = Client(config)
    
        request = UpdateImageRequest()
        # 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
        request.instance_name = "xxxxxx"
        # 必填,商品ID 不可修改。
        request.product_id = "1"
        # 必填,圖片名稱,不可修改。
        request.pic_name = "1"
        # 選填,整數類型屬性,可用於查詢時過濾,查詢時會返回該欄位。
        request.int_attr = "1"
        # 選填,字串類型屬性,最多支援 128個字元。可用於查詢時過濾,查詢時會返回該欄位。
        request.str_attr = "test"
        # 選填,使用者自訂的內容,最多支援4096個字元。
        request.custom_content = "這是一個測試說明"
        response = client.update_image(request)
        print(response.body.to_map())
    
    if __name__ == '__main__':
        updateImage()
  • 結果樣本

    {'Code': 0, 'RequestId': '864F581A-F2F8-1AF8-B1EA-1EFBF177E9F9', 'Success': True}

Detail介面

  • 程式碼範例

    from alibabacloud_imagesearch20201214.client import Client
    from alibabacloud_imagesearch20201214.models import DetailRequest
    from alibabacloud_tea_openapi.models import Config
    from alibabacloud_tea_util.models import RuntimeOptions
    
    def detail() :
        config = Config()
        # 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user
        # 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
        # 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
        # 本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        config.access_key_id = os.environ['CC_AK_ENV']
        config.access_key_secret = os.environ['CC_SK_ENV']
        # 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint='imagesearch.cn-hangzhou.aliyuncs.com'
        config.endpoint = 'imagesearch.<regionId>.aliyuncs.com'
    
        # 以下為內網(VPC)訪問方式
        # 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
        # config.endpointType = 'internal'  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為'internal'
        # config.endpoint = 'imagesearch-vpc.<regionId>.aliyuncs.com' // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint='imagesearch-vpc.cn-hangzhou.aliyuncs.com'
    
        # 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId='cn-hangzhou'
        config.region_id = '<regionId>'
        config.type = 'access_key'
        client = Client(config)
    
        request = DetailRequest()
        # 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
        request.instance_name = "xxxxxx"
        response = client.detail(request)
        print(response.body.to_map())
    
    if __name__ == '__main__':
        detail()
  • 結果樣本

    {
      'Instance': {
        'Capacity': 10,
        'Name': 'xxxxx',
        'Qps': 1,
        'Region': 'cn-shanghai',
        'ServiceType': 0,
        'TotalCount': 99999,
        'UtcCreate': 1620382716000,
        'UtcExpireTime': 1623081600000
      },
      'RequestId': '1BEEACA0-A4C9-1B83-93A6-3005BB769B4E',
      'Success': True
    }

DumpMeta介面

  • 程式碼範例

    from alibabacloud_imagesearch20201214.client import Client
    from alibabacloud_imagesearch20201214.models import DumpMetaRequest
    from alibabacloud_tea_openapi.models import Config
    from alibabacloud_tea_util.models import RuntimeOptions
    
    def dumpMeta() :
        config = Config()
        # 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user
        # 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
        # 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
        # 本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        config.access_key_id = os.environ['CC_AK_ENV']
        config.access_key_secret = os.environ['CC_SK_ENV']
        # 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint='imagesearch.cn-hangzhou.aliyuncs.com'
        config.endpoint = 'imagesearch.<regionId>.aliyuncs.com'
    
        # 以下為內網(VPC)訪問方式
        # 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
        # config.endpointType = 'internal'  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為'internal'
        # config.endpoint = 'imagesearch-vpc.<regionId>.aliyuncs.com' // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint='imagesearch-vpc.cn-hangzhou.aliyuncs.com'
    
        # 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId='cn-hangzhou'
        config.region_id = '<regionId>'
        config.type = 'access_key'
        client = Client(config)
    
        request = DumpMetaRequest()
        # 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
        request.instance_name = "xxxxxx"
        response = client.dump_meta(request)
        print(response.body.to_map())
    
    if __name__ == '__main__':
        dumpMeta()
  • 結果樣本

    {
      'Data': {
        'DumpMetaStatus': 'PROCESSING',
        'Id': 570
      },
      'RequestId': '5F70A624-D90D-1CDE-9549-542D97B68329',
      'Success': True
    }

DumpMetaList介面

  • 程式碼範例

    from alibabacloud_imagesearch20201214.client import Client
    from alibabacloud_imagesearch20201214.models import DumpMetaListRequest
    from alibabacloud_tea_openapi.models import Config
    from alibabacloud_tea_util.models import RuntimeOptions
    
    def dumpMetaList() :
        config = Config()
        # 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user
        # 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
        # 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
        # 本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        config.access_key_id = os.environ['CC_AK_ENV']
        config.access_key_secret = os.environ['CC_SK_ENV']
        # 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint='imagesearch.cn-hangzhou.aliyuncs.com'
        config.endpoint = 'imagesearch.<regionId>.aliyuncs.com'
    
        # 以下為內網(VPC)訪問方式
        # 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
        # config.endpointType = 'internal'  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為'internal'
        # config.endpoint = 'imagesearch-vpc.<regionId>.aliyuncs.com' // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint='imagesearch-vpc.cn-hangzhou.aliyuncs.com'
    
        # 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId='cn-hangzhou'
        config.region_id = '<regionId>'
        config.type = 'access_key'
        client = Client(config)
    
        request = DumpMetaListRequest()
        # 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
        request.instance_name = "xxxxxx"
        # 選填,中繼資料匯出任務id 。
        request.id = 567
        # 選填,返回結果起始位置,預設1 。
        request.page_number = 1
        # 選填,返回結果數量,預設20 。
        request.page_size = 1
        response = client.dump_meta_list(request)
        print(response.body.to_map())
    
    if __name__ == '__main__':
        dumpMetaList()
  • 結果樣本

    {
      'Data': {
        'DumpMetaList': [
          {
            'Code': '0',
            'Id': 567,
            'MetaUrl': 'https://xxx/xx/xx',
            'Msg': 'success',
            'Status': 'SUCCESS',
            'UtcCreate': 1639969113000,
            'UtcModified': 1639969140000
          }
        ],
        'PageNumber': 1,
        'PageSize': 1,
        'TotalCount': 1
      },
      'RequestId': '8B2B472B-72EC-1BE5-98F2-780BCBE67F82'
    }

BatchTask介面

  • 程式碼範例

    from alibabacloud_imagesearch20201214.client import Client
    from alibabacloud_imagesearch20201214.models import IncreaseInstanceRequest
    from alibabacloud_tea_openapi.models import Config
    from alibabacloud_tea_util.models import RuntimeOptions
    
    def batchTask() :
        config = Config()
        # 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user
        # 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
        # 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
        # 本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        config.access_key_id = os.environ['CC_AK_ENV']
        config.access_key_secret = os.environ['CC_SK_ENV']
        # 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint='imagesearch.cn-hangzhou.aliyuncs.com'
        config.endpoint = 'imagesearch.<regionId>.aliyuncs.com'
    
        # 以下為內網(VPC)訪問方式
        # 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
        # config.endpointType = 'internal'  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為'internal'
        # config.endpoint = 'imagesearch-vpc.<regionId>.aliyuncs.com' // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint='imagesearch-vpc.cn-hangzhou.aliyuncs.com'
    
        # 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId='cn-hangzhou'
        config.region_id = '<regionId>'
        config.type = 'access_key'
        client = Client(config)
    
        request = IncreaseInstanceRequest()
        # 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
        request.instance_name = "xxxxxx"
        # 必填,oss 中 bucket名稱。
        request.bucket_name = "bucketName"
        # 必填,路徑,必須 / 開頭, 非 / 結尾。
        # 此路徑下需要提前準備好 increment.meta 檔案,可參考,使用者指南下的大量操作文檔。
        request.path = "/public/xxx"
        # 選填,請求成功回調地址,http(s):// 。
        request.callback_address = "http://xxx/xxx"
        response = client.increase_instance(request)
        print(response.body.to_map())
    
    if __name__ == '__main__':
        batchTask()
  • 結果樣本

    {
      'Data': {
        'Id': 472,
        'IncrementStatus': 'PROCESSING'
      },
      'RequestId': '5D4391D4-54EA-14CD-B616-F23BDE4ECAA3',
      'Success': True
    }

BatchTaskList介面

  • 程式碼範例

    from alibabacloud_imagesearch20201214.client import Client
    from alibabacloud_imagesearch20201214.models import IncreaseListRequest
    from alibabacloud_tea_openapi.models import Config
    from alibabacloud_tea_util.models import RuntimeOptions
    
    def batchTaskList() :
        config = Config()
        # 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user
        # 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
        # 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
        # 本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        config.access_key_id = os.environ['CC_AK_ENV']
        config.access_key_secret = os.environ['CC_SK_ENV']
        # 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint='imagesearch.cn-hangzhou.aliyuncs.com'
        config.endpoint = 'imagesearch.<regionId>.aliyuncs.com'
    
        # 以下為內網(VPC)訪問方式
        # 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
        # config.endpointType = 'internal'  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為'internal'
        # config.endpoint = 'imagesearch-vpc.<regionId>.aliyuncs.com' // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint='imagesearch-vpc.cn-hangzhou.aliyuncs.com'
    
        # 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId='cn-hangzhou'
        config.region_id = '<regionId>'
        config.type = 'access_key'
        client = Client(config)
    
        request = IncreaseListRequest()
        # 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
        request.instance_name = "xxxxxx"
        # 選填,任務id。
        request.id = 567
        # 選填,查詢oss 的 BucketName。
        request.bucket_name = "BucketName"
        # 選填,查詢oss 的 path 路徑。
        request.path = "/localization/xxxx"
        # 選填,返回結果起始位置,預設1。
        request.page_number = 1
        # 選填,返回結果數量,預設20。
        request.page_size = 1
        response = client.increase_list(request)
        print(response.body.to_map())
    
    if __name__ == '__main__':
        batchTaskList()
  • 結果樣本

    {
      'Data': {
        'Increments': {
          'Instance': [
            {
              'BucketName': 'xxxxx',
              'Code': '0',
              'ErrorUrl': 'https://ccx/xx/',
              'Id': 567,
              'Msg': 'success',
              'Path': '/public/xx',
              'Status': 'NORMAL',
              'UtcCreate': 1639107872000,
              'UtcModified': 1639125540000
            }
          ]
        },
        'PageNumber': 1,
        'PageSize': 1,
        'TotalCount': 1
      },
      'RequestId': 'C02F0C44-E61F-1E96-870C-CBE19E137ADF'
    }