CLIでデータレイクへファイルをアップロードする

はじめに

このガイドでは ABEJA Platform CLI を使ってファイルをデータレイクへアップロードする方法について説明します。

CLI のインストール

ABEJA Platform CLI のインストール方法を確認しインストールを行います。

ディレクトリ内のファイルをアップロード

以下のような構成のディレクトリをアップロードします。

$ tree
.
├── cats
│   ├── cat-1.jpeg
│   ├── cat-2.jpeg
│   └── cat-3.jpeg
└── dogs
    ├── dog-1.jpeg
    ├── dog-2.jpeg
    └── dog-3.jpeg
2 directories, 6 files

認証情報の確認と設定

ABEJA Platform CLI の認証はユーザー認証で行うため、ユーザIDとパーソナルアクセストークン、オーガニゼーション名(またはID) を CONFIGURATION COMMAND の init サブコマンドを使用して設定します。

$ abeja config init
User ID              : 0123456789123
Personal Access Token: qwertyuiopasdfghjklzxcvbnm
Organization ID      : 1020304050234

CONFIGURATION init COMMAND で設定する方法以外に、[環境変数を使用する方法](https://developers.abeja.io/reference/cli/configuration-command/init/#環境変数)が用意されています。用途に応じて2つの設定方法を使い分けることが可能です。

CLI の実行

ABEJA Platform CLI では、DATALAKE COMMANDupload サブコマンドを使用し、ファイルあるいはディレクトリを指定してデータレイクへファイルをアップロードすることが出来ます。(ディレクトリを指定する場合は --recursive オプションを付与してください)

$ abeja datalake upload ./cats --channel_id 1234567890123 --recursive --metadata label:cat
$ abeja datalake upload ./dogs --channel_id 1234567890123 --recursive --metadata label:dog

ファイルの確認

コンソールのデータレイク詳細ページからアップロードしたファイルを確認することが出来ます。

4-datalake-file-uploaded-by-cli.png

個別にメタデータを指定してのアップロード

--file-list オプションを使用することで、ファイル毎に個別のメタデータを付与しつつファイルをアップロードすることも出来ます。

[
  {
    "file": "cats/cat-1.jpeg",
    "metadata": {
      "family": "cat",
      "form": "Tiger-cat"
    }
  },
  {
    "file": "dogs/dog-1.jpeg",
    "metadata": {
      "family": "dog",
      "form": "Akita",
    }
  }
]
$ abeja datalake upload --channel_id 1234567890123 --file-list ./upload.json

5-datalake-file-uploaded-by-cli-2.png