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

Image Search:画像のアップロード

最終更新日:Jun 22, 2026

このトピックでは、Image Search に画像をアップロードする方法について説明します。

背景情報

Image Search には、API または SDK を使用する方法と、Object Storage Service (OSS) の画像を使用してバッチ操作を実行する方法の 2 つの画像アップロード方法があります。

  • 少数の画像のみをアップロードする必要がある場合は、API または SDK を使用することを推奨します。詳細については、「AddImage」をご参照ください。

  • エンタープライズユーザーである場合、または Object Storage Service (OSS) にない多数の画像をアップロードする必要がある場合は、ossimport ツールを使用してそれらを OSS バケットに移行し、バッチアップロードを実行します。詳細については、「操作手順」をご参照ください。

  • エンタープライズユーザーである場合、またはすでに Object Storage Service (OSS) バケットに保存されている多数の画像をアップロードする必要がある場合は、「バッチ操作の実行」をご参照ください。

    重要

    Image Search のバッチ操作機能を使用するには、ご利用の Image Search インスタンスと OSS バケットが同じリージョンにあることを確認する必要があります。

ossimport

ossimport は、データを OSS バケットに移行するための Object Storage Service (OSS) ツールです。ローカルサーバーまたは Elastic Compute Service (ECS) インスタンスにデプロイして、オンプレミスストレージや他のクラウドサービスから OSS にデータを移行できます。

ossimport を使用して画像をアップロードすると、次の利点があります:

  • 検索エンジン内の画像インデックスを最新の状態に保ちます。

  • 単一の OSS バケットで、開発プロジェクトや本番プロジェクトなど、複数の環境に対応できます。

  • ビジネスニーズに基づいて、さまざまなソースからの画像をより適切に整理および管理するのに役立ちます。

  • 開発プロジェクトやユーザー受け入れテスト (UAT) プロジェクトなど、複雑な環境でのプロジェクト管理を簡素化します。

  • 画像を一度アップロードするだけで複数のアプリケーションで使用できるため、ネットワーク帯域幅の使用を最適化します。

  • 画像管理ワークフローを標準化し、拡張することができます。

制限事項

  • 画像のサイズは最大 4 MB です。

  • 画像の幅と高さは 101~4,096 ピクセルの範囲である必要があります。

操作手順

ステップ 1:ossimport のダウンロード

ossimport は、スタンドアロンデプロイモードと分散デプロイモードをサポートしています。

  • スタンドアロンデプロイモード:30 TB 未満のデータを移行する場合に推奨されるモードです。ソースデータと OSS にアクセスできる任意のマシンに ossimport をデプロイできます。ダウンロードするには ossimport をクリックしてください。

  • 分散デプロイモード:30 TB を超えるデータを移行する場合に推奨されるモードです。ソースデータと OSS にアクセスできる複数のマシンに ossimport をデプロイできます。ダウンロードするには ossimport をクリックしてください。

説明

大量のデータを移行する時間を節約するために、ご利用の OSS バケットと同じリージョンにある ECS インスタンスに ossimport をデプロイしてください。その後、Express Connect を使用してソースデータサーバーをご利用の Virtual Private Cloud (VPC) に接続できます。複数の ECS インスタンスから内部ネットワーク経由で OSS にデータを移行すると、効率が大幅に向上します。

ステップ 2:OSS のアクティベーション

詳細については、「OSS のアクティベーション」をご参照ください。

ステップ 3:バケットの作成

詳細については、「コンソールでのバケットの作成」をご参照ください。

説明

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

ステップ 4:increment.meta ファイルの作成

画像が保存されている OSS パスに increment.meta という名前のファイルを作成します。このファイルはバッチタスクの詳細を定義します。

説明
  1. increment.meta で指定された画像は、ファイル自体と同じ バケット 内にある必要があります。

  2. ファイル名 increment.meta は固定です。名前を変更しないでください。

  3. 画像は同じバケット内の異なるパスに配置できます。PicName にはバケットのルートディレクトリからの相対パスを使用します。たとえば、バケット名が imagesearch で、increment.meta がルートディレクトリにある場合、girlCloth/ 内の画像は "PicName":"girlCloth/girl_cloth8.jpg" のように指定します。先頭または末尾にスラッシュ (/) を追加しないでください。

  4. 画像名にはファイル拡張子を含めてください。たとえば、"PicName":"girl_cloth10" ではなく "PicName":"girl_cloth10.jpg" を使用します。

  5. increment.meta の各行には、単一の画像操作を定義する必要があります。

次のコードは、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"}
{"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"}
{"OperationType": "ADD","ProductId": "1001","PicName": "girl_cloth3.jpg","CategoryId": 1,"CustomContent": "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}
{"OperationType": "ADD","ProductId": "1003","PicName": "girl_cloth7.jpg","CustomContent": "https://www.aliyun.com/imagesearch/girl_cloth7.jpg"}
{"OperationType": "ADD","ProductId": "1003","PicName": "girl_cloth6.jpg","CustomContent": "k1:v1,k2:v2,k3:v3"}
{"OperationType": "ADD","ProductId": "1006","PicName": "girlCloth/girl_cloth10.jpg","CustomContent": "k1:v1,k2:v2,k3:v3"}
{"OperationType": "DELETE","ProductId": "1004","PicName": "fengyi.jpg"}
{"OperationType": "DELETE","ProductId": "1005"}

各操作は JSON 形式で定義されます。次の表にフィールドの説明を示します。

パラメーター

タイプ

必須

説明

OperationType

文字列

はい

操作のタイプ。

  • ADD:画像を追加します。

  • DELETE:画像を削除します。

ProductId

文字列

はい

画像のユニークな識別子。最大 256 文字です。

PicName

文字列

はい

OSS バケット内の画像の名前。最大 256 文字です。

重要
  1. 各行には 1 つの画像名のみを含めることができます。1 つの ProductId に複数の画像がある場合は、それぞれに別の行を作成してください。

  2. ファイル拡張子を含めてください。たとえば、girl_cloth ではなく girl_cloth.jpg を使用します。

  3. 既存の画像と同じ ProductIdPicName を持つ画像を追加すると、内容に関係なく元の画像が上書きされます。

  4. インデックスに追加される画像は、次の要件を満たす必要があります:

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

    • サポートされているフォーマット:PNG、JPG、JPEG、BMP、GIF、WEBP、TIFF、PPM。

    • 転送タイムアウトは 5 秒を超えてはなりません。

    • 商品画像検索、一般的な画像検索の場合、画像の幅と高さは 100~4,096 ピクセルの範囲である必要があります。

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

CategoryId

整数

いいえ

画像のカテゴリ。有効なカテゴリは「カテゴリリファレンス」に記載されています。

  • 商品画像検索の場合、指定されたカテゴリは有効でなければなりません。そうでない場合、インデックス作成は失敗します。

  • カテゴリを指定しない場合、システムがカテゴリを予測し、応答で返します。

  • 一般的な画像検索の場合、入力に関係なく、システムはカテゴリを 88888888 に設定します。

CustomContent

文字列

はい

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

説明

検索結果にはこの値が含まれます。このフィールドを使用して、画像の URL やその他の追加情報を保存し、画像をビジネスデータにリンクさせることができます。

IntAttr

整数

いいえ

検索結果をフィルタリングするための整数属性。

説明

整数属性をフィルター条件で使用して、検索結果をフィルタリングします。詳細については、「フィルター条件」をご参照ください。

StrAttr

文字列

いいえ

文字列属性。最大 128 文字です。検索クエリでのフィルタリングに使用されます。

説明
  • 文字列属性をフィルター条件で使用して、検索結果をフィルタリングします。詳細については、「フィルター条件」をご参照ください。

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

Crop

ブール値

いいえ

主体識別を実行するかどうかを指定します。デフォルト:true

  • true:システムは主要な主体を識別し、それに基づいて検索します。

  • false:システムは主体識別なしで画像全体に基づいて検索します。

Region

文字列

いいえ

画像の主題領域を x1,y1,x2,y2 の形式で指定します。ここで、(x1, y1) は左上隅、(x2, y2) は右下隅です。

説明

このパラメーターが設定されている場合、Crop パラメーターは無視されます。

ステップ 5:OSS へのアクセス権の付与

バッチ操作では、Image Search がご利用の OSS リソースにアクセスする必要があります。この機能を初めて使用する際に、この権限付与を行ってください。すでに権限が付与されている場合は、このセクションをスキップしてください。

ステップ 6:画像のアップロード

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

  2. 対象のサービスタイプとインスタンスを選択します。

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

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

    [バッチタスクの作成] ダイアログボックスで、必須の [バケット名][パス] を設定し、[Meta ファイル] を確認し、オプションで [完了時のコールバック] URL を指定して、[OK] をクリックします。

    • リージョン

      インスタンスが存在するリージョン。

    • バケット名

      OSS で作成したバケットの名前。

      重要

      OSS バケットは、ご利用の Image Search インスタンスと同じリージョンにある必要があります。

    • パス

      画像と increment.meta ファイルのストレージパス。

      たとえば、中国 (上海) のバケット imagesearch1 に画像と increment.metaimagesearch/ フォルダにある場合、そのパスを入力します。

    • Meta ファイル

      処理対象の画像をリストしたファイル。システムは、increment.meta という名前のファイルが存在するかどうかを確認します。

    • 完了時のコールバック

      コールバック URL を入力します。HTTP および HTTPS の URL のみがサポートされています。

      {
        "finishTime": "2021-05-19 17:50:00",
        "instanceId": "imagesearch-cn-xxxx",
        "instanceName": "instanceName",
        "message": "success",
        "processResultUrl": "https://image-search-task-info.oss-cn-shanghai.aliyuncs.com/yyyyyyyyyy",
        "status": "NORMAL",
        "taskId": 111
      }

      フィールド

      説明

      finishTime

      タスク完了時間 (秒単位の精度)。

      instanceName

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

      instanceId

      Image Search インスタンスの ID。

      status

      タスク結果:NORMAL (成功) または FAIL (失敗)。

      taskId

      タスク ID。

      message

      結果の説明。success は操作が成功したことを示します。

      processResultUrl

      エラーレポートをダウンロードするための URL。

結果の確認

タスクが完了した後、そのステータスを表示できます。

  • [バッチ操作] タブのタスクリストには、各タスクのステータスが表示されます。タスクが成功した場合、メッセージは [Success] となります。一部のイメージの処理に失敗した場合は、部分的な失敗を示すメッセージが表示されます。[結果のダウンロード] をクリックして詳細を確認してください。失敗したタスクの詳細については、「増分履歴の表示」をクリックしてください。タスクを再実行するには、「操作」列の [再送信] をクリックしてください。タスクの失敗に関する詳細については、増分タスクの送信が失敗する原因をご参照ください。

  • 画像をアップロードした後、検索機能をテストします。インスタンスの [画像で検索] タブに移動します。左側のペインで、検索タイプを [SearchByPic] に設定し、検索画像をアップロードし、[オブジェクト検出] を有効にして [自動] を選択し、[結果の数][開始位置] を設定してから、[OK] をクリックします。右側のペインには、生の JSON 応答が表示されます。返された auctions 配列の各レコードには、score (類似度スコア)、picName (画像名)、productId (商品 ID) などのフィールドが含まれます。score が高いほど、検索画像との類似性が高いことを示します。图搜搜索.png