全部產品
Search
文件中心

Image Search:Go SDK

更新時間:Feb 05, 2024

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

說明

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

介面列表

介面名稱

介面說明

Add

增加圖片。

SearchImageByPic

使用圖片進行搜尋

SearchImageByName

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

Delete

刪除圖片。

UpdateImage

修改圖片。

Detail

查詢執行個體資訊。

DumpMeta

元資訊匯出任務。

DumpMetaList

元資訊匯出工作清單。

BatchTask

批量任務。

BatchTaskList

批量工作清單。

準備工作

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

  • 使用Govendor工具執行以下命令,安裝阿里雲Go SDK:

go get github.com/alibabacloud-go/imagesearch-20201214/v4

Add介面

  • 程式碼範例

    package main
    
    import (
        "fmt"
        "os"
        rpc "github.com/alibabacloud-go/darabonba-openapi/client"
        imagesearch "github.com/alibabacloud-go/imagesearch-20201214/v4/client"
        util "github.com/alibabacloud-go/tea-utils/service"
    )
    
    func main() {
        // 初始化 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儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則為"imagesearch.cn-hangzhou.aliyuncs.com"
            SetEndpoint("imagesearch.cn-shanghai.aliyuncs.com").
    
            // 以下為內網(VPC)訪問方式
            // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
            // SetEndpointType("internal").  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal"
            // SetEndpoint("imagesearch-vpc.cn-shanghai.aliyuncs.com"). // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則為"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
            
            // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為"cn-hangzhou"
            SetRegionId("cn-shanghai")
            // 建立用戶端
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        // 初始化 runtimeObject
        var runtimeObject = new(util.RuntimeOptions)
        b, err := os.Open("D:/123.jpg")
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.AddImageAdvanceRequest).
            // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
            SetInstanceName("XXXXXXXX").
            // 必填,圖片名稱,最多支援 512個字元。
            // 1. ProductId + PicName唯一確定一張圖片。
            // 2. 如果多次添加圖片具有相同的ProductId + PicName,以最後一次添加為準,前面添加的圖片將被覆蓋。
            SetPicName("test").
            // 必填,商品id,最多支援 512個字元。
            // 一個商品可有多張圖片。
            SetProductId("test").
            // 圖片內容,最多支援 4MB大小圖片以及5s的傳輸等待時間。當前僅支援PNG、JPG、JPEG、BMP、GIF、WEBP、TIFF、PPM格式圖片;
            // 對於商品、商標、通用圖片搜尋,圖片長和寬的像素必須都大於等於100且小於等於4096;
            // 對於布料搜尋,圖片長和寬的像素必須都大於等於448且小於等於4096;
            // 映像中不能帶有旋轉資訊
            SetPicContentObject(b).
            // 選填,圖片類目。
            // 1. 對於商品搜尋:若設定類目,則以設定的為準;若不設定類目,將由系統進行類目預測,預測的類目結果可在Response中擷取 。
            // 2. 對於布料、商標、通用搜尋:不論是否設定類目,系統會將類目設定為88888888。
            SetCategoryId(2).
            // 選填,是否需要進行主體識別,預設為true。
            // 1.為true時,由系統進行主體識別,以識別的主體進行搜尋,主體識別結果可在Response中擷取。
            // 2. 為false時,則不進行主體識別,以整張圖進行搜尋。
            // 3.對於布料圖片搜尋,此參數會被忽略,系統會以整張圖進行搜尋。
            SetCrop(true).
            // 選填,圖片的主體地區,格式為 x1,x2,y1,y2, 其中 x1,y1 是左上方的點,x2,y2是右下角的點。
            // 設定的region 地區不要超過圖片的邊界。
            // 若使用者佈建了Region,則不論Crop參數為何值,都將以使用者輸入Region進行搜尋。
            // 對於布料圖片搜尋,此參數會被忽略,系統會以整張圖進行搜尋。
            SetRegion("167,477,220,407").
            // 選填,使用者自訂的內容,最多支援 4096個字元。
            // 查詢時會返回該欄位。例如可添加圖片的描述等文本。
            SetCustomContent("this is a simple test!").
            // 選填,整數類型屬性,可用於查詢時過濾,查詢時會返回該欄位。
            //  例如不同的網站的圖片/不同使用者的圖片,可以設定不同的IntAttr,查詢時通過過濾來達到隔離的目的
            SetIntAttr(100).
            // 選填,字串類型屬性,最多支援 128個字元。可用於查詢時過濾,查詢時會返回該欄位。
            SetStrAttr("1")
            // 調用 api
        resp, err := client.AddImageAdvance(request, runtimeObject)
        if err != nil {
            fmt.Println(err.Error())
        }
        fmt.Println(resp)
    }
  • 結果樣本

    {
       "RequestId": "B48CC953-F495-496C-BC96-B96826A860F1",
       "Success": true,
       "Message": "success",
       "Code": 0,
       "PicInfo": {
          "CategoryId": 2,
          "Region": "167,477,220,407"
       }
    }

SearchImageByPic介面

  • 程式碼範例

    package main
    
    import (
        "fmt"
        "os"
        rpc "github.com/alibabacloud-go/darabonba-openapi/v2/client"
        imagesearch "github.com/alibabacloud-go/imagesearch-20201214/v4/client"
        util "github.com/alibabacloud-go/tea-utils/v2/service"
    )
    
    func main() {
        // 初始化 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儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則為"imagesearch.cn-hangzhou.aliyuncs.com"
            SetEndpoint("imagesearch.cn-shanghai.aliyuncs.com").
    
            // 以下為內網(VPC)訪問方式
            // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
            // SetEndpointType("internal").  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal"
            // SetEndpoint("imagesearch-vpc.cn-shanghai.aliyuncs.com"). // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則為"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
            
            // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為"cn-hangzhou"
            SetRegionId("cn-shanghai")
            // 建立用戶端
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        // 初始化 runtimeObject
        var runtimeObject = new(util.RuntimeOptions)
        b, err := os.Open("D:/123.jpg")
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.SearchImageByPicAdvanceRequest).
            // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
            SetInstanceName("xxxxxxxxxx").
            // 圖片內容,最多支援 4MB大小圖片以及5s的傳輸等待時間。當前僅支援PNG、JPG、JPEG、BMP、GIF、WEBP、TIFF、PPM格式圖片;
            // 對於商品、商標、通用圖片搜尋,圖片長和寬的像素必須都大於等於100且小於等於4096;
            // 對於布料搜尋,圖片長和寬的像素必須都大於等於448且小於等於4096;
            // 映像中不能帶有旋轉資訊
            SetPicContentObject(b).
            // 選填,商品類目。
            // 1. 對於商品搜尋:若設定類目,則以設定的為準;若不設定類目,將由系統進行類目預測,預測的類目結果可在Response中擷取 。
            // 2. 對於布料、商標、通用搜尋:不論是否設定類目,系統會將類目設定為88888888。
            SetCategoryId(2).
            // 選填,返回結果的數目。取值範圍:1-100。預設值:10。
            SetNum(10).
            // 選填,返回結果的起始位置。取值範圍:0-499。預設值:0
            SetStart(0).
            // 選填,過濾條件
            // 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"
            SetFilter("int_attr=101 OR str_attr=\"2\"").
            // 選填,是否需要進行主體識別,預設為true。
            // 1.為true時,由系統進行主體識別,以識別的主體進行搜尋,主體識別結果可在Response中擷取。
            // 2. 為false時,則不進行主體識別,以整張圖進行搜尋。
            // 3.對於布料圖片搜尋,此參數會被忽略,系統會以整張圖進行搜尋。
            SetCrop(true).
            // 選填,圖片的主體地區,格式為 x1,x2,y1,y2, 其中 x1,y1 是左上方的點,x2,y2是右下角的點。
            // 設定的region 地區不要超過圖片的邊界
            // 若使用者佈建了Region,則不論Crop參數為何值,都將以使用者輸入Region進行搜尋。
            // 3.對於布料圖片搜尋,此參數會被忽略,系統會以整張圖進行搜尋。
            SetRegion("167,476,220,407")
            // 調用 api
        resp, err := client.SearchImageByPicAdvance(request, runtimeObject)
        if err != nil {
            fmt.Println(err.Error())
        }
        fmt.Println(resp)
    }
  • 結果樣本

    {
       "RequestId": "F468F52E-963A-452B-88E7-1C43F92C9D81",
       "Success": true,
       "Code": 0,
       "Msg": "success",
       "Auctions": [
          {
             "CategoryId": 2,
             "ProductId": "php",
             "PicName": "test",
             "CustomContent": "this is a simple test!",
             "SortExprValues": "292.509948730469;16",
             "IntAttr": 100,
             "StrAttr": "1",
             "Score": 1
          }
       ],
       "Head": {
          "DocsReturn": 1,
          "DocsFound": 1,
          "SearchTime": 121
       },
       "PicInfo": {
          "CategoryId": 2,
          "Region": "167,476,220,407",
          "AllCategories": [
             {
                "Id": 0,
                "Name": "Tops"
             },
             .......
             {
                "Id": 88888888,
                "Name": "Other"
             }
          ],
          "MultiRegion": [
                {
                   "Region": "112,440,76,387"
                }
          ],
       }
    }

SearchImageByName介面

  • package main
    
    import (
        "fmt"
        "os"
        rpc "github.com/alibabacloud-go/darabonba-openapi/v2/client"
        imagesearch "github.com/alibabacloud-go/imagesearch-20201214/v4/client"
        util "github.com/alibabacloud-go/tea-utils/v2/service"
    )
    
    func main() {
        // 初始化 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儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則為"imagesearch.cn-hangzhou.aliyuncs.com"
            SetEndpoint("imagesearch.cn-shanghai.aliyuncs.com").
    
            // 以下為內網(VPC)訪問方式
            // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
            // SetEndpointType("internal").  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal"
            // SetEndpoint("imagesearch-vpc.cn-shanghai.aliyuncs.com"). // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則為"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
            
            // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為"cn-hangzhou"
            SetRegionId("cn-shanghai")
            // 建立用戶端
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.SearchImageByNameRequest).
            // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
            SetInstanceName("XXXXXXXXXXX").
            // 必填,圖片名稱,最多支援 512個字元。
            // 1. ProductId + PicName唯一確定一張圖片。
            SetPicName("test").
            // 必填,商品id,最多支援 512個字元。
            // 一個商品可有多張圖片。
            SetProductId("php").
            // 選填,商品類目。
            // 1. 對於商品搜尋:若設定類目,則以設定的為準;若不設定類目,將由系統進行類目預測,預測的類目結果可在Response中擷取 。
            // 2. 對於布料、商標、通用搜尋:不論是否設定類目,系統會將類目設定為88888888。
            SetCategoryId(2).
            // 選填,返回結果的數目。取值範圍:1-100。預設值:10。
            SetNum(10).
            // 選填,返回結果的起始位置。取值範圍:0-499。預設值:0。
            SetStart(0).
            // 選填,過濾條件
            // 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"
            SetFilter("str_attr=\"1\"") //設定字串過濾條件
            // 調用 api
        resp, err := client.SearchImageByName(request)
        if err != nil {
            fmt.Println(err.Error())
        }
        fmt.Println(resp)
    }
  • 結果樣本

    {
       "RequestId": "9011A4A3-7642-44C5-AA33-6E38BA2EA3F1",
       "Success": true,
       "Code": 0,
       "Msg": "success",
       "Auctions": [
          {
             "CategoryId": 2,
             "ProductId": "php",
             "PicName": "test",
             "CustomContent": "this is a simple test!",
             "SortExprValues": "7.33136443711219e+24;0",
             "IntAttr": 100,
             "StrAttr": "1",
             "Score": 1
          }
       ],
       "Head": {
          "DocsReturn": 1,
          "DocsFound": 1,
          "SearchTime": 12
       },
       "PicInfo": {
          "CategoryId": 2,
          "Region": null,
          "AllCategories": [
             {
                "Id": 0,
                "Name": "Tops"
             },
            .......
             {
                "Id": 88888888,
                "Name": "Other"
             }
          ],
          "MultiRegion": [
                {
                   "Region": "112,440,76,387"
                }
           ],
          "Region": "383,681,291,549"
       }
    }

Delete介面

  • 程式碼範例

    package main
    
    import (
        "fmt"
        "os"
        rpc "github.com/alibabacloud-go/darabonba-openapi/v2/client"
        imagesearch "github.com/alibabacloud-go/imagesearch-20201214/v4/client"
        util "github.com/alibabacloud-go/tea-utils/v2/service"
    )
    
    func main() {
        // 初始化 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儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則為"imagesearch.cn-hangzhou.aliyuncs.com"
            SetEndpoint("imagesearch.cn-shanghai.aliyuncs.com").
    
            // 以下為內網(VPC)訪問方式
            // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
            // SetEndpointType("internal").  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal"
            // SetEndpoint("imagesearch-vpc.cn-shanghai.aliyuncs.com"). // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則為"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
            
            // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為"cn-hangzhou"
            SetRegionId("cn-shanghai")
            // 建立用戶端
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.DeleteImageRequest).
            // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
            SetInstanceName("XXXXXXXX").
            // 必填,圖片名稱,最多支援 512個字元。
            // 1. ProductId + PicName唯一確定一張圖片。
            SetPicName("test").
            //  選填,圖片名稱。若不指定本參數,則刪除ProductId下所有圖片;若指定本參數,則刪除ProductId+PicName指定的圖片。
            SetProductId("php")
            // 調用 api
        resp, err := client.DeleteImage(request)
        if err != nil {
            fmt.Println(err.Error())
        }
        fmt.Println(resp)
    }
  • 結果樣本

    {
       "RequestId": "C9432066-8918-447F-858B-B4B11E2A6941",
       "Success": true,
       "Message": "success",
       "Code": 0
    }

UpdateImage介面

  • 程式碼範例

    package main
    
    import (
        "fmt"
        "os"
        rpc "github.com/alibabacloud-go/darabonba-openapi/v2/client"
        imagesearch "github.com/alibabacloud-go/imagesearch-20201214/v4/client"
        util "github.com/alibabacloud-go/tea-utils/v2/service"
    )
    
    func main() {
        // 初始化 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儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則為"imagesearch.cn-hangzhou.aliyuncs.com"
            SetEndpoint("imagesearch.cn-shanghai.aliyuncs.com").
    
            // 以下為內網(VPC)訪問方式
            // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
            // SetEndpointType("internal").  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal"
            // SetEndpoint("imagesearch-vpc.cn-shanghai.aliyuncs.com"). // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則為"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
            
            // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為"cn-hangzhou"
            SetRegionId("cn-shanghai")
            // 建立用戶端
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.UpdateImageRequest).
            // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
            SetInstanceName("XXXXXXXX").
            // 必填,圖片名稱不可修改。
            SetPicName("test").
            // 必填,商品ID 不可修改。
            SetProductId("php").
            // 選填,整數類型屬性,可用於查詢時過濾,查詢時會返回改欄位。
            SetIntAttr(100).
            // 選填,字串類型屬性,最多支援 128個字元。可用於查詢時過濾,查詢時會返回該欄位。
            SetStrAttr("xxxx").        
            // 選填,使用者自訂的內容,最多支援4096個字元。
            SetCustomContent("xxx")
            // 調用api
        resp, err := client.UpdateImage(request)
        if err != nil {
            fmt.Println(err.Error())
        }
        fmt.Println(resp.Body)
    }
  • 結果樣本

    {
       "Code": 0,
       "RequestId": "63AB5A70-D314-13F9-AB28-0A7F03C7FC85",
       "Success": true
    }
                        

Detail介面

  • 程式碼範例

    package main
    
    import (
        "fmt"
        "os"
        rpc "github.com/alibabacloud-go/darabonba-openapi/v2/client"
        imagesearch "github.com/alibabacloud-go/imagesearch-20201214/v4/client"
        util "github.com/alibabacloud-go/tea-utils/v2/service"
    )
    
    func main() {
        // 初始化 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儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則為"imagesearch.cn-hangzhou.aliyuncs.com"
            SetEndpoint("imagesearch.cn-shanghai.aliyuncs.com").
    
            // 以下為內網(VPC)訪問方式
            // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
            // SetEndpointType("internal").  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal"
            // SetEndpoint("imagesearch-vpc.cn-shanghai.aliyuncs.com"). // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則為"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
            
            // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為"cn-hangzhou"
            SetRegionId("cn-shanghai")
            // 建立用戶端。
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.DetailRequest).
            // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
            SetInstanceName("XXXXXXXX")
            // 調用 api。
        resp, err := client.Detail(request)
        if err != nil {
            fmt.Println(err.Error())
        }
        fmt.Println(resp.Body)
    }
  • 結果樣本

    {
       "Instance": {
          "Capacity": 10,
          "Name": "xxxxx",
          "Qps": 1,
          "Region": "cn-shanghai",
          "ServiceType": 0,
          "TotalCount": 99999,
          "UtcCreate": "1620382716000",
          "UtcExpireTime": "1623081600000"
       },
       "RequestId": "13993EC0-C212-1BDC-8337-8D343A5510E6",
       "Success": true
    }
                        

DumpMeta介面

  • 程式碼範例

    package main
    
    import (
        "fmt"
        "os"
        rpc "github.com/alibabacloud-go/darabonba-openapi/v2/client"
        imagesearch "github.com/alibabacloud-go/imagesearch-20201214/v4/client"
        util "github.com/alibabacloud-go/tea-utils/v2/service"
    )
    
    func main() {
        // 初始化 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儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則為"imagesearch.cn-hangzhou.aliyuncs.com"
            SetEndpoint("imagesearch.cn-shanghai.aliyuncs.com").
    
            // 以下為內網(VPC)訪問方式
            // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
            // SetEndpointType("internal").  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal"
            // SetEndpoint("imagesearch-vpc.cn-shanghai.aliyuncs.com"). // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則為"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
            
            // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為"cn-hangzhou"
            SetRegionId("cn-shanghai")
            // 建立用戶端
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.DumpMetaRequest).
            // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
            SetInstanceName("XXXXXXXX")
            // 調用 api。
        resp, err := client.DumpMeta(request)
        if err != nil {
            fmt.Println(err.Error())
        }
        fmt.Println(resp.Body)
    }
  • 結果樣本

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

DumpMetaList介面

  • 程式碼範例

    package main
    
    import (
        "fmt"
        "os"
        rpc "github.com/alibabacloud-go/darabonba-openapi/v2/client"
        imagesearch "github.com/alibabacloud-go/imagesearch-20201214/v4/client"
        util "github.com/alibabacloud-go/tea-utils/v2/service"
    )
    
    func main() {
        // 初始化 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儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則為"imagesearch.cn-hangzhou.aliyuncs.com"
            SetEndpoint("imagesearch.cn-shanghai.aliyuncs.com").
    
            // 以下為內網(VPC)訪問方式
            // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
            // SetEndpointType("internal").  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal"
            // SetEndpoint("imagesearch-vpc.cn-shanghai.aliyuncs.com"). // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則為"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
            
            // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為"cn-hangzhou"
            SetRegionId("cn-shanghai")
            // 建立用戶端
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.DumpMetaListRequest).
            // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
            SetInstanceName("XXXXXXXX").
            // 選填,任務id。
            SetId(1464).
            // 選填,返回結果起始位置,預設1。
            SetPageNumber(1).
            // 選填,返回結果數量,預設20。
            SetPageSize(1)
            // 調用api。
        resp, err := client.DumpMetaList(request)
        if err != nil {
            fmt.Println(err.Error())
        }
        fmt.Println(resp.Body)
    }
  • 結果樣本

    {
      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介面

  • 程式碼範例

    package main
    
    import (
        "fmt"
        "os"
        rpc "github.com/alibabacloud-go/darabonba-openapi/v2/client"
        imagesearch "github.com/alibabacloud-go/imagesearch-20201214/v4/client"
        util "github.com/alibabacloud-go/tea-utils/v2/service"
    )
    
    func main() {
        // 初始化 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儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則為"imagesearch.cn-hangzhou.aliyuncs.com"
            SetEndpoint("imagesearch.cn-shanghai.aliyuncs.com").
    
            // 以下為內網(VPC)訪問方式
            // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
            // SetEndpointType("internal").  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal"
            // SetEndpoint("imagesearch-vpc.cn-shanghai.aliyuncs.com"). // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則為"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
            
            // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為"cn-hangzhou"
            SetRegionId("cn-shanghai")
            // 建立用戶端
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.IncreaseInstanceRequest).
            // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
            SetInstanceName("XXXXXXXX").
            // 必填,oss 中 bucket名稱。
            SetBucketName("bucketName").
            // 必填,路徑,必須 / 開頭, 非 / 結尾。
            // 此路徑下需要提前準備好 increment.meta 檔案,可參考,使用者指南下的大量操作文檔。
            SetPath("/public/xxx").
            // 選填,請求成功回調地址,http(s)://。
            SetCallbackAddress("http://xxx/xxx")
            // 調用 api。
        resp, err := client.IncreaseInstance(request)
        if err != nil {
            fmt.Println(err.Error())
        }
        fmt.Println(resp.Body)
    }
  • 結果樣本

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

BatchTaskList介面

  • 程式碼範例

    package main
    
    import (
        "fmt"
        "os"
        rpc "github.com/alibabacloud-go/darabonba-openapi/v2/client"
        imagesearch "github.com/alibabacloud-go/imagesearch-20201214/v4/client"
        util "github.com/alibabacloud-go/tea-utils/v2/service"
    )
    
    func main() {
        // 初始化 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儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則為"imagesearch.cn-hangzhou.aliyuncs.com"
            SetEndpoint("imagesearch.cn-shanghai.aliyuncs.com").
    
            // 以下為內網(VPC)訪問方式
            // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。
            // SetEndpointType("internal").  // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal"
            // SetEndpoint("imagesearch-vpc.cn-shanghai.aliyuncs.com"). // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則為"imagesearch-vpc.cn-hangzhou.aliyuncs.com"
            
            // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為"cn-hangzhou"
            SetRegionId("cn-shanghai")
            // 建立用戶端
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.IncreaseListRequest).
            // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過 上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview
            SetInstanceName("XXXXXXXX").
            // 選填,批量任務id。
            SetId(1470).
            // 選填,查詢oss 的 BucketName。
            SetBucketName("bucketName").
            // 選填,查詢oss 的 path 路徑。
            SetPath("xx").
            // 選填,返回結果起始位置,預設1。
            SetPageNumber(1).
            // 選填,返回結果數量,預設20。
            SetPageSize(1)
            // 調用 api。
        resp, err := client.DumpMetaList(request)
        if err != nil {
            fmt.Println(err.Error())
        }
        fmt.Println(resp.Body)
    }
  • 結果樣本

    {
       "Data": {
          "Increments": {
             "Instance": [
                {
                   "BucketName": "xxxx",
                   "Code": "0",
                   "ErrorUrl": "https://xxTqoxxres=16706x\u0xM%3D",
                   "Id": 1470,
                   "Msg": "success",
                   "Path": "/x/x",
                   "Status": "NORMAL",
                   "UtcCreate": "1639107872000",
                   "UtcModified": 1639125540000
                }
             ]
          },
          "PageNumber": 1,
          "PageSize": 1,
          "TotalCount": 1
       },
       "RequestId": "75D08E30-0161-158F-806A-A6C4C2CE04FC"
    }