edit-icon download-icon

画像のアップロード

最終更新日: Jun 28, 2020

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

画像のアップロード方法

Image Search では、API アクションを呼び出すか OSSImport を使用して画像をアップロードできます。

  • 少数の画像をアップロードしたいが、エンタープライズ版の Image Search を使用していない場合は、Image Search API 操作を使用することを推奨します。API 操作を使用して画像をアップロードする方法については、「画像の追加」をご参照ください。この方法を選択した場合は、このトピックの残りをスキップできます。
  • 大量の画像をアップロードする場合、またはエンタープライズユーザーの場合は、OSSImport ツールを使用して画像をアップロードすることを推奨します。詳細については、以下の 「手順」をご参照ださい。

OSSImport ツールの紹介

OSSImport は、データを OSS バケットに移行するために Alibaba Cloud Object Storage Service (OSS) によって提供されるツールです。ローカルサーバー、または Elastic Compute Service (ECS) インスタンスに OSSImport をデプロイできます。

OSSImport を使用して画像をアップロードする利点は次のとおりです。

  • 画像をリアルタイムで Image Search に更新できます。
  • 開発プロジェクトやオンラインプロジェクトなどのさまざまなプロジェクトが同じ OSS バケットを共有できます。
  • 各サービスユニットは、それぞれの OSSImport メタデータファイルに従って、画像をアップロードおよび更新できます。
  • 大量の画像を一度にアップロードして、さまざまなシナリオで使用することができます。これにより、ネットワーク帯域幅を最大限に活用できます。

OSSImport ツールを使用して画像をアップロードする

前提条件

  • アップロードする各画像のサイズが 2 MB 以下であること。
  • 各画像の高さと幅は、どちらも 200 ピクセルから 1024 ピクセルの範囲であること。

手順

  1. OSSImport ツールをダウンロードします。

    このツールは、スタンドアロンモードと分散モードのどちらでもダウンロードできます。

    • 合計データサイズが 30 TB 未満の小規模データ移行シナリオには、スタンドアロンモードを推奨します。 スタンドアロンモードの OSSImport をダウンロード
    • 大規模なデータ移行シナリオでは、分散モードを推奨します。OSS にアクセスできる 1 つ以上のマシンに OSSImport をデプロイできます。します。分散モードの OSSImport をダウンロード

      大規模にデータを移行する場合は、OSS の同じリージョンにある ECS インスタンスに OSSImport をデプロイし、プライベート回線を使用して、ソースデータが格納されているサーバーを Alibaba Cloud Virtual Private Cloud (VPC) にマウントすることを推奨します。インターネットを使用して、複数の ECS インスタンスから OSS にデータを移行することで効率を向上させることができます。

  2. OSS にサインアップします。

  3. OSS バケットを作成します。バケットは、画像をアップロードする Image Search インスタンスと同じリージョンにある必要があります。詳しくは、「バケットの作成」をご参照ください。

  4. 画像をインポートします。

    OSS バケットに画像をインポートするには、次のガイドラインに従ってください。

  • 画像が保存されるパスは、カスタマイズできます。パスを指定したら、[インポート] をクリックして画像をインポートします。

  • 指定したパスに increment.meta ファイルが作成されていることを確認してください。このファイルは OSS インポートタスクに関する情報を保存するために使用されます。ファイル形式は次の要件を満たす必要があります。
    • 各行は 1 つの画像にのみ対応します。
    • 次の表に示すように、各画像に関する情報は JSON 形式でエンコードされています。

フィールド タイプ 説明 備考
OperationType String 操作 実行する操作を指定します。

ADD: プロダクトまたは画像を追加します。

DELETE: プロダクトまたは画像を削除します。
ProductId String プロダクトまたは画像の一意の識別子 プロダクト検索の場合、プロダクト ID を指定します。

一般画像検索の場合、画像名を指定します。
CategoryId Integer カテゴリー情報 プロダクト検索の場合、未指定のままにするか、カテゴリー一覧に従って値を設定することができます。

一般画像検索の場合、未指定のままにするか、「88888888」に設定することができます。
CustomContent String カスタムコンテンツ システムに対して読み取り専用で、検索結果に表示されるカスタムコンテンツを指定します。
PicName String 画像リスト インポートしたい画像の名前のリストを指定します。

  • increment.meta ファイルの例:

    1. {"OperationType":"ADD","ProductId":"1000", "CategoryId":0, "CustomContent":"k1:v1,k2:v2,k3:v3","PicName":"girl_cloth1.jpg"}
    2. {"OperationType":"ADD","ProductId":"1001", "CategoryId":1,"CustomContent":"k1:v1,k2:v2,k3:v3", "PicName":"girl_cloth3.jpg"}
    3. {"OperationType":"ADD","ProductId":"1002", "CategoryId":0, "CustomContent":"k1:v1,k2:v2,k3:v3", "PicName":"girl_cloth4.jpg"}
    4. {"OperationType":"ADD","ProductId":"1003", "CustomContent":"k1:v1,k2:v2,k3:v3", "PicName":"girl_cloth6.jpg"}
    5. {"OperationType":"DELETE","ProductId":"1004", "PicName":"fengyi.jpg"}
    6. {"OperationType":"DELETE","ProductId":"1005"}
  • increment.meta ファイルにリストされているすべての画像は、increment.meta ファイルと同じパスに保存されます。


5. RAM ロールを作成します。

a) RAM コンソールにログインします。

b) 左側のナビゲーションウインドウで、[RAM ロール] をクリックします。

c) [RAM ロールの作成] をクリックします。

1

d) [Alibaba Cloud Service] を選択して、[次へ] をクリックします。

2

e) RAM ロール名を入力し、[信頼できるサービスの選択] ドロップダウンリストから [Image Search] を選択し、[OK] をクリックします。

3


6. ポリシーを作成します。

デフォルトでは、新しく作成されたロールには権限がありません。ロールに適切な権限を付与するためのポリシーを作成する必要があります。 たとえば、次のように、「imagesearch-increment」という名前のバケットの /increment パスに、画像をインポートするためのポリシーを作成することができます。

  1. {
  2. "Version": "1",
  3. "Statement": [
  4. {
  5. "Effect": "Allow",
  6. "Action": [
  7. "oss:GetObject"
  8. ],
  9. "Resource": [
  10. "acs:oss:*:*:imagesearch-increment/increment/*"
  11. ]
  12. }
  13. ]
  14. }


7. ポリシーを RAM ロールにアタッチします。

a) RAM コンソールにログインします。

b) 左側のナビゲーションウインドウで、[ポリシー] をクリックします。

c) [ポリシーの作成] をクリックします。

4

d) ポリシー名を入力し、[設定モード] を [スクリプト] に設定し、手順 6 で作成したポリシードキュメントを貼り付けて、[OK] をクリックします。

5

e) RAM コンソールに戻ります。

f) [RAM ロール] ページで、以前に作成した RAM のロールを見つけ、[権限の追加] をクリックします。

6

g) ドロップダウンリストから [カスタムポリシー] を選択します。

h) [ポリシー名] 列で、ターゲットポリシーの名前をクリックして [OK] をクリックします。

7


8. [RAM ロール] ページに移動して、ロールの名前をクリックします。次に、[基本情報] セクションで ARN を見つけます。

8


9. OSS から画像をインポートします。

a) Image Search を有効化してインスタンスを作成します。

b) [一般画像検索インスタンス] ページで、[詳細情報] > [インポート] の順に選択し、必要な情報を入力してから [インポート] をクリックします。

9

c) Image Search コンソールでインスタンス ID をクリックしてインポートステータスを確認します。

10

インポートステータスが [失敗] の場合は、[インポート履歴の表示] をクリックして詳細を取得します。詳しくは、「OSS インポートがエラーになる原因には、何が考えられますか。」をご参照ください。

11


10. Image Search コンソールでサービスをテストします。

画像が正常にアップロードされたら、インスタンス ID をクリックします。次に [サービスのテスト] をクリックしてテストを実行します。

12