upload

説明

データレークへファイルをアップロードします。 ディレクトリを指定することでディレクトリに含まれるファイルを一括でアップロードすることができます。

概要

$ abeja datalake upload [PATH, ...] --channel_id <value> --metadata <name>:<value> --file-list <path> --save-result <value> --retry <value> --recursive--dry-run
[--help]

引数

PATH

アップロードするファイルまたはディレクトリへの相対パスまたは絶対パスを指定します。複数指定可能です。

オプション

--channel_id <id>

アップロード先のチャンネルの ID を指定します。

--metadata <name>:<value>

アップロードする全てのファイルに対しメタデータを付与します。メタデータは複数指定することが可能です。指定方法は <name>:<value> の形式で指定します。たとえば、以下のように指定します。

--metadata label:cat

複数のメタデータを指定する場合は、以下のように --metadata オプションを複数指定してください。

--metadata label:cat --metadata category:animal

--file-list <path>

アップロード対象となるファイルの一覧を JSON 形式の設定ファイルで指定します。設定ファイルの中身は、ひとつの配列を含み、配列の各要素は以下のプロパティを含みます。

  • file - (必須) アップロード対象となるファイルへの相対パスまたは絶対パスの文字列
  • metadata - ファイルに設定するメタデータを指定するためのオブジェクト

たとえば、以下の設定ファイルは test1.txt, test2.txt, test3.txt の 3 つのファイルを指定しています。

[{ "file": "test1.txt" }, { "file": "test2.txt" }, { "file": "test3.txt" }]

以下のように、異なるメタデータをそれぞれのファイルに指定できます。

[
  {
    "file": "images/sample1.jpg",
    "metadata": {
      "weight": 50,
      "size": 150,
      "kind": "W5"
    }
  },
  {
    "file": "images/sample2.jpg",
    "metadata": {
      "weight": 45,
      "size": 300,
      "kind": "E3"
    }
  }
]

--save-result <value>

アップロードしたファイルの情報を保存する場合にパスを指定します。 ファイルの情報は json として以下の形式で保存されます。

[
  {
    "file": "/path/to/filename.jpg",
    "file_id": "20180101T000000-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "metadata": {
      "x-abeja-meta-filename": "filename.jpg",
      "x-abeja-meta-foo": "2",
      "x-abeja-sys-meta-organizationid": "1234567890123"
    }
  },
  ...
]

--retry <value>

失敗した場合のリトライの有無を指定します。 値は ask, no, force のいずれかを取り、デフォルトでは ask が設定されます。

--recursive

アップロード対象に含まれるディレクトリを再帰的に探索する場合に指定します。

--dry_run

コマンドによりアップロードされるファイルの一覧を表示します。このオプションを指定した場合、実際のアップロードは行われません。

ファイルのデータレイクへのアップロード

指定されたファイルを、ID が 1234567890123 のチャンネルにアップロードします。また、sample-key というメタデータに sample-value を設定します。

$ abeja datalake upload ./upload_file.txt --channel_id 1234567890123 --metadata sample-key:sample-value

ディレクトリのデータレイクへの一括アップロード

./upload_dir ディレクトリ以下のすべてのファイルを、ID が 1234567890123 のチャンネルにアップロードします。また、sample-key というメタデータに sample-value を設定します。

$ abeja datalake upload ./upload_dir --channel_id 1234567890123 --metadata sample-key:sample-value --recursive