すべてのプロダクト
Search
ドキュメントセンター

Image Search:Go SDK

最終更新日:Jan 20, 2026

この Topic では、Image Search の Go SDK の使用方法について説明し、サンプルコードを提供します。

メソッド

方法

説明

Add

1つ以上のイメージを追加します。

SearchImageByPic

新しいイメージに基づいて類似のイメージを検索します。

SearchImageByName

イメージギャラリー内の既存のイメージの名前に基づいて類似のイメージを検索します。

Delete

1つ以上のイメージを削除します。

UpdateImage

イメージを更新します。

Detail

インスタンスに関する情報を照会します。

DumpMeta

メタデータをエクスポートするタスクを作成します。

DumpMetaList

メタデータをエクスポートするために使用されるタスクを照会します。

BatchTask

バッチタスクを作成します。

BatchTaskList

バッチ操作を実行するために使用されるタスクを照会します。

CompareSimilarByImage

2つのイメージ間の類似性を比較します。

事前準備

  • Alibaba Cloud SDK をインストールして使用する前に、Alibaba Cloud アカウントを作成し、そのアカウントの AccessKey ペアを取得していることを確認してください。詳細については、「AccessKey ペアの作成」をご参照ください。

  • go を使用して次のコマンドを実行し、Image Search の 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 を初期化します。
        // AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/ja/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user をご参照ください。
        // Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作を呼び出す権限を持っています。API 操作の呼び出しや日常の O&M には、RAM ユーザーの AccessKey ペアを使用することを推奨します。
        // AccessKey ID と AccessKey Secret をプロジェクトコードにハードコーディングしないことを推奨します。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが危険にさらされる可能性があります。
        // この例では、AccessKey ID と AccessKey Secret は環境変数として保存されます。ビジネス要件に応じて、設定ファイルに AccessKey ペアを保存することもできます。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 値を Image Search インスタンスが存在するリージョンのエンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。
            SetEndpoint("imagesearch.ap-southeast-1.aliyuncs.com").
    
            // 次のサンプルコードは、Virtual Private Cloud (VPC) エンドポイントを使用して Image Search API を呼び出す方法の例を示しています。
            // 注意:VPC エンドポイントを使用して Image Search API を呼び出せるのは、同じリージョンに存在する Elastic Compute Service (ECS) インスタンスまたはリソースからのみです。例えば、Image Search インスタンスがシンガポールにある場合、VPC エンドポイントを使用して Image Search API を呼び出せるのは、シンガポールに存在する ECS インスタンスまたはリソースからのみです。そうでない場合、API 操作の呼び出しは失敗します。API 呼び出しが失敗した場合は、Image Search API を呼び出す前に、ご利用の ECS インスタンスまたはリソースが Image Search インスタンスと同じリージョンにあるか確認してください。
            // SetEndpointType("internal").  // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。
            // SetEndpoint("imagesearch-vpc.ap-southeast-1.aliyuncs.com"; // Image Search API を呼び出すために使用される VPC エンドポイント。値を Image Search インスタンスが存在するリージョンの VPC エンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。
            
            // 値を Image Search インスタンスが存在するリージョンの ID に置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、regionId パラメーターを ap-southeast-1 に設定します。
            SetRegionId("ap-southeast-1")
            // クライアントを作成します。
        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 ではなくインスタンス名を入力してください。Image Search インスタンスを購入した後、Image Search コンソールのインスタンスリストページ (https://imagesearch.console.alibabacloud.com/overview) でインスタンス名を確認できます。
            SetInstanceName("XXXXXXXX").
            // 必須。イメージ名。名前の長さは最大 256 文字です。
            // イメージは ProductId と PicName パラメーターの値によって一意に識別されます。
            // 2. プロダクト ID (ProductId) とイメージ名 (PicName) が既存のイメージと同じイメージを追加すると、新しく追加されたイメージが既存のイメージを上書きします。
            SetPicName("test").
            // 必須。プロダクトの ID。ID の長さは 256 文字を超えることはできません。
            // 1 つのプロダクト ID は複数のイメージ名に対応できます。
            SetProductId("test").
            // イメージ。イメージのサイズは 4 MB を超えることはできません。転送タイムアウト期間は 5 秒です。PNG、JPG、JPEG、BMP、GIF、WebP、TIFF、PPM の画像フォーマットのみがサポートされています。
            // プロダクトおよび一般的なイメージ検索の場合、イメージの長さと幅は 100 ピクセルから 4,096 ピクセルの範囲である必要があります。
            // 布地イメージの場合、イメージの長さと幅は 448 ピクセルから 4,096 ピクセルの範囲である必要があります。
            // イメージに回転プロパティを含めることはできません。
            SetPicContentObject(b).
            // 任意。プロダクトカテゴリの ID。
            // 1. プロダクト検索:カテゴリが指定されている場合、指定されたカテゴリが優先されます。カテゴリが指定されていない場合、システムがカテゴリを予測して選択します。システムによって選択されたカテゴリは応答に含まれます。
            // 2. 布地、ブランド、および一般的なイメージ検索:カテゴリ ID が指定されているかどうかに関わらず、カテゴリ ID は 88888888 に設定されます。
            SetCategoryId(2).
            // 任意。イメージ内の主題を認識するかどうかを指定します。デフォルト値:true。
            // 1. このパラメーターを true に設定すると、システムはイメージ内の主題を認識し、認識された主題に基づいてイメージを検索します。応答には認識結果が含まれます。
            // 2. このパラメーターを false に設定すると、システムは主題認識なしでイメージ全体に基づいてイメージを検索します。
            SetCrop(true).
            // 任意。イメージの主題領域。x1,x2,y1,y2 の形式で指定します。具体的には、x1 と y1 は左上の点を、x2 と y2 は右下の点を指定します。
            // 指定された領域はイメージの境界を越えることはできません。
            // Region パラメーターを指定した場合、Crop パラメーターの値に関わらず、Region パラメーターの値に基づいて検索が実行されます。
            // 布地イメージ検索の場合、このパラメーターは効果がありません。システムはイメージ全体に基づいてイメージを検索します。
            SetRegion("167,477,220,407").
            // 任意。ユーザー定義のコンテンツ。値の長さは最大 4,096 文字です。
            // このパラメーターを指定した場合、応答にはこのパラメーターとその値が含まれます。イメージの説明などのテキストを追加できます。
            SetCustomContent("this is a simple test!").
            // 任意。INT 型の属性。この属性はイメージ検索でイメージをフィルターするために使用できます。このパラメーターを指定した場合、応答にはこのパラメーターとその値が含まれます。
            // 例えば、異なるサイトや異なるユーザーからのイメージに異なる属性を設定できます。これにより、ユーザーは属性でイメージをフィルターし、より正確な検索結果を得ることができます。
            SetIntAttr(100).
            // 任意。STRING 型の属性。値の長さは 128 文字を超えることはできません。この属性はイメージ検索でイメージをフィルターするために使用できます。このパラメーターを指定した場合、応答にはこのパラメーターとその値が含まれます。
            SetStrAttr("1")
            // メソッドを呼び出します。
        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 を初期化します。
        // AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/ja/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user をご参照ください。
        // Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作を呼び出す権限を持っています。API 操作の呼び出しや日常の O&M には、RAM ユーザーの AccessKey ペアを使用することを推奨します。
        // AccessKey ID と AccessKey Secret をプロジェクトコードにハードコーディングしないことを推奨します。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが危険にさらされる可能性があります。
        // この例では、AccessKey ID と AccessKey Secret は環境変数として保存されます。ビジネス要件に応じて、設定ファイルに AccessKey ペアを保存することもできます。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 値を Image Search インスタンスが存在するリージョンのエンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。
            SetEndpoint("imagesearch.ap-southeast-1.aliyuncs.com").
    
            // 次のサンプルコードは、VPC エンドポイントを使用して Image Search API を呼び出す方法の例を示しています。
            // 注意:VPC エンドポイントを使用して Image Search API を呼び出せるのは、同じリージョンに存在する ECS インスタンスまたはリソースからのみです。例えば、Image Search インスタンスがシンガポールにある場合、VPC エンドポイントを使用して Image Search API を呼び出せるのは、シンガポールに存在する ECS インスタンスまたはリソースからのみです。そうでない場合、API 操作の呼び出しは失敗します。API 呼び出しが失敗した場合は、Image Search API を呼び出す前に、ご利用の ECS インスタンスまたはリソースが Image Search インスタンスと同じリージョンにあるか確認してください。
            // SetEndpointType("internal").  // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。
            // SetEndpoint("imagesearch-vpc.ap-southeast-1.aliyuncs.com"; // Image Search API を呼び出すために使用される VPC エンドポイント。値を Image Search インスタンスが存在するリージョンの VPC エンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。
            
            // 値を Image Search インスタンスが存在するリージョンの ID に置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、regionId パラメーターを ap-southeast-1 に設定します。
            SetRegionId("ap-southeast-1")
            // クライアントを作成します。
        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 ではなくインスタンス名を入力してください。Image Search インスタンスを購入した後、Image Search コンソールのインスタンスリストページ (https://imagesearch.console.alibabacloud.com/overview) でインスタンス名を確認できます。
            SetInstanceName("xxxxxxxxxx").
            // イメージ。イメージのサイズは 4 MB を超えることはできません。転送タイムアウト期間は 5 秒です。PNG、JPG、JPEG、BMP、GIF、WebP、TIFF、PPM の画像フォーマットのみがサポートされています。
            // プロダクトおよび一般的なイメージ検索の場合、イメージの長さと幅は 100 ピクセルから 4,096 ピクセルの範囲である必要があります。
            // イメージに回転プロパティを含めることはできません。
            SetPicContentObject(b).
            // 任意。プロダクトカテゴリの ID。
            // 1. プロダクト検索:カテゴリが指定されている場合、指定されたカテゴリが優先されます。カテゴリが指定されていない場合、システムがカテゴリを予測して選択します。システムによって選択されたカテゴリは応答に含まれます。
            // 2. 布地、ブランド、および一般的なイメージ検索:カテゴリ ID が指定されているかどうかに関わらず、カテゴリ ID は 88888888 に設定されます。
            SetCategoryId(2).
            // 任意。返されるエントリの数。有効値:1~100。デフォルト値:10
            SetNum(10).
            // 任意。返される最初のエントリの序数。有効値:0~499。デフォルト値:0。
            SetStart(0).
            // 任意。フィルター条件。
            // int_attr は、in、not in、>、>=、<、<=、= の演算子をサポートします。str_attr は、in、not in、=、!= の演算子をサポートします。条件間の論理演算子を AND または OR に設定できます。
            // 例:
            // 1. INT 型の属性に基づいてイメージをフィルターします:int_attr>=100。
            // 2. STRING 型の属性に基づいてイメージをフィルターします:str_attr!="value1"。
            // 3. INT 型と STRING 型の属性に基づいてイメージをフィルターします:int_attr=1000 AND str_attr="value1"。
            SetFilter=("int_attr=56 AND str_attr=\"test\"").
            // 任意。類似度のしきい値。
            // 類似度スコアのしきい値を指定すると、しきい値以上の類似度スコアを持つイメージのみが返されます。しきい値の範囲は 0.00~1.00 で、小数点以下 2 桁までです。デフォルト値は 0.00 です。
            SetScoreThreshold=("0.54").
            // 任意。イメージ内の主題を認識するかどうかを指定します。デフォルト値:true。
            // 1. このパラメーターを true に設定すると、システムはイメージ内の主題を認識し、認識された主題に基づいてイメージを検索します。応答には認識結果が含まれます。
            // 2. このパラメーターを false に設定すると、システムは主題認識なしでイメージ全体に基づいてイメージを検索します。
            // 3. 布地イメージ検索の場合、このパラメーターは効果がありません。システムはイメージ全体に基づいてイメージを検索します。
            SetCrop(true).
            // 任意。イメージの主題領域。x1,x2,y1,y2 の形式で指定します。具体的には、x1 と y1 は左上の点を、x2 と y2 は右下の点を指定します。
            // 指定された領域はイメージの境界を越えることはできません。
            // Region パラメーターを指定した場合、Crop パラメーターの値に関わらず、Region パラメーターの値に基づいて検索が実行されます。
            // 3. 布地イメージ検索の場合、このパラメーターは効果がありません。システムはイメージ全体に基づいてイメージを検索します。
            SetRegion("167,476,220,407").
            // 任意。値を true に設定すると、応答データは ProductId パラメーターに基づいて返されます。
            SetDistinctProductId(true)
            // メソッドを呼び出します。
        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 を初期化します。
        // AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/ja/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user をご参照ください。
        // Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作を呼び出す権限を持っています。API 操作の呼び出しや日常の O&M には、RAM ユーザーの AccessKey ペアを使用することを推奨します。
        // AccessKey ID と AccessKey Secret をプロジェクトコードにハードコーディングしないことを推奨します。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが危険にさらされる可能性があります。
        // この例では、AccessKey ID と AccessKey Secret は環境変数として保存されます。ビジネス要件に応じて、設定ファイルに AccessKey ペアを保存することもできます。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 値を Image Search インスタンスが存在するリージョンのエンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。
            SetEndpoint("imagesearch.ap-southeast-1.aliyuncs.com").
    
            // 次のサンプルコードは、VPC エンドポイントを使用して Image Search API を呼び出す方法の例を示しています。
            // 注意:VPC エンドポイントを使用して Image Search API を呼び出せるのは、同じリージョンに存在する ECS インスタンスまたはリソースからのみです。例えば、Image Search インスタンスがシンガポールにある場合、VPC エンドポイントを使用して Image Search API を呼び出せるのは、シンガポールに存在する ECS インスタンスまたはリソースからのみです。そうでない場合、API 操作の呼び出しは失敗します。API 呼び出しが失敗した場合は、Image Search API を呼び出す前に、ご利用の ECS インスタンスまたはリソースが Image Search インスタンスと同じリージョンにあるか確認してください。
            // SetEndpointType("internal").  // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。
            // SetEndpoint("imagesearch-vpc.ap-southeast-1.aliyuncs.com"; // Image Search API を呼び出すために使用される VPC エンドポイント。値を Image Search インスタンスが存在するリージョンの VPC エンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。
            
            // 値を Image Search インスタンスが存在するリージョンの ID に置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、regionId パラメーターを ap-southeast-1 に設定します。
            SetRegionId("ap-southeast-1")
            // クライアントを作成します。
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.SearchImageByNameRequest).
            // 必須。Image Search インスタンスの名前。インスタンス ID ではなくインスタンス名を入力してください。Image Search インスタンスを購入した後、Image Search コンソールのインスタンスリストページ (https://imagesearch.console.alibabacloud.com/overview) でインスタンス名を確認できます。
            SetInstanceName("XXXXXXXXXXX").
            // 必須。イメージ名。名前の長さは最大 256 文字です。
            // イメージは ProductId と PicName パラメーターの値によって一意に識別されます。
            SetPicName("test").
            // 必須。プロダクトの ID。ID の長さは 256 文字を超えることはできません。
            // 1 つのプロダクト ID は複数のイメージ名に対応できます。
            SetProductId("php").
            // 任意。プロダクトカテゴリの ID。
            // 1. プロダクト検索:カテゴリが指定されている場合、指定されたカテゴリが優先されます。カテゴリが指定されていない場合、システムがカテゴリを予測して選択します。システムによって選択されたカテゴリは応答に含まれます。
            // 2. 一般的なイメージ検索:カテゴリ ID が指定されているかどうかに関わらず、カテゴリ ID は 88888888 に設定されます。
            SetCategoryId(2).
            // 任意。返されるエントリの数。有効値:1~100。デフォルト値:10
            SetNum(10).
            // 任意。返される最初のエントリの序数。有効値:0~499。デフォルト値:0。
            SetStart(0).
            // 任意。フィルター条件。
            // int_attr は、in、not in、>、>=、<、<=、= の演算子をサポートします。str_attr は、in、not in、=、!= の演算子をサポートします。条件間の論理演算子を AND または OR に設定できます。
            // 例:
            // 1. INT 型の属性に基づいてイメージをフィルターします:int_attr>=100。
            // 2. STRING 型の属性に基づいてイメージをフィルターします:str_attr!="value1"。
            // 3. INT 型と STRING 型の属性に基づいてイメージをフィルターします:int_attr=1000 AND str_attr="value1"。
            SetFilter=("int_attr=56 AND str_attr=\"test\"").
            // 任意。類似度のしきい値。
            // 類似度スコアのしきい値を指定すると、しきい値以上の類似度スコアを持つイメージのみが返されます。しきい値の範囲は 0.00~1.00 で、小数点以下 2 桁までです。デフォルト値は 0.00 です。
            SetScoreThreshold=("0.54").
            // メソッドを呼び出します。
        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 を初期化します。
        // AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/ja/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user をご参照ください。
        // Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作を呼び出す権限を持っています。API 操作の呼び出しや日常の O&M には、RAM ユーザーの AccessKey ペアを使用することを推奨します。
        // AccessKey ID と AccessKey Secret をプロジェクトコードにハードコーディングしないことを推奨します。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが危険にさらされる可能性があります。
        // この例では、AccessKey ID と AccessKey Secret は環境変数として保存されます。ビジネス要件に応じて、設定ファイルに AccessKey ペアを保存することもできます。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 値を Image Search インスタンスが存在するリージョンのエンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。
            SetEndpoint("imagesearch.ap-southeast-1.aliyuncs.com").
    
            // 次のサンプルコードは、VPC エンドポイントを使用して Image Search API を呼び出す方法の例を示しています。
            // 注意:VPC エンドポイントを使用して Image Search API を呼び出せるのは、同じリージョンに存在する ECS インスタンスまたはリソースからのみです。例えば、Image Search インスタンスがシンガポールにある場合、VPC エンドポイントを使用して Image Search API を呼び出せるのは、シンガポールに存在する ECS インスタンスまたはリソースからのみです。そうでない場合、API 操作の呼び出しは失敗します。API 呼び出しが失敗した場合は、Image Search API を呼び出す前に、ご利用の ECS インスタンスまたはリソースが Image Search インスタンスと同じリージョンにあるか確認してください。
            // SetEndpointType("internal").  // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。
            // SetEndpoint("imagesearch-vpc.ap-southeast-1.aliyuncs.com"; // Image Search API を呼び出すために使用される VPC エンドポイント。値を Image Search インスタンスが存在するリージョンの VPC エンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。
            
            // 値を Image Search インスタンスが存在するリージョンの ID に置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、regionId パラメーターを ap-southeast-1 に設定します。
            SetRegionId("ap-southeast-1")
            // クライアントを作成します。
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.DeleteImageRequest).
            // 必須。Image Search インスタンスの名前。インスタンス ID ではなくインスタンス名を入力してください。Image Search インスタンスを購入した後、Image Search コンソールのインスタンスリストページ (https://imagesearch.console.alibabacloud.com/overview) でインスタンス名を確認できます。
            SetInstanceName("XXXXXXXX").
            // 必須。イメージ名。名前の長さは最大 256 文字です。
            // イメージは ProductId と PicName パラメーターの値によって一意に識別されます。
            SetPicName("test").
            // 任意。イメージの名前。このパラメーターを指定しない場合、システムは指定されたプロダクト ID に関連するすべてのイメージを削除します。このパラメーターを指定した場合、システムは ProductId と PicName パラメーターで指定されたイメージのみを削除します。
            SetProductId("php").
            // 任意。値を true に設定すると、フィルターによってイメージが削除されます。
            SetIsDeleteByFilter(false).
            SetFilter("intattr3=xxx")
            // メソッドを呼び出します。
        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 を初期化します。
        // AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/ja/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user をご参照ください。
        // Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作を呼び出す権限を持っています。API 操作の呼び出しや日常の O&M には、RAM ユーザーの AccessKey ペアを使用することを推奨します。
        // AccessKey ID と AccessKey Secret をプロジェクトコードにハードコーディングしないことを推奨します。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが危険にさらされる可能性があります。
        // この例では、AccessKey ID と AccessKey Secret は環境変数として保存されます。ビジネス要件に応じて、設定ファイルに AccessKey ペアを保存することもできます。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 値を Image Search インスタンスが存在するリージョンのエンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。
            SetEndpoint("imagesearch.ap-southeast-1.aliyuncs.com").
    
            // 次のサンプルコードは、VPC エンドポイントを使用して Image Search API を呼び出す方法の例を示しています。
            // 注意:VPC エンドポイントを使用して Image Search API を呼び出せるのは、同じリージョンに存在する ECS インスタンスまたはリソースからのみです。例えば、Image Search インスタンスがシンガポールにある場合、VPC エンドポイントを使用して Image Search API を呼び出せるのは、シンガポールに存在する ECS インスタンスまたはリソースからのみです。そうでない場合、API 操作の呼び出しは失敗します。API 呼び出しが失敗した場合は、Image Search API を呼び出す前に、ご利用の ECS インスタンスまたはリソースが Image Search インスタンスと同じリージョンにあるか確認してください。
            // SetEndpointType("internal").  // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。
            // SetEndpoint("imagesearch-vpc.ap-southeast-1.aliyuncs.com"; // Image Search API を呼び出すために使用される VPC エンドポイント。値を Image Search インスタンスが存在するリージョンの VPC エンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。
            
            // 値を Image Search インスタンスが存在するリージョンの ID に置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、regionId パラメーターを ap-southeast-1 に設定します。
            SetRegionId("ap-southeast-1")
            // クライアントを作成します。
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.UpdateImageRequest).
            // 必須。Image Search インスタンスの名前。インスタンス ID ではなくインスタンス名を入力してください。Image Search インスタンスを購入した後、Image Search コンソールのインスタンスリストページ (https://imagesearch.console.alibabacloud.com/overview) でインスタンス名を確認できます。
            SetInstanceName("XXXXXXXX").
            // 必須。イメージ名。イメージ名は変更できません。
            SetPicName("test").
            // 必須。プロダクトの ID。プロダクト ID は変更できません。
            SetProductId("php").
            // 任意。INT 型の属性。この属性はイメージ検索でイメージをフィルターするために使用できます。このパラメーターを指定した場合、応答にはこのパラメーターとその値が含まれます。
            SetIntAttr(100).
            // 任意。STRING 型の属性。値の長さは 128 文字を超えることはできません。この属性はイメージ検索でイメージをフィルターするために使用できます。このパラメーターを指定した場合、応答にはこのパラメーターとその値が含まれます。
            SetStrAttr("xxxx").        
            // 任意。追加したい説明。値の長さは 4,096 文字を超えることはできません。
            SetCustomContent("xxx")
            // メソッドを呼び出します。
        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 を初期化します。
        // AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/ja/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user をご参照ください。
        // Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作を呼び出す権限を持っています。API 操作の呼び出しや日常の O&M には、RAM ユーザーの AccessKey ペアを使用することを推奨します。
        // AccessKey ID と AccessKey Secret をプロジェクトコードにハードコーディングしないことを推奨します。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが危険にさらされる可能性があります。
        // この例では、AccessKey ID と AccessKey Secret は環境変数として保存されます。ビジネス要件に応じて、設定ファイルに AccessKey ペアを保存することもできます。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 値を Image Search インスタンスが存在するリージョンのエンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。
            SetEndpoint("imagesearch.ap-southeast-1.aliyuncs.com").
    
            // 次のサンプルコードは、VPC エンドポイントを使用して Image Search API を呼び出す方法の例を示しています。
            // 注意:VPC エンドポイントを使用して Image Search API を呼び出せるのは、同じリージョンに存在する ECS インスタンスまたはリソースからのみです。例えば、Image Search インスタンスがシンガポールにある場合、VPC エンドポイントを使用して Image Search API を呼び出せるのは、シンガポールに存在する ECS インスタンスまたはリソースからのみです。そうでない場合、API 操作の呼び出しは失敗します。API 呼び出しが失敗した場合は、Image Search API を呼び出す前に、ご利用の ECS インスタンスまたはリソースが Image Search インスタンスと同じリージョンにあるか確認してください。
            // SetEndpointType("internal").  // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。
            // SetEndpoint("imagesearch-vpc.ap-southeast-1.aliyuncs.com"; // Image Search API を呼び出すために使用される VPC エンドポイント。値を Image Search インスタンスが存在するリージョンの VPC エンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。
            
            // 値を Image Search インスタンスが存在するリージョンの ID に置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、regionId パラメーターを ap-southeast-1 に設定します。
            SetRegionId("ap-southeast-1")
            // クライアントを作成します。
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.DetailRequest).
            // 必須。Image Search インスタンスの名前。インスタンス ID ではなくインスタンス名を入力してください。Image Search インスタンスを購入した後、Image Search コンソールのインスタンスリストページ (https://imagesearch.console.alibabacloud.com/overview) でインスタンス名を確認できます。
            SetInstanceName("XXXXXXXX")
            // メソッドを呼び出します。
        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 を初期化します。
        // AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/ja/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user をご参照ください。
        // Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作を呼び出す権限を持っています。API 操作の呼び出しや日常の O&M には、RAM ユーザーの AccessKey ペアを使用することを推奨します。
        // AccessKey ID と AccessKey Secret をプロジェクトコードにハードコーディングしないことを推奨します。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが危険にさらされる可能性があります。
        // この例では、AccessKey ID と AccessKey Secret は環境変数として保存されます。ビジネス要件に応じて、設定ファイルに AccessKey ペアを保存することもできます。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 値を Image Search インスタンスが存在するリージョンのエンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。
            SetEndpoint("imagesearch.ap-southeast-1.aliyuncs.com").
    
            // 次のサンプルコードは、VPC エンドポイントを使用して Image Search API を呼び出す方法の例を示しています。
            // 注意:VPC エンドポイントを使用して Image Search API を呼び出せるのは、同じリージョンに存在する ECS インスタンスまたはリソースからのみです。例えば、Image Search インスタンスがシンガポールにある場合、VPC エンドポイントを使用して Image Search API を呼び出せるのは、シンガポールに存在する ECS インスタンスまたはリソースからのみです。そうでない場合、API 操作の呼び出しは失敗します。API 呼び出しが失敗した場合は、Image Search API を呼び出す前に、ご利用の ECS インスタンスまたはリソースが Image Search インスタンスと同じリージョンにあるか確認してください。
            // SetEndpointType("internal").  // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。
            // SetEndpoint("imagesearch-vpc.ap-southeast-1.aliyuncs.com"; // Image Search API を呼び出すために使用される VPC エンドポイント。値を Image Search インスタンスが存在するリージョンの VPC エンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。
            
            // 値を Image Search インスタンスが存在するリージョンの ID に置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、regionId パラメーターを ap-southeast-1 に設定します。
            SetRegionId("ap-southeast-1")
            // クライアントを作成します。
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.DumpMetaRequest).
            // 必須。Image Search インスタンスの名前。インスタンス ID ではなくインスタンス名を入力してください。Image Search インスタンスを購入した後、Image Search コンソールのインスタンスリストページ (https://imagesearch.console.alibabacloud.com/overview) でインスタンス名を確認できます。
            SetInstanceName("XXXXXXXX")
            // メソッドを呼び出します。
        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 を初期化します。
        // AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/ja/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user をご参照ください。
        // Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作を呼び出す権限を持っています。API 操作の呼び出しや日常の O&M には、RAM ユーザーの AccessKey ペアを使用することを推奨します。
        // AccessKey ID と AccessKey Secret をプロジェクトコードにハードコーディングしないことを推奨します。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが危険にさらされる可能性があります。
        // この例では、AccessKey ID と AccessKey Secret は環境変数として保存されます。ビジネス要件に応じて、設定ファイルに AccessKey ペアを保存することもできます。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 値を Image Search インスタンスが存在するリージョンのエンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。
            SetEndpoint("imagesearch.ap-southeast-1.aliyuncs.com").
    
            // 次のサンプルコードは、VPC エンドポイントを使用して Image Search API を呼び出す方法の例を示しています。
            // 注意:VPC エンドポイントを使用して Image Search API を呼び出せるのは、同じリージョンに存在する ECS インスタンスまたはリソースからのみです。例えば、Image Search インスタンスがシンガポールにある場合、VPC エンドポイントを使用して Image Search API を呼び出せるのは、シンガポールに存在する ECS インスタンスまたはリソースからのみです。そうでない場合、API 操作の呼び出しは失敗します。API 呼び出しが失敗した場合は、Image Search API を呼び出す前に、ご利用の ECS インスタンスまたはリソースが Image Search インスタンスと同じリージョンにあるか確認してください。
            // SetEndpointType("internal").  // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。
            // SetEndpoint("imagesearch-vpc.ap-southeast-1.aliyuncs.com"; // Image Search API を呼び出すために使用される VPC エンドポイント。値を Image Search インスタンスが存在するリージョンの VPC エンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。
            
            // 値を Image Search インスタンスが存在するリージョンの ID に置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、regionId パラメーターを ap-southeast-1 に設定します。
            SetRegionId("ap-southeast-1")
            // クライアントを作成します。
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.DumpMetaListRequest).
            // 必須。Image Search インスタンスの名前。インスタンス ID ではなくインスタンス名を入力してください。Image Search インスタンスを購入した後、Image Search コンソールのインスタンスリストページ (https://imagesearch.console.alibabacloud.com/overview) でインスタンス名を確認できます。
            SetInstanceName("XXXXXXXX").
            // 任意。タスクの ID。
            SetId(1464).
            // 任意。返される最初のエントリの序数。デフォルト値:1。
            SetPageNumber(1).
            // 任意。返されるエントリの数。デフォルト値:20。
            SetPageSize(1)
            // メソッドを呼び出します。
        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 を初期化します。
        // AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/ja/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user をご参照ください。
        // Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作を呼び出す権限を持っています。API 操作の呼び出しや日常の O&M には、RAM ユーザーの AccessKey ペアを使用することを推奨します。
        // AccessKey ID と AccessKey Secret をプロジェクトコードにハードコーディングしないことを推奨します。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが危険にさらされる可能性があります。
        // この例では、AccessKey ID と AccessKey Secret は環境変数として保存されます。ビジネス要件に応じて、設定ファイルに AccessKey ペアを保存することもできます。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 値を Image Search インスタンスが存在するリージョンのエンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。
            SetEndpoint("imagesearch.ap-southeast-1.aliyuncs.com").
    
            // 次のサンプルコードは、VPC エンドポイントを使用して Image Search API を呼び出す方法の例を示しています。
            // 注意:VPC エンドポイントを使用して Image Search API を呼び出せるのは、同じリージョンに存在する ECS インスタンスまたはリソースからのみです。例えば、Image Search インスタンスがシンガポールにある場合、VPC エンドポイントを使用して Image Search API を呼び出せるのは、シンガポールに存在する ECS インスタンスまたはリソースからのみです。そうでない場合、API 操作の呼び出しは失敗します。API 呼び出しが失敗した場合は、Image Search API を呼び出す前に、ご利用の ECS インスタンスまたはリソースが Image Search インスタンスと同じリージョンにあるか確認してください。
            // SetEndpointType("internal").  // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。
            // SetEndpoint("imagesearch-vpc.ap-southeast-1.aliyuncs.com"; // Image Search API を呼び出すために使用される VPC エンドポイント。値を Image Search インスタンスが存在するリージョンの VPC エンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。
            
            // 値を Image Search インスタンスが存在するリージョンの ID に置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、regionId パラメーターを ap-southeast-1 に設定します。
            SetRegionId("ap-southeast-1")
            // クライアントを作成します。
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.IncreaseInstanceRequest).
            // 必須。Image Search インスタンスの名前。インスタンス ID ではなくインスタンス名を入力してください。Image Search インスタンスを購入した後、Image Search コンソールのインスタンスリストページ (https://imagesearch.console.alibabacloud.com/overview) でインスタンス名を確認できます。
            SetInstanceName("XXXXXXXX").
            // 必須。イメージが OSS バケットに保存されている場合は、バケット名を入力します。
            SetBucketName("bucketName").
            // 必須。イメージが保存されているパス。パスはスラッシュ (/) で始まり、スラッシュ (/) で終わることはできません。
            // イメージが保存されているパスに increment.meta という名前のファイルを作成します。詳細については、Image Search ドキュメントの「ユーザーガイド」章の「バッチ操作の実行」トピックをご参照ください。
            SetPath("/public/xxx").
            // 任意。呼び出しが成功した場合のコールバックアドレス。アドレスは文字列 http:// または https:// で始まる必要があります。
            SetCallbackAddress("http://xxx/xxx")
            // メソッドを呼び出します。
        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 を初期化します。
        // AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/ja/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user をご参照ください。
        // Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作を呼び出す権限を持っています。API 操作の呼び出しや日常の O&M には、RAM ユーザーの AccessKey ペアを使用することを推奨します。
        // AccessKey ID と AccessKey Secret をプロジェクトコードにハードコーディングしないことを推奨します。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが危険にさらされる可能性があります。
        // この例では、AccessKey ID と AccessKey Secret は環境変数として保存されます。ビジネス要件に応じて、設定ファイルに AccessKey ペアを保存することもできます。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 値を Image Search インスタンスが存在するリージョンのエンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。
            SetEndpoint("imagesearch.ap-southeast-1.aliyuncs.com").
    
            // 次のサンプルコードは、VPC エンドポイントを使用して Image Search API を呼び出す方法の例を示しています。
            // 注意:VPC エンドポイントを使用して Image Search API を呼び出せるのは、同じリージョンに存在する ECS インスタンスまたはリソースからのみです。例えば、Image Search インスタンスがシンガポールにある場合、VPC エンドポイントを使用して Image Search API を呼び出せるのは、シンガポールに存在する ECS インスタンスまたはリソースからのみです。そうでない場合、API 操作の呼び出しは失敗します。API 呼び出しが失敗した場合は、Image Search API を呼び出す前に、ご利用の ECS インスタンスまたはリソースが Image Search インスタンスと同じリージョンにあるか確認してください。
            // SetEndpointType("internal").  // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。
            // SetEndpoint("imagesearch-vpc.ap-southeast-1.aliyuncs.com"; // Image Search API を呼び出すために使用される VPC エンドポイント。値を Image Search インスタンスが存在するリージョンの VPC エンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。
            
            // 値を Image Search インスタンスが存在するリージョンの ID に置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、regionId パラメーターを ap-southeast-1 に設定します。
            SetRegionId("ap-southeast-1")
            // クライアントを作成します。
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.IncreaseList).
            // 必須。Image Search インスタンスの名前。インスタンス ID ではなくインスタンス名を入力してください。Image Search インスタンスを購入した後、https://imagesearch.console.alibabacloud.com/overview でインスタンス名を取得します。
            SetInstanceName("XXXXXXXX").
            // 任意。バッチタスクの ID。
            SetId(1470).
            // 任意。OSS バケットの名前。
            SetBucketName("bucketName").
            // 任意。OSS バケットへのパス。
            SetPath("xx").
            // 任意。返される最初のエントリの序数。デフォルト値:1。
            SetPageNumber(1).
            // 任意。返されるエントリの数。デフォルト値:20。
            SetPageSize(1)
            // メソッドを呼び出します。
        resp, err := client.IncreaseList(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"
    }
                        

CompareSimilarByImage

  • サンプルコード

    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 を初期化します。
        // AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/ja/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user の「AccessKey ペアの作成」をご参照ください。
        // Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作を呼び出す権限を持っています。API 操作の呼び出しや日常の O&M には、RAM ユーザーの AccessKey ペアを使用することを推奨します。
        // AccessKey ID と AccessKey Secret をプロジェクトコードにハードコーディングしないことを推奨します。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが危険にさらされる可能性があります。
        // この例では、AccessKey ID と AccessKey Secret は環境変数として保存されます。ビジネス要件に応じて、設定ファイルに AccessKey ペアを保存することもできます。
        var config = new(rpc.Config).SetAccessKeyId(os.Getenv("CC_AK_ENV")).
            SetAccessKeySecret(os.Getenv("CC_SK_ENV")).
            SetType("access_key").
            // 値を Image Search インスタンスが存在するリージョンのエンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。
            SetEndpoint("imagesearch.ap-southeast-1.aliyuncs.com").
    
            // 次のサンプルコードは、VPC エンドポイントを使用して Image Search API を呼び出す方法の例を示しています。
            // 注意:VPC エンドポイントを使用して Image Search API を呼び出せるのは、同じリージョンに存在する ECS インスタンスまたはリソースからのみです。例えば、Image Search インスタンスがシンガポールにある場合、VPC エンドポイントを使用して Image Search API を呼び出せるのは、シンガポールに存在する ECS インスタンスまたはリソースからのみです。そうでない場合、API 操作の呼び出しは失敗します。API 呼び出しが失敗した場合は、Image Search API を呼び出す前に、ご利用の ECS インスタンスまたはリソースが Image Search インスタンスと同じリージョンにあるか確認してください。
            // SetEndpointType("internal").  // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。
            // SetEndpoint("imagesearch-vpc.ap-southeast-1.aliyuncs.com"; // Image Search API を呼び出すために使用される VPC エンドポイント。値を Image Search インスタンスが存在するリージョンの VPC エンドポイントに置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、endpoint パラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。
            
            // 値を Image Search インスタンスが存在するリージョンの ID に置き換えてください。例えば、Image Search インスタンスがシンガポールにある場合、regionId パラメーターを ap-southeast-1 に設定します。
            SetRegionId("ap-southeast-1")
            // クライアントを作成します。
        client, err := imagesearch.NewClient(config)
        if err != nil {
            panic(err)
        }
        // runtimeObject を初期化します。
        var runtimeObject = new(util.RuntimeOptions)
        a, err := os.Open("D:/123.jpg")
        b, err := os.Open("D:/123.jpg")
        if err != nil {
            panic(err)
        }
        request := new(imagesearch.CompareSimilarByImageAdvanceRequest).
            // 必須。Image Search インスタンスの名前。インスタンス ID ではなくインスタンス名を入力してください。Image Search インスタンスを購入した後、Image Search コンソールのインスタンスリストページ (https://imagesearch.console.alibabacloud.com/overview) でインスタンス名を確認できます。
            SetInstanceName("XXXXXXXX").
            // イメージ。イメージのサイズは 4 MB を超えることはできません。転送タイムアウト期間は 5 秒です。PNG、JPG、JPEG、BMP、GIF、WebP、TIFF、PPM の画像フォーマットのみがサポートされています。
            // プロダクト、ブランド、および一般的なイメージの場合、イメージの長さと幅は 100 ピクセルから 4,096 ピクセルの範囲である必要があります。
            // 布地イメージの場合、イメージの長さと幅は 448 ピクセルから 4,096 ピクセルの範囲である必要があります。
            // イメージに回転情報を含めることはできません。イメージのファイルサイズは 2 MB を超えることはできません。転送タイムアウト期間は 5 秒を超えることはできません。JPG および PNG イメージのみがサポートされています。
            SetPrimaryPicContentObject(a).
            SetSecondaryPicContentObject(B)
    
        resp, err := client.compareSimilarByImageAdvance(request, runtimeObject)
        if err != nil {
            fmt.Println(err.Error())
        }
        fmt.Println(resp)
    }
  • 応答の例

    {
       "RequestId": "B48CC953-F495-496C-BC96-B96826A860F1",
       "Success": true,
       "Message": "success",
       "Code": 0,
       "Score": 1.0
    }