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

はじめに

ABEJA Platform はあらゆるデータの保存と取得が可能な機能を持つデータレイクを提供しています。 データレイクはチャンネルという概念を持ち、各チャンネルを通じてデータの保存と取得を行うことができます。

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

SDKのインストール

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

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

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

$ 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 SDKの認証はユーザー認証で行うため、認証情報の確認方法を参照の上、 ユーザーIDとパーソナルアクセストークンを確認します。

SDKで使用する認証情報の設定を行います。 今回は環境変数に認証情報を設定する方法で実行します。以下のように環境変数を設定します。

$ export ABEJA_ORGANIZATION_ID='0123456789123'
$ export ABEJA_PLATFORM_USER_ID='user-1111111111111'
$ export ABEJA_PLATFORM_PERSONAL_ACCESS_TOKEN='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

環境変数を使用する方法以外に、ソースコード内で認証情報を設定する方法が用意されており用途に応じて2つの設定方法を使い分けることが可能です。ソースコードから認証情報を設定する方法については ABEJA Platform SDK Documentationを参照ください。

Pythonプログラムの実行 

以下のプログラムを実行し、各ディレクトリ内のファイルをデータレイクへアップします。

from abeja.datalake import Client

client = Client()
channel_id = '1234567890123'

channel = client.get_channel(channel_id)

# upload cats dir
cat_metadata = {
    'label': 'cat'
}
channel.upload_dir('./cats', metadata=cat_metadata)

# upload dogs dir
dog_metadata = {
    'label': 'dog'
}
channel.upload_dir('./dogs', metadata=dog_metadata)

ファイルの確認

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

3-datalake-file-uploaded-by-sdk.png