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

接口列表

接口名称

接口说明

Add

增加图片。

SearchImageByPic

使用图片进行搜索。

SearchImageByName

指定名称,使用已入库的图片进行搜索。

Delete

删除图片。

UpdateImage

修改图片。

Detail

查询实例信息。

DumpMeta

元信息导出任务。

DumpMetaList

元信息导出任务列表。

BatchTask

批量任务。

BatchTaskList

批量任务列表。

准备工作

在安装和使用阿里云SDK前,确保您已经注册阿里云账号并生成访问密钥(AccessKey)。详情请参见创建AccessKey

  1. 在解决方案资源管理器面板中,右键单击您的项目,选择NuGet程序包菜单管理

  2. 在打开的NuGet管理面板中单击浏览选项卡,输入AlibabaCloud.SDK.ImageSearch20201214

  3. 单击安装

Add接口

  • 代码示例

    using AlibabaCloud.OpenApiClient.Models;
    using AlibabaCloud.SDK.ImageSearch20201214.Models;
    using AlibabaCloud.SDK.ImageSearch20201214;
    using AlibabaCloud.TeaUtil.Models;
    using System;
    using System.IO;
    namespace Test
    {
        class Add
        {
            static void Main(string[] args)
            {
                // Console.WriteLine("Hello World!");
                Config config = new Config();
                // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
                //阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
                //强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
                //本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
                IDictionary environmentVariables = Environment.GetEnvironmentVariables();
                foreach (DictionaryEntry de in environmentVariables)
                {
                    if (de.Key.Equals("CC_AK_ENV")) {
                        config.AccessKeyId = (string)de.Value;
                    }
                    if (de.Key.Equals("CC_SK_ENV"))
                    {
                        config.AccessKeySecret = (string)de.Value;
                    }
                }
                config.Endpoint = "imagesearch.cn-shanghai.aliyuncs.com";
                config.RegionId = "cn-shanghai";
                config.Type = "access_key";
    
                // 以下为内网(VPC)访问方式
                // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
                // config.EndpointType = "internal";  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
                // config.Endpoint = "imagesearch-vpc.cn-shanghai.aliyuncs.com"; // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则为"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
                
                Client client = new Client(config);
                FileStream fs = File.OpenRead("D:/111.jpg");
                AddImageAdvanceRequest request = new AddImageAdvanceRequest();
                // 必填,图片名称,最多支持 512个字符。
                 // 1. ProductId + PicName唯一确定一张图片。
               // 2. 如果多次添加图片具有相同的ProductId + PicName,以最后一次添加为准,前面添加的图片将被覆盖
                request.PicName = "xusong.jpg";
                // 必填,商品id,最多支持 512个字符。
                // 一个商品可有多张图片。
                request.ProductId = "1001";
                // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
                request.InstanceName = "XXXXXXXXXXXXXXXXXXXXXXXXX";
                // 图片内容,最多支持 4MB大小图片以及5s的传输等待时间。当前仅支持PNG、JPG、JPEG、BMP、GIF、WEBP、TIFF、PPM格式图片;
                // 对于商品、商标、通用图片搜索,图片长和宽的像素必须都大于等于100且小于等于4096;
                // 对于布料搜索,图片长和宽的像素必须都大于等于100且小于等于4096;
                // 图像中不能带有旋转信息
                request.PicContentObject = fs;
                // 选填,整数类型属性,可用于查询时过滤,查询时会返回该字段。
                //  例如不同的站点的图片/不同用户的图片,可以设置不同的IntAttr,查询时通过过滤来达到隔离的目的
                request.IntAttr = 99;
                 // 选填,字符串类型属性,最多支持 128个字符。可用于查询时过滤,查询时会返回该字段。
                request.StrAttr = "aliyun.com";
                // 选填,图片类目。
                // 1. 对于商品搜索:若设置类目,则以设置的为准;若不设置类目,将由系统进行类目预测,预测的类目结果可在Response中获取 。
                // 2. 对于布料、商标、通用搜索:不论是否设置类目,系统会将类目设置为88888888。
                request.CategoryId = 5;
                // 选填,是否需要进行主体识别,默认为true。
               // 1.为true时,由系统进行主体识别,以识别的主体进行搜索,主体识别结果可在Response中获取。
               // 2. 为false时,则不进行主体识别,以整张图进行搜索。
               // 3.对于布料图片搜索,此参数会被忽略,系统会以整张图进行搜索。
                request.Crop = true;
                // 选填,图片的主体区域,格式为 x1,x2,y1,y2, 其中 x1,y1 是左上角的点,x2,y2是右下角的点。
                // 设置的region 区域不要超过图片的边界
               // 若用户设置了Region,则不论Crop参数为何值,都将以用户输入Region进行搜索。
                // 对于布料图片搜索,此参数会被忽略,系统会以整张图进行搜索。
                request.Region = "66,333,97,356";
                RuntimeOptions runtimeObject = new RuntimeOptions();
                try
                {
                    AddImageResponse response = client.AddImageAdvance(request, runtimeObject);
                    Console.WriteLine("result:" + Newtonsoft.Json.JsonConvert.SerializeObject(response));
                }
                catch (TeaUnretryableException e)
                {
                    Console.WriteLine("InnerException结果:" + e.InnerException.Message);
                    Console.WriteLine("Data结果:" + e.Data);
                    Console.WriteLine("Message结果:" + e.Message);
                    Console.WriteLine("打印String:" + e.ToString());
                }
            }
        }
    }
  • 结果示例

    result:{"Headers":{"date":"Mon, 11 Jan 2021 06:57:16 GMT","connection":"keep-alive","access-control-allow-origin":"*","access-control-allow-methods":"POST, GET, OPTIONS","access-control-allow-headers":"X-Requested-With, X-Sequence, _aop_secret, _aop_signature","access-control-max-age":"172800","x-acs-request-id":"6D32C931-D584-4927-938A-6053AE9B630D"},"Body":{"Message":"success","RequestId":"6D32C931-D584-4927-938A-6053AE9B630D","Code":0,"PicInfo":{"Region":"112,440,76,387","CategoryId":88888888},"Success":true}}

SearchImageByPic接口

  • 代码示例

    using AlibabaCloud.OpenApiClient.Models;
    using AlibabaCloud.SDK.ImageSearch20201214.Models;
    using AlibabaCloud.SDK.ImageSearch20201214;
    using AlibabaCloud.TeaUtil.Models;
    using System;
    using System.IO;
    namespace Test
    {
        class SearchImageByPic
        {
            static void Main(string[] args)
            {
                Config config = new Config();
                // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
                //阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
                //强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
                //本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
                IDictionary environmentVariables = Environment.GetEnvironmentVariables();
                foreach (DictionaryEntry de in environmentVariables)
                {
                    if (de.Key.Equals("CC_AK_ENV")) {
                        config.AccessKeyId = (string)de.Value;
                    }
                    if (de.Key.Equals("CC_SK_ENV"))
                    {
                        config.AccessKeySecret = (string)de.Value;
                    }
                }
                config.Endpoint = "imagesearch.cn-shanghai.aliyuncs.com";
                config.RegionId = "cn-shanghai";
                config.Type = "access_key";
    
                // 以下为内网(VPC)访问方式
                // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
                // config.EndpointType = "internal";  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
                // config.Endpoint = "imagesearch-vpc.cn-shanghai.aliyuncs.com"; // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则为"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
                
                Client client = new Client(config);
                FileStream fs = File.OpenRead("D:/123.jpg");
                SearchImageByPicAdvanceRequest request = new SearchImageByPicAdvanceRequest();
                // 选填,商品类目。
                // 1. 对于商品搜索:若设置类目,则以设置的为准;若不设置类目,将由系统进行类目预测,预测的类目结果可在Response中获取 。
                // 2. 对于布料、商标、通用搜索:不论是否设置类目,系统会将类目设置为88888888。
                request.CategoryId = 5;
                // 图片内容,最多支持 4MB大小图片以及5s的传输等待时间。当前仅支持PNG、JPG、JPEG、BMP、GIF、WEBP、TIFF、PPM格式图片;      
                // 对于商品、商标、通用图片搜索,图片长和宽的像素必须都大于等于100且小于等于4096;  
                // 对于布料搜索,图片长和宽的像素必须都大于等于448且小于等于4096;        
                // 图像中不能带有旋转信息
                request.PicContentObject = fs;
                // 选填,是否需要进行主体识别,默认为true。
                // 1.为true时,由系统进行主体识别,以识别的主体进行搜索,主体识别结果可在Response中获取。
                // 2. 为false时,则不进行主体识别,以整张图进行搜索。
                // 3.对于布料图片搜索,此参数会被忽略,系统会以整张图进行搜索。
                request.Crop = true;
                // 选填,过滤条件
                // 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=99";
                // 选填,图片的主体区域,格式为 x1,x2,y1,y2, 其中 x1,y1 是左上角的点,x2,y2是右下角的点。
                // 设置的region 区域不要超过图片的边界。
                // 若用户设置了Region,则不论Crop参数为何值,都将以用户输入Region进行搜索。
                // 3.对于布料图片搜索,此参数会被忽略,系统会以整张图进行搜索。
                request.Region = "66,333,98,356";
                // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
                request.InstanceName = "XXXXXX";
                RuntimeOptions runtimeObject = new RuntimeOptions();
                try
                {
                    SearchImageByPicResponse response = client.SearchImageByPicAdvance(request, runtimeObject);
                    String result = Newtonsoft.Json.JsonConvert.SerializeObject(response);
                    Console.WriteLine("result:" + result);
                    }
                catch (TeaUnretryableException e)
                {
                    Console.WriteLine("InnerException结果:" + e.InnerException.Message);
                    Console.WriteLine("Data结果:" + e.Data);
                    Console.WriteLine("Message结果:" + e.Message);
                    Console.WriteLine("打印String:" + e.ToString());
                }
            }
        }
    }
  • 结果示例

    result:
    {
        "RequestId":"632814A0-F34D-46FB-882D-81D74E7C3290",
        "Success":true,
        "Code":0,
        "Msg":"success",
        "Auctions":[
            {
                "CategoryId":0,
                "ProductId":"test",
                "PicName":"test.jpg",
                "CustomContent":null,
                "Score":1.0
                "SortExprValues":"7.33136443711219;0",
                "IntAttr":null,
                "StrAttr":null
            },
            {......}
            ],
        "Head":{
            "DocsReturn":4,
            "DocsFound":4,
            "SearchTime":155
        },
        "PicInfo":{
            "CategoryId":0,
            "Region":"202,596,155,637",
            "AllCategories":[{"Id":0,"Name":"Tops"},{.....}],
            "MultiRegion":[
                {"Region":"112,440,76,387"}
            ]
         }
    }

SearchImageByName接口

  • 代码示例

    using AlibabaCloud.OpenApiClient.Models;
    using AlibabaCloud.SDK.ImageSearch20201214.Models;
    using AlibabaCloud.SDK.ImageSearch20201214;
    using AlibabaCloud.TeaUtil.Models;
    using System;
    using System.IO;
    namespace Test
    {
        class SearchImageByName
        {
            static void Main(string[] args)
            {
                Config config = new Config();
                // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
                //阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
                //强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
                //本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
                IDictionary environmentVariables = Environment.GetEnvironmentVariables();
                foreach (DictionaryEntry de in environmentVariables)
                {
                    if (de.Key.Equals("CC_AK_ENV")) {
                        config.AccessKeyId = (string)de.Value;
                    }
                    if (de.Key.Equals("CC_SK_ENV"))
                    {
                        config.AccessKeySecret = (string)de.Value;
                    }
                }
                config.Endpoint = "imagesearch.cn-shanghai.aliyuncs.com";
                config.RegionId = "cn-shanghai";
                config.Type = "access_key";
    
                // 以下为内网(VPC)访问方式
                // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
                // config.EndpointType = "internal";  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
                // config.Endpoint = "imagesearch-vpc.cn-shanghai.aliyuncs.com"; // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则为"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
                Client client = new Client(config);           
                SearchImageByNameRequest request = new SearchImageByNameRequest();
                // 选填,商品类目。
                // 1. 对于商品搜索:若设置类目,则以设置的为准;若不设置类目,将由系统进行类目预测,预测的类目结果可在Response中获取 。
                // 2. 对于布料、商标、通用搜索:不论是否设置类目,系统会将类目设置为88888888。
                request.CategoryId = 5;
                // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
                request.InstanceName = "XXXXXXXXXX";
                // 必填,图片名称,最多支持 512个字符。
                // 1. ProductId + PicName唯一确定一张图片
                request.PicName = "xusong.jpg";
                // 必填,商品id,最多支持 512个字符。
                // 一个商品可有多张图片。
                request.ProductId = "1001";
                try
                {
                    SearchImageByNameResponse response = client.SearchImageByName(request);
                    String result = Newtonsoft.Json.JsonConvert.SerializeObject(response);
                    Console.WriteLine("result:" + result);
                }
                catch (TeaUnretryableException e)
                {
                    Console.WriteLine("InnerException结果:" + e.InnerException.Message);
                    Console.WriteLine("Data结果:" + e.Data);
                    Console.WriteLine("Message结果:" + e.Message);
                    Console.WriteLine("打印String:" + e.ToString());
                }
            }
        }
    }
  • 结果示例

    result:
    {
        "RequestId":"5B16E5CD-FE8A-4A4E-A90B-02A5C9F8BD81",
        "Success":true,
        "Code":0,
        "Msg":"success",
        "Auctions":[
            {
                "CategoryId":0,
                "ProductId":"test",
                "PicName":"test.jpg",
                "CustomContent":null,
                "Score":1.0
                "SortExprValues":"7.33136443711219;0",
                "IntAttr":null,
                "StrAttr":null
            },
            {....}
        ],
        "Head":{
            "DocsReturn":4,
            "DocsFound":4,
            "SearchTime":50
        },
        "PicInfo":{
            "CategoryId":0,
            "Region":null,
            "AllCategories":[
                {"Id":0,"Name":"Tops"},
                {...}
            ],
           "MultiRegion":[
                {"Region":"112,440,76,387"}
           ]
        }
    }

Delete接口

  • 代码示例

    using AlibabaCloud.OpenApiClient.Models;
    using AlibabaCloud.SDK.ImageSearch20201214.Models;
    using AlibabaCloud.SDK.ImageSearch20201214;
    using AlibabaCloud.TeaUtil.Models;
    using System;
    using System.IO;
    namespace Test
    {
        class Delete
        {
            static void Main(string[] args)
            {
                Config config = new Config();
                // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
                //阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
                //强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
                //本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
                IDictionary environmentVariables = Environment.GetEnvironmentVariables();
                foreach (DictionaryEntry de in environmentVariables)
                {
                    if (de.Key.Equals("CC_AK_ENV")) {
                        config.AccessKeyId = (string)de.Value;
                    }
                    if (de.Key.Equals("CC_SK_ENV"))
                    {
                        config.AccessKeySecret = (string)de.Value;
                    }
                }
                config.Endpoint = "imagesearch.cn-shanghai.aliyuncs.com";
                config.RegionId = "cn-shanghai";
                config.Type = "access_key";
    
                // 以下为内网(VPC)访问方式
                // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
                // config.EndpointType = "internal";  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
                // config.Endpoint = "imagesearch-vpc.cn-shanghai.aliyuncs.com"; // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则为"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
                Client client = new Client(config);
                DeleteImageRequest request = new DeleteImageRequest();
                // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
                request.InstanceName = "XXXXXXXXXXX";
                // 必填,图片名称,最多支持 512个字符。
                // 1. ProductId + PicName唯一确定一张图片。
                request.PicName = "xusong.jpg";
                //  选填,图片名称。若不指定本参数,则删除ProductId下所有图片;若指定本参数,则删除ProductId+PicName指定的图片。
                request.ProductId = "1001";
                try
                {
                    DeleteImageResponse response = client.DeleteImage(request);
                    Console.WriteLine("RequestId:" + response.Body.RequestId);
                    Console.WriteLine("Message:" + response.Body.Message);
                    Console.WriteLine("Code:" + response.Body.Code);
                }
                catch (TeaUnretryableException e)
                {
                    Console.WriteLine("InnerException结果:" + e.InnerException.Message);
                    Console.WriteLine("Data结果:" + e.Data);
                    Console.WriteLine("Message结果:" + e.Message);
                    Console.WriteLine("打印String:" + e.ToString());
                }
            }
        }
    }

  • 结果示例

    RequestId:D9BDEAE0-674C-4126-9D76-A79F0BE9E881
    Message:success
    Code:0

UpdateImage接口

  • 代码示例

    using AlibabaCloud.OpenApiClient.Models;
    using AlibabaCloud.SDK.ImageSearch20201214.Models;
    using AlibabaCloud.SDK.ImageSearch20201214;
    using AlibabaCloud.TeaUtil.Models;
    using System;
    using System.IO;
    namespace Test
    {
        class UpdateImage
        {
            static void Main(string[] args)
            {
                Config config = new Config();
                // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
                //阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
                //强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
                //本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
                IDictionary environmentVariables = Environment.GetEnvironmentVariables();
                foreach (DictionaryEntry de in environmentVariables)
                {
                    if (de.Key.Equals("CC_AK_ENV")) {
                        config.AccessKeyId = (string)de.Value;
                    }
                    if (de.Key.Equals("CC_SK_ENV"))
                    {
                        config.AccessKeySecret = (string)de.Value;
                    }
                }
                config.Endpoint = "imagesearch.cn-shanghai.aliyuncs.com";
                config.RegionId = "cn-shanghai";
                config.Type = "access_key";
    
                // 以下为内网(VPC)访问方式
                // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
                // config.EndpointType = "internal";  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
                // config.Endpoint = "imagesearch-vpc.cn-shanghai.aliyuncs.com"; // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则为"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
                Client client = new Client(config);
                UpdateImageRequest request = new UpdateImageRequest();
                // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
                request.InstanceName = "XXXXXXXXXXX";
                // 必填,商品ID 不可修改。
                request.ProductId = "1";
                // 必填,图片名称,不可修改。
                request.PicName = "1";
                // 选填,整数类型属性,可用于查询时过滤,查询时会返回该字段。
                request.IntAttr = 1;
                // 选填,字符串类型属性,最多支持 128个字符。可用于查询时过滤,查询时会返回该字段。
                request.StrAttr = "test";
                // 选填,用户自定义的内容,最多支持4096个字符。
                request.CustomContent ="这是一个测试说明";
                try
                {
                    UpdateImageResponse response = client.UpdateImage(request);
                    String result = Newtonsoft.Json.JsonConvert.SerializeObject(response.Body);
                    Console.WriteLine("result:" + result);
                }
                catch (TeaUnretryableException e)
                {
                    Console.WriteLine("InnerException结果:" + e.InnerException.Message);
                    Console.WriteLine("Data结果:" + e.Data);
                    Console.WriteLine("Message结果:" + e.Message);
                    Console.WriteLine("打印String:" + e.ToString());
                }
            }
        }
    }

  • 结果示例

    result:{"Code":0,"Message":null,"RequestId":"4F66A9C0-9D36-152A-B5DB-C0B3624D3331","Success":true}

Detail接口

  • 代码示例

    using AlibabaCloud.OpenApiClient.Models;
    using AlibabaCloud.SDK.ImageSearch20201214.Models;
    using AlibabaCloud.SDK.ImageSearch20201214;
    using AlibabaCloud.TeaUtil.Models;
    using System;
    using System.IO;
    namespace Test
    {
        class Detail
        {
            static void Main(string[] args)
            {
                Config config = new Config();
                // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
                //阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
                //强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
                //本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
                IDictionary environmentVariables = Environment.GetEnvironmentVariables();
                foreach (DictionaryEntry de in environmentVariables)
                {
                    if (de.Key.Equals("CC_AK_ENV")) {
                        config.AccessKeyId = (string)de.Value;
                    }
                    if (de.Key.Equals("CC_SK_ENV"))
                    {
                        config.AccessKeySecret = (string)de.Value;
                    }
                }
                config.Endpoint = "imagesearch.cn-shanghai.aliyuncs.com";
                config.RegionId = "cn-shanghai";
                config.Type = "access_key";
    
                // 以下为内网(VPC)访问方式
                // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
                // config.EndpointType = "internal";  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
                // config.Endpoint = "imagesearch-vpc.cn-shanghai.aliyuncs.com"; // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则为"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
                Client client = new Client(config);
                DetailRequest request = new DetailRequest();
                // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
                request.InstanceName = "XXXXXXXXXXX";
                try
                {
                    DetailResponse response = client.Detail(request);
                    String result = Newtonsoft.Json.JsonConvert.SerializeObject(response.Body);
                    Console.WriteLine("result:" + result);
                }
                catch (TeaUnretryableException e)
                {
                    Console.WriteLine("InnerException结果:" + e.InnerException.Message);
                    Console.WriteLine("Data结果:" + e.Data);
                    Console.WriteLine("Message结果:" + e.Message);
                    Console.WriteLine("打印String:" + e.ToString());
                }
            }
        }
    }

  • 结果示例

    {
      RequestId=046913C5-942A-1DD2-959F-7CECD790ADB2,
      Instance={
        UtcExpireTime=1649692800000,
        TotalCount=225320,
        UtcCreate=1633936585000,
        Capacity=250,
        Qps=5,
        ServiceType=0,
        Region=cn-shanghai,
        Name=xxxx
      },
      Success=true
    }

DumpMeta接口

  • 代码示例

    using AlibabaCloud.OpenApiClient.Models;
    using AlibabaCloud.SDK.ImageSearch20201214.Models;
    using AlibabaCloud.SDK.ImageSearch20201214;
    using AlibabaCloud.TeaUtil.Models;
    using System;
    using System.IO;
    namespace Test
    {
        class DumpMeta
        {
            static void Main(string[] args)
            {
                Config config = new Config();
                // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
                //阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
                //强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
                //本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
                IDictionary environmentVariables = Environment.GetEnvironmentVariables();
                foreach (DictionaryEntry de in environmentVariables)
                {
                    if (de.Key.Equals("CC_AK_ENV")) {
                        config.AccessKeyId = (string)de.Value;
                    }
                    if (de.Key.Equals("CC_SK_ENV"))
                    {
                        config.AccessKeySecret = (string)de.Value;
                    }
                }
                config.Endpoint = "imagesearch.cn-shanghai.aliyuncs.com";
                config.RegionId = "cn-shanghai";
                config.Type = "access_key";
    
                // 以下为内网(VPC)访问方式
                // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
                // config.EndpointType = "internal";  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
                // config.Endpoint = "imagesearch-vpc.cn-shanghai.aliyuncs.com"; // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则为"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
                Client client = new Client(config);
                DumpMetaRequest request = new DumpMetaRequest();
                // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
                request.InstanceName = "XXXXXXXXXXX";
                try
                {
                    DumpMetaResponse response = client.DumpMeta(request);
                    String result = Newtonsoft.Json.JsonConvert.SerializeObject(response.Body);
                    Console.WriteLine("result:" + result);
                }
                catch (TeaUnretryableException e)
                {
                    Console.WriteLine("InnerException结果:" + e.InnerException.Message);
                    Console.WriteLine("Data结果:" + e.Data);
                    Console.WriteLine("Message结果:" + e.Message);
                    Console.WriteLine("打印String:" + e.ToString());
                }
            }
        }
    }

  • 结果示例

    {
      RequestId=FC4191AA-1D5B-1001-9A70-18FBB2BD265B,
      Data={
        DumpMetaStatus=PROCESSING,
        Id=567
      },
      Success=true
    }

DumpMetaList接口

  • 代码示例

    using AlibabaCloud.OpenApiClient.Models;
    using AlibabaCloud.SDK.ImageSearch20201214.Models;
    using AlibabaCloud.SDK.ImageSearch20201214;
    using AlibabaCloud.TeaUtil.Models;
    using System;
    using System.IO;
    namespace Test
    {
        class DumpMetaList
        {
            static void Main(string[] args)
            {
                Config config = new Config();
                // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
                //阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
                //强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
                //本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
                IDictionary environmentVariables = Environment.GetEnvironmentVariables();
                foreach (DictionaryEntry de in environmentVariables)
                {
                    if (de.Key.Equals("CC_AK_ENV")) {
                        config.AccessKeyId = (string)de.Value;
                    }
                    if (de.Key.Equals("CC_SK_ENV"))
                    {
                        config.AccessKeySecret = (string)de.Value;
                    }
                }
                config.Endpoint = "imagesearch.cn-shanghai.aliyuncs.com";
                config.RegionId = "cn-shanghai";
                config.Type = "access_key";
    
                // 以下为内网(VPC)访问方式
                // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
                // config.EndpointType = "internal";  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
                // config.Endpoint = "imagesearch-vpc.cn-shanghai.aliyuncs.com"; // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则为"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
                Client client = new Client(config);
                DumpMetaListRequest request = new DumpMetaListRequest();
                // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
                request.InstanceName = "XXXXXXXXXXX";
                // 选填,元数据导出任务id。
                request.Id = 567;
                // 选填,返回结果起始位置,默认1。
                request.PageNumber = 1;
                // 选填,返回结果数量,默认20。
                request.PageSize = 1;
                try
                {
                    DumpMetaListResponse response = client.DumpMetaList(request);
                    String result = Newtonsoft.Json.JsonConvert.SerializeObject(response.Body);
                    Console.WriteLine("result:" + result);
                }
                catch (TeaUnretryableException e)
                {
                    Console.WriteLine("InnerException结果:" + e.InnerException.Message);
                    Console.WriteLine("Data结果:" + e.Data);
                    Console.WriteLine("Message结果:" + e.Message);
                    Console.WriteLine("打印String:" + e.ToString());
                }
            }
        }
    }

  • 结果示例

    {
      RequestId=850DFBD9-A179-12FB-B193-2D08ACEA586B,
      Data={
        TotalCount=1,
        PageSize=1,
        PageNumber=1,
        DumpMetaList=[
          {
            Status=SUCCESS,
            Msg=success,
            MetaUrl=https: //****.com/x?Expires=x,
            UtcCreate=1639969113000,
            UtcModified=1639969140000,
            Id=567,
            Code=0
          }
        ]
      }
    }

BatchTask接口

  • 代码示例

                // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
                //阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
                //强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
                //本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
                IDictionary environmentVariables = Environment.GetEnvironmentVariables();
                foreach (DictionaryEntry de in environmentVariables)
                {
                    if (de.Key.Equals("CC_AK_ENV")) {
                        config.AccessKeyId = (string)de.Value;
                    }
                    if (de.Key.Equals("CC_SK_ENV"))
                    {
                        config.AccessKeySecret = (string)de.Value;
                    }
                }
                config.Endpoint = "imagesearch.cn-shanghai.aliyuncs.com";
                config.RegionId = "cn-shanghai";
                config.Type = "access_key";
    
                // 以下为内网(VPC)访问方式
                // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
                // config.EndpointType = "internal";  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
                // config.Endpoint = "imagesearch-vpc.cn-shanghai.aliyuncs.com"; // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则为"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
                Client client = new Client(config);
                IncreaseInstanceRequest request = new IncreaseInstanceRequest();
                // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
                request.InstanceName = "XXXXXXXXXXX";
                // 必填,oss 中 bucket名称。
                request.BucketName = "bucketName";
                // 必填,路径,必须 / 开头, 非 / 结尾。
                // 此路径下需要提前准备好 increment.meta 文件,可参考,用户指南下的批量操作文档。
                request.Path = "/public/xx";
                // 选填,请求成功回调地址,http(s)://。
                request.CallbackAddress = "xxx";
                try
                {
                    IncreaseInstanceResponse response = client.IncreaseInstance(request);
                    String result = Newtonsoft.Json.JsonConvert.SerializeObject(response.Body);
                    Console.WriteLine("result:" + result);
                }
                catch (TeaUnretryableException e)
                {
                    Console.WriteLine("InnerException结果:" + e.InnerException.Message);
                    Console.WriteLine("Data结果:" + e.Data);
                    Console.WriteLine("Message结果:" + e.Message);
                    Console.WriteLine("打印String:" + e.ToString());
                }
            }
        }
    }

  • 结果示例

    {
      RequestId=F9BAD635-3031-1EBB-BE9E-E9FCB318A28C,
      Data={
        IncrementStatus=PROCESSING,
        Id=1470
      },
      Success=true
    }

BatchTaskList接口

  • 代码示例

    using AlibabaCloud.OpenApiClient.Models;
    using AlibabaCloud.SDK.ImageSearch20201214.Models;
    using AlibabaCloud.SDK.ImageSearch20201214;
    using AlibabaCloud.TeaUtil.Models;
    using System;
    using System.IO;
    namespace Test
    {
        class BatchTaskList
        {
            static void Main(string[] args)
            {
                Config config = new Config();
                // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
                //阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
                //强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
                //本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
                IDictionary environmentVariables = Environment.GetEnvironmentVariables();
                foreach (DictionaryEntry de in environmentVariables)
                {
                    if (de.Key.Equals("CC_AK_ENV")) {
                        config.AccessKeyId = (string)de.Value;
                    }
                    if (de.Key.Equals("CC_SK_ENV"))
                    {
                        config.AccessKeySecret = (string)de.Value;
                    }
                }
                config.Endpoint = "imagesearch.cn-shanghai.aliyuncs.com";
                config.RegionId = "cn-shanghai";
                config.Type = "access_key";
    
                // 以下为内网(VPC)访问方式
                // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
                // config.EndpointType = "internal";  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
                // config.Endpoint = "imagesearch-vpc.cn-shanghai.aliyuncs.com"; // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则为"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
                Client client = new Client(config);
                IncreaseListRequest request = new IncreaseListRequest();
                // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
                request.InstanceName = "XXXXXXXXXXX";
                // 选填,元数据导出任务id。
                request.Id = 567;
                // 必填,oss 中 bucket名称。
                request.BucketName = "bucketName";
                // 必填,路径,必须 / 开头, 非 / 结尾。
                request.Path = "/public/xx";
                // 选填,返回结果起始位置,默认1。
                request.PageNumber = 1;
                // 选填,返回结果数量,默认20。
                request.PageSize = 1;
                try
                {
                    IncreaseListResponse response = client.IncreaseList(request);
                    String result = Newtonsoft.Json.JsonConvert.SerializeObject(response.Body);
                    Console.WriteLine("result:" + result);
                }
                catch (TeaUnretryableException e)
                {
                    Console.WriteLine("InnerException结果:" + e.InnerException.Message);
                    Console.WriteLine("Data结果:" + e.Data);
                    Console.WriteLine("Message结果:" + e.Message);
                    Console.WriteLine("打印String:" + e.ToString());
                }
            }
        }
    }

  • 结果示例

    {
      RequestId=56E7E6CC-64AB-17CA-A7CD-1948FB953B8C,
      Data={
        TotalCount=1,
        PageSize=1,
        PageNumber=1,
        Increments={
          Instance=[
            {
              Msg=success,
              Status=NORMAL,
              Path=/xx/xx,
              BucketName=bucketName,
              UtcCreate=1639107872000,
              ErrorUrl=https: //example.com/xxx?Expires=1670661540&xxx=xx,
              UtcModified=1639125540000,
              Id=1464,
              CallbackAddress=null,
              Code=0
            }
          ]
        }
      }
    }