このトピックでは、Python 用 Image Search SDK の使用方法について説明し、サンプルコードを提供します。
メソッド
メソッド | 説明 |
Add | 画像を追加します。 |
SearchImageByPic | 画像に基づいて類似の画像を検索します。 |
SearchImageByName | 画像ギャラリー内の既存の画像の名前に基づいて類似の画像を検索します。 |
Delete | 1 つ以上の画像を削除します。 |
UpdateImage | 画像を更新します。 |
Detail | インスタンスに関する情報を照会します。 |
DumpMeta | メタデータをエクスポートするタスクを作成します。 |
DumpMetaList | メタデータのエクスポートに使用されるタスクのリストを照会します。 |
BatchTask | バッチタスクを作成します。 |
BatchTaskList | バッチ操作の実行に使用されるタスクのリストを照会します。 |
CompareSimilarByImage | 2 つの画像の類似度を比較します。 |
準備
Alibaba Cloud SDK をインストールして使用する前に、Alibaba Cloud アカウントを作成し、Alibaba Cloud アカウントの AccessKey ペアを取得していることを確認してください。詳細については、「AccessKey ペアを取得する」をご参照ください。
依存関係をインストールするには、次のコマンドを実行します。
pip install alibabacloud_imagesearch20201214Add
サンプルコード
from alibabacloud_imagesearch20201214.client import Client from alibabacloud_imagesearch20201214.models import AddImageAdvanceRequest from alibabacloud_tea_openapi.models import Config from alibabacloud_tea_util.models import RuntimeOptions def addImage(): request = AddImageAdvanceRequest() # 必須。Image Search インスタンスの名前。インスタンス ID ではなく、インスタンス名を入力してください。Image Search インスタンスを購入した後、https://imagesearch.console.alibabacloud.com/overview でインスタンス名を取得します。 request.instance_name = '<instanceName>' # 必須。製品の ID。ID は 256 文字以下にする必要があります。 # 1 つの製品 ID は複数の画像名に関連付けることができます。 request.product_id = '<productId>' # 必須。画像名。名前は 256 文字以下にすることができます。 # 1. 必須。画像は、ProductId パラメータと PicName パラメータの値によって一意に識別されます。 # 2. 製品 ID(ProductId)と画像名(PicName)が既存の画像と同じである画像を追加すると、新しく追加された画像が既存の画像を上書きします。 request.pic_name = '<picName>' # 画像。画像は 4 MB 以下にする必要があります。送信タイムアウト期間は 5 秒です。サポートされている画像形式は、PNG、JPG、JPEG、BMP、GIF、WebP、TIFF、PPM のみです。 # 製品および汎用画像検索の場合、画像の長さと幅は 100 ピクセルから 4,096 ピクセルまでの範囲である必要があります。 # 画像に回転情報を含めることはできません。 # 次のサンプルコードは、画像 URL を指定する方法の例を示しています。 # url = '<fileUrl>' # f = BytesIO(requests.get(url).content) # 次のサンプルコードは、画像ファイルをアップロードする方法の例を示しています。 f = open('<filePath>', 'rb') request.pic_content_object = f # オプション。製品カテゴリの ID。 # 1. 製品検索:カテゴリが指定されている場合、指定されたカテゴリが優先されます。カテゴリが指定されていない場合、システムはカテゴリを予測して選択します。システムによって選択されたカテゴリはレスポンスに含まれます。 # 2. 汎用検索:カテゴリが指定されているかどうかに関係なく、パラメータ値は 88888888 に設定されます。 request.category_id = 3 # オプション。ユーザー定義のコンテンツ。値は 4,096 文字以下にすることができます。 # このパラメータを指定すると、レスポンスにはこのパラメータとその値が含まれます。画像の説明などのテキストを追加できます。 request.custom_content = "this is a simple test" # オプション。INT 型の属性。属性は、画像検索で画像をフィルタリングするために使用できます。このパラメータを指定すると、レスポンスにはこのパラメータとその値が含まれます。 # たとえば、異なるサイトまたは異なるユーザーの画像に異なる属性を設定できます。これにより、ユーザーは属性で画像をフィルタリングし、より正確な検索結果を得ることができます。 request.int_attr = 56 # オプション。STRING 型の属性。値は 128 文字以下にすることができます。属性は、画像検索で画像をフィルタリングするために使用できます。このパラメータを設定すると、レスポンスにはこのパラメータとその値が含まれます。 request.str_attr = "test" # オプション。画像内の主要被写体を認識するかどうかを指定します。デフォルト値:True。 # 1. このパラメータを true に設定すると、システムは画像内の被写体を認識し、認識された被写体に基づいて画像を検索します。レスポンスには認識結果が含まれます。 # 2. このパラメータを false に設定すると、システムは被写体認識を行わずに画像全体に基づいて画像を検索します。 request.crop = True # オプション。画像の主要領域。値の形式は x1,x2,y1,y2 です。x1 と y1 は、領域の左上の点の位置をピクセル単位で示します。x2 と y2 は、領域の右下の点の位置をピクセル単位で示します。指定された領域は画像の境界を越えることはできません。 # Region パラメータを指定すると、システムは Crop パラメータの値に関係なく、Region の値に基づいて画像を検索します。 request.region = "167,467,221,407" config = Config() # AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/en/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 シークレットをハードコードしないことをお勧めします。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが危険にさらされる可能性があります。 # この例では、AccessKey ID と AccessKey シークレットは環境変数として保存されています。ビジネス要件に基づいて、AccessKey ID と AccessKey シークレットを設定ファイルに保存することもできます。 config.access_key_id = os.environ['CC_AK_ENV'] config.access_key_secret = os.environ['CC_SK_ENV'] # 値を、Image Search インスタンスが存在するリージョンのエンドポイントに置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、endpoint パラメータを imagesearch.ap-southeast-1.aliyuncs.com に設定します。 config.endpoint = 'imagesearch.[regionId].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 インスタンスと同じリージョンにあるかどうかを確認してください。 # config.endpointType = 'internal' // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメータを指定し、値を internal に設定する必要があります。 # config.endpoint = 'imagesearch-vpc.[regionId].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 に設定します。 config.region_id = '<regionId>' config.type = 'access_key' client = Client(config) runtime_option = RuntimeOptions() response = client.add_image_advance(request, runtime_option) print(response.to_map()) f.close() if __name__ == '__main__': addImage()サンプルレスポンス
{ 'RequestId': '7F769FFC-4F45-476E-BE6C-E4EF82E012A7', 'Success': True, 'Message': 'success', 'Code': 0, 'PicInfo': { 'CategoryId': 20, 'Region': '474,747,497,784' } }
SearchImageByPic
サンプルコード
from alibabacloud_imagesearch20201214.client import Client from alibabacloud_imagesearch20201214.models import SearchImageByPicAdvanceRequest from alibabacloud_tea_openapi.models import Config from alibabacloud_tea_util.models import RuntimeOptions def searchImageByPic() : request = SearchImageByPicAdvanceRequest() # 必須。Image Search インスタンスの名前。インスタンス ID ではなく、インスタンス名を入力してください。Image Search インスタンスを購入した後、https://imagesearch.console.alibabacloud.com/overview でインスタンス名を取得します。 request.instance_name = '<instanceName>' # 画像。画像は 4 MB 以下にする必要があります。送信タイムアウト期間は 5 秒です。サポートされている画像形式は、PNG、JPG、JPEG、BMP、GIF、WebP、TIFF、PPM のみです。 # 製品および汎用画像検索の場合、画像の長さと幅は 100 ピクセルから 4,096 ピクセルまでの範囲である必要があります。 # 画像に回転プロパティを含めることはできません。 # 次のサンプルコードは、画像 URL を指定する方法の例を示しています。 # url = '<fileUrl>' # f = BytesIO(requests.get(url).content) # 次のサンプルコードは、画像ファイルをアップロードする方法の例を示しています。 f = open('<filePath>', 'rb') request.pic_content_object = f # オプション。製品カテゴリの ID。 # 1. 製品検索:カテゴリが指定されている場合、指定されたカテゴリが優先されます。カテゴリが指定されていない場合、システムはカテゴリを予測して選択します。システムによって選択されたカテゴリはレスポンスに含まれます。 # 2. 汎用検索:カテゴリが指定されているかどうかに関係なく、パラメータ値は 88888888 に設定されます。 request.category_id = 3 # オプション。返すエントリの数。有効な値:1 ~ 100。デフォルト値:10。 request.num = 10 # オプション。返す最初のエントリの序数。有効な値:0 ~ 499。デフォルト値:0。 request.start = 0 # オプション。画像内の主要被写体を認識するかどうかを指定します。デフォルト値:True。 # 1. このパラメータを true に設定すると、システムは画像内の被写体を認識し、認識された被写体に基づいて画像を検索します。レスポンスには認識結果が含まれます。 # 2. このパラメータを false に設定すると、システムは被写体認識を行わずに画像全体に基づいて画像を検索します。 request.crop = True # オプション。画像の主要領域。値の形式は x1,x2,y1,y2 です。x1 と y1 は、領域の左上の点の位置をピクセル単位で示します。x2 と y2 は、領域の右下の点の位置をピクセル単位で示します。指定された領域は画像の境界を越えることはできません。 # Region パラメータを指定すると、システムは Crop パラメータの値に関係なく、Region の値に基づいて画像を検索します。 request.region="167,467,221,407" # オプション。フィルタ条件。 # int_attr は、>、>=、<、<=、= の演算子をサポートしています。str_attr は、= および != 演算子をサポートしています。条件間の論理演算子を AND または OR に設定できます。 # 例: # 1. int_attr>=100 に基づいて結果をフィルタリングします。 # 2. str_attr!="value1" に基づいて結果をフィルタリングします。 # 3. int_attr と str_attr に基づいて結果をフィルタリングします:int_attr=1000 AND str_attr="value1"。 request.filter="int_attr=56 AND str_attr=\"test\"" # オプション。値を true に設定すると、レスポンスデータは ProductId パラメータに基づいて返されます。 request.distinct_product_id = False config = Config() # AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/en/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 シークレットをハードコードしないことをお勧めします。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが危険にさらされる可能性があります。 # この例では、AccessKey ID と AccessKey シークレットは環境変数として保存されています。ビジネス要件に基づいて、AccessKey ID と AccessKey シークレットを設定ファイルに保存することもできます。 config.access_key_id = os.environ['CC_AK_ENV'] config.access_key_secret = os.environ['CC_SK_ENV'] # 値を、Image Search インスタンスが存在するリージョンのエンドポイントに置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、endpoint パラメータを imagesearch.ap-southeast-1.aliyuncs.com に設定します。 config.endpoint = 'imagesearch.<regionId>.aliyuncs.com' # 次のサンプルコードは、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 インスタンスと同じリージョンにあるかどうかを確認してください。 # config.endpointType = 'internal' // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメータを指定し、値を internal に設定する必要があります。 # config.endpoint = 'imagesearch-vpc.[regionId].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 に設定します。 config.region_id = '<regionId>' config.type = 'access_key' client = Client(config) runtime_option = RuntimeOptions() response = client.search_image_by_pic_advance(request, runtime_option) print(response.to_map()) f.close() if __name__ == '__main__': searchImageByPic()サンプルレスポンス
{ 'RequestId': '53C481F3-E064-428D-AB25-B6C57A704E68', 'Success': True, 'Code': 0, 'Msg': 'success', 'Auctions': [{ 'CategoryId': 20, 'ProductId': 'test-version-001', 'PicName': 'test-version-001.jpg', 'CustomContent': None, 'Score': 1.0 'SortExprValues': '5.37633353624177e+24;0', 'IntAttr': None, 'StrAttr': None }, { 'CategoryId': 20, 'ProductId': 'test_0426_1', 'PicName': 'test_0426_1.png', 'CustomContent': None, 'Score': 1.0, 'SortExprValues': '2.71303606033325;263', 'IntAttr': None, 'StrAttr': None }], 'Head': { 'DocsReturn': 5, 'DocsFound': 5, 'SearchTime': 295 }, 'PicInfo': { 'CategoryId': 20, 'Region': '474,747,497,784', 'AllCategories': [{ 'Id': 0, 'Name': 'Tops' }, { 'Id': 1, 'Name': 'Dress' }, { 'Id': 2, 'Name': 'Bottoms' }, { 'Id': 3, 'Name': 'Bag' }, { 'Id': 4, 'Name': 'Shoes' }, { 'Id': 5, 'Name': 'Accessories' }, { 'Id': 6, 'Name': 'Snack' }, { 'Id': 7, 'Name': 'Makeup' }, { 'Id': 8, 'Name': 'Bottle' }, { 'Id': 9, 'Name': 'Furniture' }, { 'Id': 20, 'Name': 'Toy' }, { 'Id': 21, 'Name': 'Underwear' }, { 'Id': 22, 'Name': 'Digital device' }, { 'Id': 88888888, 'Name': 'Other' }], 'MultiRegion': [{ 'Region': '112,440,76,387' }] } }
SearchImageByName
サンプルコード
from alibabacloud_imagesearch20201214.client import Client from alibabacloud_imagesearch20201214.models import SearchImageByNameRequest from alibabacloud_tea_openapi.models import Config from alibabacloud_tea_util.models import RuntimeOptions def searchImageByName() : request = SearchImageByNameRequest() # 必須。Image Search インスタンスの名前。インスタンス ID ではなく、インスタンス名を入力してください。Image Search インスタンスを購入した後、https://imagesearch.console.alibabacloud.com/overview でインスタンス名を取得します。 request.instance_name = '<instanceName>' # 必須。製品の ID。ID は 256 文字以下にする必要があります。 # 1 つの製品 ID は複数の画像名に関連付けることができます。 request.product_id = '<productId>' # 必須。画像名。名前は 256 文字以下にすることができます。 # 1. 必須。画像は、ProductId パラメータと PicName パラメータの値によって一意に識別されます。 # 2. 製品 ID(ProductId)と画像名(PicName)が既存の画像と同じである画像を追加すると、新しく追加された画像が既存の画像を上書きします。 request.pic_name = '<picName>' # オプション。製品カテゴリの ID。 # 1. 製品検索:カテゴリが指定されている場合、指定されたカテゴリが優先されます。カテゴリが指定されていない場合、システムはカテゴリを予測して選択します。システムによって選択されたカテゴリはレスポンスに含まれます。 # 2. 汎用検索:カテゴリが指定されているかどうかに関係なく、パラメータ値は 88888888 に設定されます。 request.category_id = 3 # オプション。返すエントリの数。有効な値:1 ~ 100。デフォルト値:10。 request.num = 10 # オプション。返す最初のエントリの序数。有効な値:0 ~ 499。デフォルト値:0。 request.start = 0 # オプション。画像内の主要被写体を認識するかどうかを指定します。デフォルト値:True。 # 1. このパラメータを true に設定すると、システムは画像内の被写体を認識し、認識された被写体に基づいて画像を検索します。レスポンスには認識結果が含まれます。 # 2. このパラメータを false に設定すると、システムは被写体認識を行わずに画像全体に基づいて画像を検索します。 request.crop = True # オプション。画像の主要領域。値の形式は x1,x2,y1,y2 です。x1 と y1 は、領域の左上の点の位置をピクセル単位で示します。x2 と y2 は、領域の右下の点の位置をピクセル単位で示します。指定された領域は画像の境界を越えることはできません。 # Region パラメータを指定すると、システムは Crop パラメータの値に関係なく、Region の値に基づいて画像を検索します。 request.region="167,467,221,407" # オプション。フィルタ条件。 # int_attr は、>、>=、<、<=、= の演算子をサポートしています。str_attr は、= および != 演算子をサポートしています。条件間の論理演算子を AND または OR に設定できます。 # 例: # 1. int_attr>=100 に基づいて結果をフィルタリングします。 # 2. str_attr!="value1" に基づいて結果をフィルタリングします。 # 3. int_attr と str_attr に基づいて結果をフィルタリングします:int_attr=1000 AND str_attr="value1"。 request.filter="int_attr=56 AND str_attr=\"test\"" config = Config() # AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/en/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 シークレットをハードコードしないことをお勧めします。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが危険にさらされる可能性があります。 # この例では、AccessKey ID と AccessKey シークレットは環境変数として保存されています。ビジネス要件に基づいて、AccessKey ID と AccessKey シークレットを設定ファイルに保存することもできます。 config.access_key_id = os.environ['CC_AK_ENV'] config.access_key_secret = os.environ['CC_SK_ENV'] # 値を、Image Search インスタンスが存在するリージョンのエンドポイントに置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、endpoint パラメータを imagesearch.ap-southeast-1.aliyuncs.com に設定します。 config.endpoint = 'imagesearch.<regionId>.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 インスタンスと同じリージョンにあるかどうかを確認してください。 # config.endpointType = 'internal' // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメータを指定し、値を internal に設定する必要があります。 # config.endpoint = 'imagesearch-vpc.[regionId].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 に設定します。 config.region_id = '<regionId>' config.type = 'access_key' client = Client(config) response = client.search_image_by_name(request) print(response.to_map()) if __name__ == '__main__': searchImageByName()サンプルレスポンス
{ 'RequestId': '7BC00158-3B9B-49C4-9E25-FFEC28AF3CE8', 'Success': True, 'Code': 0, 'Msg': 'success', 'Auctions': [{ 'CategoryId': 20, 'ProductId': 'test-version-001', 'PicName': 'test-version-001.jpg', 'CustomContent': None, 'score':1.0, 'SortExprValues': '5.37633353624177e+24;0', 'IntAttr': None, 'StrAttr': None }, { 'CategoryId': 20, 'ProductId': 'test_0426_1', 'PicName': 'test_0426_1.png', 'CustomContent': None, 'score':1.0, 'SortExprValues': '2.71303606033325;263', 'IntAttr': None, 'StrAttr': None }], 'Head': { 'DocsReturn': 5, 'DocsFound': 5, 'SearchTime': 15 }, 'PicInfo': { 'CategoryId': 20, 'Region': None, 'AllCategories': [{ 'Id': 0, 'Name': 'Tops' }, { 'Id': 1, 'Name': 'Dress' }, { 'Id': 2, 'Name': 'Bottoms' }, { 'Id': 3, 'Name': 'Bag' }, { 'Id': 4, 'Name': 'Shoes' }, { 'Id': 5, 'Name': 'Accessories' }, { 'Id': 6, 'Name': 'Snack' }, { 'Id': 7, 'Name': 'Makeup' }, { 'Id': 8, 'Name': 'Bottle' }, { 'Id': 9, 'Name': 'Furniture' }, { 'Id': 20, 'Name': 'Toy' }, { 'Id': 21, 'Name': 'Underwear' }, { 'Id': 22, 'Name': 'Digital device' }, { 'Id': 88888888, 'Name': 'Other' }], 'MultiRegion': [{ 'Region': '112,440,76,387' }] } }
削除
サンプルコード
from alibabacloud_imagesearch20201214.client import Client from alibabacloud_imagesearch20201214.models import DeleteImageRequest from alibabacloud_tea_openapi.models import Config from alibabacloud_tea_util.models import RuntimeOptions def deleteImage() : request = DeleteImageRequest() # 必須。Image Search インスタンスの名前。インスタンス ID ではなく、インスタンス名を入力します。Image Search インスタンスを購入した後、https://imagesearch.console.alibabacloud.com/overview でインスタンス名を取得します。 request.instance_name = '<instanceName>' # 必須。製品の ID。ID は 256 文字を超えることはできません。 # 1 つの製品 ID は、複数の画像名に関連付けることができます。 request.product_id = '<productId>' # 必須。画像名。名前は最大 256 文字までです。 # 1. 必須。画像は、ProductId パラメータと PicName パラメータの値によって一意に識別されます。 # 2. 製品 ID(ProductId)と画像名(PicName)が既存の画像と同じ画像を追加すると、新しく追加された画像が既存の画像を上書きします。 request.pic_name = '<picName>' # オプション。値を true に設定すると、画像はフィルターによって削除されます。 request.is_delete_by_filter = False request.filter = 'intattr3=xxx' config = Config() # Alibaba Cloud アカウントの AccessKey ペアには、すべての API オペレーションを呼び出す権限があります。API オペレーションの呼び出しや日常の O&M の実行には、RAM ユーザーの AccessKey ペアを使用することをお勧めします。 # プロジェクトコードに AccessKey ID と AccessKey シークレットをハードコードしないことをお勧めします。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。 # この例では、AccessKey ID と AccessKey シークレットは環境変数として保存されています。ビジネス要件に基づいて、AccessKey ID と AccessKey シークレットを設定ファイルに保存することもできます。 config.access_key_id = os.environ['CC_AK_ENV'] config.access_key_secret = os.environ['CC_SK_ENV'] # 値を、Image Search インスタンスが存在するリージョンのエンドポイントに置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、endpoint パラメータを imagesearch.ap-southeast-1.aliyuncs.com に設定します。 config.endpoint = 'imagesearch.<regionId>.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 インスタンスと同じリージョンにあるかどうかを確認してください。 # config.endpointType = 'internal' // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメータを指定し、値を internal に設定する必要があります。 # config.endpoint = 'imagesearch-vpc.[regionId].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 に設定します。 config.region_id = '<regionId>' # AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/en/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user を参照してください。 config.type = 'access_key' client = Client(config) response = client.delete_image(request) print(response.to_map()) if __name__ == '__main__': deleteImage()サンプルレスポンス
{ 'RequestId': '9ADA959B-B639-4B3B-841D-2399F1C34DA8', 'Success': True, 'Message': 'success', 'Code': 0 }
UpdateImage
サンプルコード
from alibabacloud_imagesearch20201214.client import Client from alibabacloud_imagesearch20201214.models import UpdateImageRequest from alibabacloud_tea_openapi.models import Config from alibabacloud_tea_util.models import RuntimeOptions def updateImage() : config = Config() # AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/en/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 ID と AccessKey Secret を構成ファイルに保存することもできます。 config.access_key_id = os.environ['CC_AK_ENV'] config.access_key_secret = os.environ['CC_SK_ENV'] # Image Search インスタンスが存在するリージョンのエンドポイントの値に置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、エンドポイントパラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。 config.endpoint = 'imagesearch.<regionId>.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 インスタンスと同じリージョンにあるかどうかを確認してください。 # config.endpointType = 'internal' // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。 # config.endpoint = 'imagesearch-vpc.[regionId].aliyuncs.com' // Image Search API の呼び出しに使用する VPC エンドポイント。Image Search インスタンスが存在するリージョンの VPC エンドポイントの値に置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、エンドポイントパラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。 # Image Search インスタンスが存在するリージョンの ID の値に置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、regionId パラメーターを ap-southeast-1 に設定します。 config.type = 'access_key' client = Client(config) request = UpdateImageRequest() # 必須。Image Search インスタンスの名前。インスタンス ID ではなくインスタンス名を入力します。Image Search インスタンスの購入後、https://imagesearch.console.alibabacloud.com/overview でインスタンス名を取得します。 request.instance_name = "xxxxxx" # 必須。製品の ID。製品 ID は変更できません。 request.product_id = "1" # 必須。画像の名前。画像名は変更できません。 request.pic_name = "1" # オプション。INT タイプの属性。属性は、画像検索で画像をフィルタリングするために使用できます。このパラメーターを指定すると、レスポンスにこのパラメーターとその値が含まれます。 request.int_attr = "1" # オプション。STRING タイプの属性。値は 128 文字以下にする必要があります。属性は、画像検索で画像をフィルタリングするために使用できます。このパラメーターを設定すると、レスポンスにこのパラメーターとその値が含まれます。 request.str_attr = "test" # オプション。ユーザー定義のコンテンツ。値は最大 4,096 文字まで入力できます。 request.CustomContent ="This is a sample description"; response = client.update_image(request) print(response.body.to_map()) if __name__ == '__main__': updateImage()サンプルレスポンス
{'Code': 0, 'RequestId': '864F581A-F2F8-1AF8-B1EA-1EFBF177E9F9', 'Success': True}
詳細
サンプルコード
from alibabacloud_imagesearch20201214.client import Client from alibabacloud_imagesearch20201214.models import DetailRequest from alibabacloud_tea_openapi.models import Config from alibabacloud_tea_util.models import RuntimeOptions def detail() : config = Config() # AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/en/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 ID と AccessKey Secret を構成ファイルに保存することもできます。 config.access_key_id = os.environ['CC_AK_ENV'] config.access_key_secret = os.environ['CC_SK_ENV'] # Image Search インスタンスが存在するリージョンのエンドポイントに値を置き換えます。たとえば、Image Search インスタンスがシンガポールに存在する場合は、エンドポイントパラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。 config.endpoint = 'imagesearch.<regionId>.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 インスタンスと同じリージョンにあるかどうかを確認してください。 # config.endpointType = 'internal' // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。 # config.endpoint = 'imagesearch-vpc.[regionId].aliyuncs.com' // Image Search API の呼び出しに使用される VPC エンドポイント。Image Search インスタンスが存在するリージョンの VPC エンドポイントに値を置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合、エンドポイントパラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。 # Image Search インスタンスが存在するリージョンの ID に値を置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合、regionId パラメーターを ap-southeast-1 に設定します。 config.region_id = '<regionId>' config.type = 'access_key' client = Client(config) request = DetailRequest() # 必須。Image Search インスタンスの名前。インスタンス ID ではなく、インスタンス名を入力します。Image Search インスタンスの購入後、https://imagesearch.console.alibabacloud.com/overview でインスタンス名を取得します。 request.instance_name = "xxxxxx" response = client.detail(request) print(response.body.to_map()) if __name__ == '__main__': detail()サンプルレスポンス
{ 'Instance': { 'Capacity': 10, 'Name': 'xxxxx', 'Qps': 1, 'Region': 'cn-shanghai', 'ServiceType': 0, 'TotalCount': 99999, 'UtcCreate': 1620382716000, 'UtcExpireTime': 1623081600000 }, 'RequestId': '1BEEACA0-A4C9-1B83-93A6-3005BB769B4E', 'Success': True }
DumpMeta
サンプルコード
from alibabacloud_imagesearch20201214.client import Client from alibabacloud_imagesearch20201214.models import DumpMetaRequest from alibabacloud_tea_openapi.models import Config from alibabacloud_tea_util.models import RuntimeOptions def dumpMeta() : config = Config() # AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/en/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user を参照してください。 # Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作を呼び出すための権限を持っています。API 操作の呼び出しや日常の運用・保守には、RAM ユーザーの AccessKey ペアを使用することをお勧めします。 # AccessKey ID と AccessKey Secret をプロジェクトコードにハードコードしないでください。ハードコードすると、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。 # この例では、AccessKey ID と AccessKey Secret を環境変数として保存しています。ビジネス要件に応じて、設定ファイルに AccessKey ID と AccessKey Secret を保存することもできます。 config.access_key_id = os.environ['CC_AK_ENV'] config.access_key_secret = os.environ['CC_SK_ENV'] # Image Search インスタンスが存在するリージョンのエンドポイントに値を置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、エンドポイントパラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。 config.endpoint = 'imagesearch.<regionId>.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 インスタンスと同じリージョンにあるかどうかを確認してください。 # config.endpointType = 'internal' // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。 # config.endpoint = 'imagesearch-vpc.[regionId].aliyuncs.com' // Image Search API の呼び出しに使用する VPC エンドポイント。Image Search インスタンスが存在するリージョンの VPC エンドポイントに値を置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、エンドポイントパラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。 # Image Search インスタンスが存在するリージョンの ID に値を置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、regionId パラメーターを ap-southeast-1 に設定します。 config.region_id = '<regionId>' config.type = 'access_key' client = Client(config) request = DumpMetaRequest() # 必須。Image Search インスタンスの名前。インスタンス ID ではなくインスタンス名を入力します。Image Search インスタンスの購入後、https://imagesearch.console.alibabacloud.com/overview でインスタンス名を取得します。 request.instance_name = "xxxxxx" response = client.dump_meta(request) print(response.body.to_map()) if __name__ == '__main__': dumpMeta()サンプルレスポンス
{ 'Data': { 'DumpMetaStatus': 'PROCESSING', 'Id': 570 }, 'RequestId': '5F70A624-D90D-1CDE-9549-542D97B68329', 'Success': True }
前提条件
サンプル コード
from alibabacloud_imagesearch20201214.client import Client from alibabacloud_imagesearch20201214.models import DumpMetaListRequest from alibabacloud_tea_openapi.models import Config from alibabacloud_tea_util.models import RuntimeOptions def dumpMetaList() : config = Config() # 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 シークレットをプロジェクトコードにハードコードしないでください。ハードコードすると、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。 # この例では、AccessKey ID と AccessKey シークレットは環境変数として保存されています。ビジネス要件に基づいて、AccessKey ID と AccessKey シークレットを構成ファイルに保存することもできます。 config.access_key_id = os.environ['CC_AK_ENV'] config.access_key_secret = os.environ['CC_SK_ENV'] # 値を、Image Search インスタンスが存在するリージョンのエンドポイントに置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、エンドポイントパラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。 config.endpoint = 'imagesearch.<regionId>.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 インスタンスと同じリージョンにあるかどうかを確認してください。 # config.endpointType = 'internal' // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。 # config.endpoint = 'imagesearch-vpc.[regionId].aliyuncs.com' // Image Search API の呼び出しに使用される VPC エンドポイント。値を、Image Search インスタンスが存在するリージョンの VPC エンドポイントに置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、エンドポイントパラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。 # 値を、Image Search インスタンスが存在するリージョンの ID に置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、regionId パラメーターを ap-southeast-1 に設定します。 config.region_id = '<regionId>' config.type = 'access_key' client = Client(config) request = DumpMetaListRequest() # 必須。Image Search インスタンスの名前。インスタンス ID ではなく、インスタンス名を入力します。Image Search インスタンスを購入した後、https://imagesearch.console.alibabacloud.com/overview でインスタンス名を取得します。 request.instance_name = "xxxxxx" # オプション。メタデータのエクスポートに使用されるタスクの ID。 request.id = 567 # オプション。返される最初のエントリの序数。デフォルト値: 1。 request.page_number = 1 # オプション。返されるエントリの数。デフォルト値: 20。 request.page_size = 1 response = client.dump_meta_list(request) print(response.body.to_map()) if __name__ == '__main__': dumpMetaList()サンプル 応答
{ 'Data': { 'DumpMetaList': [ { 'Code': '0', 'Id': 567, 'MetaUrl': 'https://xxx/xx/xx', 'Msg': 'success', // 成功 'Status': 'SUCCESS', // 成功 'UtcCreate': 1639969113000, 'UtcModified': 1639969140000 } ], 'PageNumber': 1, 'PageSize': 1, 'TotalCount': 1 }, 'RequestId': '8B2B472B-72EC-1BE5-98F2-780BCBE67F82' }
BatchTask
サンプル コード
from alibabacloud_imagesearch20201214.client import Client from alibabacloud_imagesearch20201214.models import IncreaseInstanceRequest from alibabacloud_tea_openapi.models import Config from alibabacloud_tea_util.models import RuntimeOptions def batchTask() : config = Config() # 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 シークレットをプロジェクトコードにハードコードしないことをお勧めします。ハードコードすると、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。 # この例では、AccessKey ID と AccessKey シークレットは環境変数として保存されています。ビジネス要件に基づいて、AccessKey ID と AccessKey シークレットを構成ファイルに保存することもできます。 config.access_key_id = os.environ['CC_AK_ENV'] config.access_key_secret = os.environ['CC_SK_ENV'] # 値を Image Search インスタンスが存在するリージョンのエンドポイントに置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、エンドポイントパラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。 config.endpoint = 'imagesearch.<regionId>.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 インスタンスと同じリージョンにあるかどうかを確認してください。 # config.endpointType = 'internal' // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。 # config.endpoint = 'imagesearch-vpc.[regionId].aliyuncs.com' // Image Search API の呼び出しに使用する VPC エンドポイント。値を Image Search インスタンスが存在するリージョンの VPC エンドポイントに置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、エンドポイントパラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。 # 値を Image Search インスタンスが存在するリージョンの ID に置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、regionId パラメーターを ap-southeast-1 に設定します。 config.region_id = '<regionId>' config.type = 'access_key' client = Client(config) request = IncreaseInstanceRequest() # 必須。Image Search インスタンスの名前。インスタンス ID ではなく、インスタンス名を入力します。Image Search インスタンスを購入した後、https://imagesearch.console.alibabacloud.com/overview でインスタンス名を取得します。 request.instance_name = "xxxxxx" # 必須。イメージが Object Storage Service (OSS) バケットに保存されている場合は、バケット名を入力します。 request.bucket_name = "bucketName" # 必須。イメージが保存されているサービスへのパス。パスはスラッシュ (/) で始まり、スラッシュ (/) で終わることはできません。 # イメージが保存されているパスに increment.meta という名前のファイルを作成します。詳細については、Image Search ドキュメントの「ユーザーガイド」の「バッチ操作の実行」のトピックを参照してください。 request.path = "/public/xxx" # オプション。呼び出しが成功した場合のコールバックアドレス。アドレスは文字列 http:// または https:// で始まる必要があります。 request.callback_address = "http://xxx/xxx" response = client.increase_instance(request) print(response.body.to_map()) if __name__ == '__main__': batchTask()サンプルレスポンス
{ 'Data': { 'Id': 472, 'IncrementStatus': 'PROCESSING' }, 'RequestId': '5D4391D4-54EA-14CD-B616-F23BDE4ECAA3', 'Success': True }
バッチタスクリスト
サンプルコード
from alibabacloud_imagesearch20201214.client import Client from alibabacloud_imagesearch20201214.models import IncreaseListRequest from alibabacloud_tea_openapi.models import Config from alibabacloud_tea_util.models import RuntimeOptions def batchTaskList() : config = Config() # AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/en/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user を参照してください。 # Alibaba Cloud アカウントの AccessKey ペアは、すべての API オペレーションを呼び出すための権限を持っています。API オペレーションの呼び出しや日常の運用・保守には、RAM ユーザーの AccessKey ペアを使用することをお勧めします。 # AccessKey ID と AccessKey Secret をプロジェクトコードにハードコードしないでください。ハードコードすると、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。 # この例では、AccessKey ID と AccessKey Secret を環境変数として保存しています。ビジネス要件に応じて、設定ファイルに AccessKey ID と AccessKey Secret を保存することもできます。 config.access_key_id = os.environ['CC_AK_ENV'] config.access_key_secret = os.environ['CC_SK_ENV'] # Image Search インスタンスが存在するリージョンのエンドポイントの値に置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、エンドポイントパラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。 config.endpoint = 'imagesearch.<regionId>.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 インスタンスと同じリージョンにあるかどうかを確認してください。 # config.endpointType = 'internal' // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。 # config.endpoint = 'imagesearch-vpc.[regionId].aliyuncs.com' // Image Search API の呼び出しに使用する VPC エンドポイント。Image Search インスタンスが存在するリージョンの VPC エンドポイントの値に置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、エンドポイントパラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。 # Image Search インスタンスが存在するリージョンの ID の値に置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、regionId パラメーターを ap-southeast-1 に設定します。 config.region_id = '<regionId>' config.type = 'access_key' client = Client(config) request = IncreaseListRequest() # 必須。Image Search インスタンスの名前。インスタンス ID ではなくインスタンス名を入力します。Image Search インスタンスの購入後、https://imagesearch.console.alibabacloud.com/overview でインスタンス名を取得します。 request.instance_name = "xxxxxx" # オプション。タスクの ID。 request.id = 567 # オプション。OSS バケットの名前を照会します。 request.bucket_name = "BucketName" # オプション。OSS バケットへのパスを照会します。 request.path = "/localization/xxxx" # オプション。返される最初のエントリの序数。デフォルト値: 1。 request.page_number = 1 # オプション。返されるエントリの数。デフォルト値: 20。 request.page_size = 1 response = client.increase_list(request) print(response.body.to_map()) if __name__ == '__main__': batchTaskList()サンプルレスポンス
{ 'Data': { 'Increments': { 'Instance': [ { 'BucketName': 'xxxxx', 'Code': '0', 'ErrorUrl': 'https://ccx/xx/', 'Id': 567, 'Msg': 'success', 'Path': '/public/xx', 'Status': 'NORMAL', 'UtcCreate': 1639107872000, 'UtcModified': 1639125540000 } ] }, 'PageNumber': 1, 'PageSize': 1, 'TotalCount': 1 }, 'RequestId': 'C02F0C44-E61F-1E96-870C-CBE19E137ADF' }
手順
サンプルコード
from alibabacloud_imagesearch20201214.client import Client from alibabacloud_imagesearch20201214.models import IncreaseListRequest from alibabacloud_tea_openapi.models import Config from alibabacloud_tea_util.models import RuntimeOptions def CompareSimilarByImage() : config = Config() # AccessKey ペアの作成方法については、https://www.alibabacloud.com/help/en/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 ID と AccessKey Secret を構成ファイルに保存することもできます。 config.access_key_id = os.environ['CC_AK_ENV'] config.access_key_secret = os.environ['CC_SK_ENV'] # Image Search インスタンスが存在するリージョンのエンドポイントに値を置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、エンドポイントパラメーターを imagesearch.ap-southeast-1.aliyuncs.com に設定します。 config.endpoint = 'imagesearch.<regionId>.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 インスタンスと同じリージョンにあるかどうかを確認してください。 # config.endpointType = 'internal' // VPC エンドポイントを使用して Image Search API を呼び出す場合は、endpointType パラメーターを指定し、値を internal に設定する必要があります。 # config.endpoint = 'imagesearch-vpc.[regionId].aliyuncs.com' // Image Search API の呼び出しに使用する VPC エンドポイント。Image Search インスタンスが存在するリージョンの VPC エンドポイントに値を置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、エンドポイントパラメーターを imagesearch-vpc.ap-southeast-1.aliyuncs.com に設定します。 # Image Search インスタンスが存在するリージョンの ID に値を置き換えます。たとえば、Image Search インスタンスがシンガポールにある場合は、regionId パラメーターを ap-southeast-1 に設定します。 config.region_id = '<regionId>' config.type = 'access_key' client = Client(config) request = CompareSimilarByImageAdvanceRequest() # 次のサンプルコードは、画像 URL を指定する方法の例を示しています。 # url1 = '<fileUrl1>' # f1 = BytesIO(requests.get(url1).content) # url2 = '<fileUrl2>' # f2 = BytesIO(requests.get(url2).content) f1 = open('D:/1.jpg', 'rb') f2 = open('D:/2.jpg', 'rb') request.primary_pic_content_object = f1 request.secondary_pic_content_object = f2 response = client.compare_similar_by_image_advance(request) print(response.body.to_map()) if __name__ == '__main__': CompareSimilarByImage()サンプルレスポンス
{ "headers": { "date": "Fri, 14 Feb 2025 08:02:22 GMT", "content-type": "application/json;charset=utf-8", "content-length": "104", "connection": "keep-alive", "keep-alive": "timeout=25", "access-control-allow-origin": "*", "access-control-expose-headers": "*", "x-acs-request-id": "B278B248-A140-5277-8318-37D972B56AA2", "x-acs-trace-id": "eb8cfd86c431ad06a1853cdb4fd54dad", "etag": "1+z5NVLh9r/ubmCpqKfjPHw4" }, "statusCode": 200, "body": { "Code": 0, "Msg": "success", "RequestId": "B278B248-A140-5277-8318-37D972B56AA2", "Score": 1.0, "Success": true } }