Python SDK

本文介绍图像搜索服务Python SDK的使用方法及示例。

说明

如需了解更多产品详情和获取技术支持,请单击在线咨询或通过钉钉群(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()
        # 必填,图像搜索实例名称。注意是实例名称不是实例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://help.aliyun.com/document_detail/116401.htm
        # 阿里云账号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或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
        # config.endpointType = 'internal'  // 如果是内网访问图像搜索服务,则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()
        # 必填,图像搜索实例名称。注意是实例名称不是实例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://help.aliyun.com/document_detail/116401.htm
        # 阿里云账号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或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
        # config.endpointType = 'internal'  // 如果是内网访问图像搜索服务,则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()
        # 必填,图像搜索实例名称。注意是实例名称不是实例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://help.aliyun.com/document_detail/116401.htm
        # 阿里云账号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或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
        # config.endpointType = 'internal'  // 如果是内网访问图像搜索服务,则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()
        # 必填,图像搜索实例名称。注意是实例名称不是实例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或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
        # config.endpointType = 'internal'  // 如果是内网访问图像搜索服务,则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://help.aliyun.com/document_detail/116401.htm
        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://help.aliyun.com/document_detail/116401.htm
        # 阿里云账号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或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
        # config.endpointType = 'internal'  // 如果是内网访问图像搜索服务,则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()
        # 必填,图像搜索实例名称。注意是实例名称不是实例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://help.aliyun.com/document_detail/116401.htm
        # 阿里云账号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或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
        # config.endpointType = 'internal'  // 如果是内网访问图像搜索服务,则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()
        # 必填,图像搜索实例名称。注意是实例名称不是实例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://help.aliyun.com/document_detail/116401.htm
        # 阿里云账号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或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
        # config.endpointType = 'internal'  // 如果是内网访问图像搜索服务,则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()
        # 必填,图像搜索实例名称。注意是实例名称不是实例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://help.aliyun.com/document_detail/116401.htm
        # 阿里云账号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或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
        # config.endpointType = 'internal'  // 如果是内网访问图像搜索服务,则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()
        # 必填,图像搜索实例名称。注意是实例名称不是实例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://help.aliyun.com/document_detail/116401.htm
        # 阿里云账号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或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
        # config.endpointType = 'internal'  // 如果是内网访问图像搜索服务,则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()
        # 必填,图像搜索实例名称。注意是实例名称不是实例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://help.aliyun.com/document_detail/116401.htm
        # 阿里云账号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或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
        # config.endpointType = 'internal'  // 如果是内网访问图像搜索服务,则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()
        # 必填,图像搜索实例名称。注意是实例名称不是实例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'
    }