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

Image Search:バッチ操作を実行する

最終更新日:May 13, 2025

Image Search はバッチ操作機能を提供します。この機能を使用すると、Object Storage Service (OSS) から Image Search に複数の画像をインポートしたり、Image Search から複数の画像を一度に削除したりできます。この機能には、高い安定性、高効率、使いやすさというメリットがあります。この機能は、1 つのタスクを使用して多数の画像を管理する必要があるシナリオに適しています。このトピックでは、複数の画像を一度にインポートおよび削除する方法について説明します。

手順

  1. OSS をアクティブ化する.

  2. OSS に画像をインポートする.

  3. increment.meta ファイルを作成する.

  4. Image Search アカウントに OSS へのアクセスを承認する.

  5. バッチタスクを作成する.

OSS をアクティブ化する

OSS がアクティブ化されていない場合は、OSS をアクティブ化します。 OSS をアクティブ化した後、バケットを作成する必要があります。

説明
  • OSS の料金は別途請求されます。課金方法の詳細については、「課金概要」をご参照ください。

  • OSS バケットと Image Search インスタンスは同じリージョンに存在する必要があります。そうでない場合、バッチ操作機能は使用できません。

OSS に画像をインポートする

OSS に画像をインポートする方法の詳細については、「オブジェクトのアップロード」をご参照ください。

説明

OSS バケットにインポートされる画像を保存するために、バッチタスクの作成時にカスタムパスを指定できます。

increment.meta ファイルを作成する

画像が保存されている OSS バケットに increment.meta ファイルを作成します。このファイルは、バッチタスクで処理される画像の詳細を保存するために使用されます。

説明
  1. increment.meta ファイルと increment.meta ファイルで指定された画像は、同じバケットに保存する必要があります。そうでない場合、バッチ操作は失敗します。

  2. increment.meta ファイルの名前は固定されており、Image Search はファイル名に基づいてバッチタスクで処理される画像の詳細を読み取ります。ファイル名を変更しないでください。そうでない場合、バッチ操作は失敗します。

  3. Image Search では、同じバケット内の異なるパスに保存されている画像に対してバッチ操作を実行できます。たとえば、increment.meta ファイルが imagesearch という名前のバケットのルートディレクトリに保存されていて、girl_cloth8.jpg という名前の画像がバケット内の girlCloth という名前のディレクトリに保存されている場合、画像の PicName パラメータは、increment.meta ファイルで "PicName":"girlCloth/girl_cloth8.jpg" として指定する必要があります。 girlCloth の前、または girl_cloth8.jpg の後にはスラッシュ(/)を追加できないことに注意してください。このロジックは複数レベルのディレクトリにも適用されます。

  4. OSS に保存されている画像の名前には、ファイル名拡張子を追加する必要があります。たとえば、画像の名前が girl_cloth10.jpg の場合、PicName パラメータは "PicName":"girl_cloth10" ではなく "PicName":"girl_cloth10.jpg" として指定する必要があります。そうでない場合、バッチ操作は失敗します。

  5. increment.meta ファイルでは、1 行に 1 つの画像のみを指定できます。1 行に複数の画像を指定すると、バッチ操作は失敗します。

次のサンプルコードは、increment.meta ファイルで画像を指定する方法の例を示しています。

{"OperationType": "ADD","ProductId": "1000","PicName": "girl_cloth1.jpg","CategoryId": 0,"IntAttr": 0,"StrAttr": "value1","CustomContent": "k1:v1,k2:v2,k3:v3","Region": "20,40,60,80"} // 操作タイプ:追加、商品ID:1000、画像名:girl_cloth1.jpg、カテゴリID:0、整数属性:0、文字列属性:value1、カスタムコンテンツ:k1:v1,k2:v2,k3:v3、対象領域:20,40,60,80
{"OperationType": "ADD","ProductId": "1000","PicName": "girl_cloth2.jpg","CategoryId": 0,"IntAttr": 0,"StrAttr": "value2","CustomContent": "k1:v1,k2:v2,k3:v3","Region": "20,40,60,80"} // 操作タイプ:追加、商品ID:1000、画像名:girl_cloth2.jpg、カテゴリID:0、整数属性:0、文字列属性:value2、カスタムコンテンツ:k1:v1,k2:v2,k3:v3、対象領域:20,40,60,80
{"OperationType": "ADD","ProductId": "1001","PicName": "girl_cloth3.jpg","CategoryId": 1,"CustomContent": "k1:v1,k2:v2,k3:v3"} // 操作タイプ:追加、商品ID:1001、画像名:girl_cloth3.jpg、カテゴリID:1、カスタムコンテンツ:k1:v1,k2:v2,k3:v3
{"OperationType": "ADD","ProductId": "1002","PicName": "girl_cloth4.jpg","CategoryId": 0,"CustomContent": "k1:v1,k2:v2,k3:v3","Crop": false} // 操作タイプ:追加、商品ID:1002、画像名:girl_cloth4.jpg、カテゴリID:0、カスタムコンテンツ:k1:v1,k2:v2,k3:v3、切り抜き:false
{"OperationType": "ADD","ProductId": "1003","PicName": "girl_cloth7.jpg","CustomContent": "https://www.aliyun.com/imagesearch/girl_cloth7.jpg"} // 操作タイプ:追加、商品ID:1003、画像名:girl_cloth7.jpg、カスタムコンテンツ:https://www.aliyun.com/imagesearch/girl_cloth7.jpg
{"OperationType": "ADD","ProductId": "1003","PicName": "girl_cloth6.jpg","CustomContent": "k1:v1,k2:v2,k3:v3"} // 操作タイプ:追加、商品ID:1003、画像名:girl_cloth6.jpg、カスタムコンテンツ:k1:v1,k2:v2,k3:v3
{"OperationType": "ADD","ProductId": "1006","PicName": "girlCloth/girl_cloth10.jpg","CustomContent": "k1:v1,k2:v2,k3:v3"} // 操作タイプ:追加、商品ID:1006、画像名:girlCloth/girl_cloth10.jpg、カスタムコンテンツ:k1:v1,k2:v2,k3:v3
{"OperationType": "DELETE","ProductId": "1004","PicName": "fengyi.jpg"} // 操作タイプ:削除、商品ID:1004、画像名:fengyi.jpg
{"OperationType": "DELETE","ProductId": "1005"} // 操作タイプ:削除、商品ID:1005

このファイルでは、各画像の情報が JSON 形式でエンコードされています。次の表に、ファイル内のパラメータを示します。

パラメータ

タイプ

必須

説明

OperationType

文字列

はい

操作タイプ。

  • ADD:Image Search に画像をインポートする操作。

  • DELETE:Image Search から画像を削除する操作。

ProductId

文字列

はい

画像の一意の ID。ID は最大 256 文字までです。

PicName

文字列

はい

OSS バケットに保存されている画像の名前。名前は最大 256 文字までです。

重要
  1. increment.meta ファイルでは、各行に最大 1 つの画像名が含まれます。1 つの画像 ID が複数の画像名に対応している場合は、画像名ごとに 1 行ずつ記述する必要があります。

  2. 画像名にはファイル名拡張子を追加する必要があります。たとえば、girl_cloth.jpg 画像の場合は、girl_cloth ではなく girl_cloth.jpg と記述します。そうでない場合、バッチ操作は失敗します。

  3. 商品 ID と画像名が既存の画像と同じ画像をインポートすると、新しくインポートされた画像が既存の画像を上書きします。

  4. インポートする画像は、次の要件を満たしている必要があります。

    • 画像のファイルサイズは 4 MB を超えることはできません。

    • 画像は、PNG、JPG、JPEG、BMP、GIF、WebP、TIFF、PPM のいずれかの形式です。

    • 転送タイムアウト期間は 5 秒を超えることはできません。

    • 商品画像検索、一般的な画像検索、家具および家庭用品画像検索、工業用ハードウェア画像検索の場合、画像の長さと幅は 100 ピクセルから 4,096 ピクセルの範囲である必要があります。

    • 画像に回転設定を含めることはできません。

CategoryId

整数

いいえ

画像のカテゴリ。カテゴリの詳細については、「カテゴリのリファレンス」をご参照ください。

  • 商品画像検索の場合、画像にカテゴリを指定すると、指定されたカテゴリが優先されます。指定されたカテゴリは、「カテゴリのリファレンス」トピックで説明されている範囲内である必要があります。そうでない場合、Image Search は画像を画像ギャラリーにインポートできません。

  • 画像にカテゴリを指定しない場合、システムはカテゴリを予測し、レスポンスで予測結果を返します。

  • 一般的な検索の場合:カテゴリが指定されているかどうかに関係なく、パラメータ値は 88888888 に設定されます。

CustomContent

文字列

はい

ユーザー定義コンテンツ。値は最大 4,096 文字までです。

説明

画像のユーザー定義コンテンツは、検索結果に自動的に返されます。このパラメータを使用して、画像の URL や画像の説明などの情報を追加できます。

IntAttr

整数

いいえ

整数型の属性。この属性は、画像を検索するときに画像をフィルタリングするために使用されます。

説明

画像を検索するときに、「整数属性」パラメータとフィルタ条件を指定して画像をフィルタリングできます。詳細については、「フィルタ条件を指定して画像を検索する」をご参照ください。

StrAttr

文字列

いいえ

文字列型の属性。値は最大 128 文字までです。この属性は、画像を検索するときに画像をフィルタリングするために使用されます。

説明
  • 画像を検索するときに、「文字列属性」パラメータとフィルタ条件を指定して画像をフィルタリングできます。詳細については、「フィルタ条件を指定して画像を検索する」をご参照ください。

  • \ ¥ $&% などの特殊文字はサポートされていません。

Crop

ブール値

いいえ

画像内の被写体を識別し、識別された被写体に基づいて画像を検索するかどうかを指定します。デフォルト値:true。有効値:

  • true:システムは画像内の被写体を識別し、識別された被写体に基づいて画像を検索します。

  • false:システムは画像内の被写体を識別せず、画像全体に基づいて画像を検索します。

Region

文字列

いいえ

画像の対象領域。対象領域は x1,x2,y1,y2 の形式で表示されます。 x1 と y1 は左上の点を表します。 x2 と y2 は右下の点を表します。

説明

このパラメーターを指定した場合、このパラメーターの値は [Crop] パラメーターよりも優先されます。

Image Search アカウントに OSS へのアクセスを承認する

Image Search でバッチ操作機能を実装するには、Image Search を OSS と一緒に使用する必要があります。バッチ操作機能を初めて使用するときは、Image Search アカウントに OSS へのアクセスを承認します。アカウントが承認されている場合は、この手順をスキップします。

  1. Image Search コンソール にログインします。

  2. サービス タイプを選択し、管理する Image Search インスタンスの名前をクリックします。

  3. [バッチ操作] タブをクリックします。

    批量操作

  4. [バッチタスクの作成] をクリックします。表示されるメッセージで、[承認の確認] をクリックします。

  5. [クラウド リソース アクセス承認] ページで、[承認ポリシーの確認] をクリックします。

バッチタスクを作成する

  1. Image Search コンソール にログインします。

  2. サービス タイプを選択し、管理する Image Search インスタンスの名前をクリックします。

  3. [バッチ操作] タブをクリックします。

    批量操作

  4. [バッチタスクの作成] をクリックします。

    p278660.png

  5. バッチタスクに次のパラメータを設定します。

    • リージョン

      このパラメータは、Image Search インスタンスが存在するリージョンを指定します。

    • バケット名

      このパラメータは、OSS で作成したバケットの名前を指定します。

      重要

      OSS バケットと Image Search インスタンスが同じリージョンに存在することを確認してください。

    • パス

      このパラメータは、画像と increment.meta ファイルが保存されているパスを指定します。

      批量上传.png

    • META ファイル

      このパラメータは、処理される画像の詳細を保存するために使用されるファイルを指定します。ファイル名は increment.meta です。フィールドの右側にある更新アイコンをクリックして、ファイルが存在するかどうかを確認できます。

    • 操作完了後のコールバック

      このパラメータは、コールバック URL を指定します。URL は HTTP または HTTPS で始まる必要があります。

      { // コールバックのJSONデータ例
        "finishTime": "2021-05-19 17:50:00", // バッチタスクの完了時刻。秒単位まで正確です。
        "instanceId": "imagesearch-cn-xxxx", // Image SearchインスタンスのID
        "instanceName": "instanceName", // Image Searchインスタンスの名前
        "message": "success", // タスク結果の説明。「success」はタスクが完了したことを示します。
        "processResultUrl": "https://image-search-task-info.oss-cn-shanghai.aliyuncs.com/yyyyyyyyyy", // 失敗情報をダウンロードするためのURL
        "status": "NORMAL", // バッチタスクの結果。「NORMAL」はバッチタスクが完了したことを示します。「FAIL」はバッチタスクが失敗したことを示します。
        "taskId": 111 // バッチタスクのID
      }

      パラメータ

      説明

      finishTime

      バッチタスクが完了した時刻。時刻は秒単位まで正確です。

      instanceName

      Image Search インスタンスの名前。

      instanceId

      Image Search インスタンスの ID。

      status

      バッチタスクの結果。NORMAL の値は、バッチタスクが完了したことを示します。FAIL の値は、バッチタスクが失敗したことを示します。

      taskId

      バッチタスクの ID。

      message

      タスク結果の説明。success の値は、タスクが完了したことを示します。

      processResultUrl

      失敗情報をダウンロードするために使用される URL。

次のステップ

インスタンスの詳細ページの [バッチ操作] タブで、Image Search インスタンスで作成されたすべてのバッチタスクの詳細を表示できます。バッチタスクがインポート済み状態の場合、[エラーメッセージ] 列にバッチタスク結果の説明が表示されます。

实例详情

  • [バケット名] または [パス] でバッチタスクをフィルタリングできます。

  • バッチタスクの [エラーメッセージ] 列に [一部のイメージを処理できず、隔離されています。] メッセージが表示された場合は、増分タスク中に一部のイメージの処理に失敗しています。[レポートのダウンロード] をクリックすると、失敗の理由を確認できます。