ブロックリファレンス

BLOCKS Reference

Box

Boxから変数へロード

概要

このブロックは、Boxopen_in_new上のファイルを読み取り、その内容を変数に格納します。

このブロックを利用することで、Box上のファイルを使ってモデルジェネレーターの予測をしたり、Box上のファイルからBigQueryへデータを投入することなどが可能となります。

infoこのブロックは、フローデザイナーのメモリの使用量の制限により、大規模なファイルの扱いは困難です。Box上の大規模なファイルを扱う場合は、「BoxからGCSへファイルをコピー」ブロックの利用をおすすめします。

Box上のファイルは、そのまま読み込むこともできますが、[ファイル形式]プロパティを適切に設定することで、他ブロックの利用に即した形式へ変換して読み込むこともできます。

ファイル形式 説明
(none) ファイル内容をそのまま変数に格納します。
バイナリ(Base64)

ファイル内容をBase64open_in_newでエンコードして、変数に格納します。

info[モデルジェネレーター予測(オンライン)]ブロックを使って画像を分類する場合は、このファイル形式を選択してください。

JSON ファイル内容をJSON形式で解析し、オブジェクトに変換して、変数に格納します。
CSV

ファイル内容をCSV形式で解析し、オブジェクトに変換して、変数に格納します。CSVファイルの各フィールドは、オブジェクト変換時にすべて文字列として扱われます。

CSVの形式は、以下のようなフィールド名を持つヘッダー行があることを前提としています。フィールド名を持つヘッダー行とは、他の行と同じ個数のフィールドを持ち、フィールドの名称が列挙されている行のことです。

field_name_1,field_name_2,field_name_3
aaa,bbb,ccc
xxx,yyy,zzz

この形式のCSVを読み込むと、以下のようなオブジェクトが変数に格納されます。

[
  {
    "field_name_1": "aaa",
    "field_name_2": "bbb",
    "field_name_3": "ccc"
  },
  {
    "field_name_1": "xxx",
    "field_name_2": "yyy",
    "field_name_3": "zzz"
  }
]

info[モデルジェネレーター予測(オンライン)]ブロックを使って数値分類や数値回帰を行う場合は、以下のようにキー用のフィールドの名称をkeyとし、予測因子のフィールドにそれぞれの項目名を指定したヘッダー行を用意してください。

key,sepal_length,sepal_width,petal_length,petal_width
1,5.9,3.0,4.2,1.5
2,6.9,3.1,5.4,2.1
3,5.1,3.3,1.7,0.5

数値はすべて文字列に変換されますが、[モデルジェネレーター予測(オンライン)]ブロックでは、数値を文字列としたデータも受け付けるため、問題ありません。

プロパティ

プロパティ名 説明
ブロック名

編集パネルに配置した当該ブロックの表示名が変更できます。

ブロックリストパネル中のブロック名は変更されません。

Boxサービスアカウント

Boxアカウントを選択します。

infoBoxサービスアカウントは、あらかじめフローデザイナーの設定Boxサービスアカウントで設定を済ませておく必要があります。

ユーザーID

BoxサービスアカウントのユーザーIDを指定します。

ユーザーIDは、以下の手順で取得できます。

  1. 開発者コンソールopen_in_newからアプリを選択
  2. アプリ情報」の「ユーザーID」の値を転記

warningBoxサービスアカウント(Boxアプリ)のアプリケーションアクセスがアプリケーションの場合は、何も入力しないでください。

読み込みファイルパス

読み込みたいファイルのBox上の位置を以下の形式で指定します。

  • /ファイル
  • /フォルダー/ファイル

info先頭の/は、Boxの「すべてのファイル」ページを示します。フォルダー名とファイル名の間にある/は、フォルダー名とファイル名を切り分けるための区切り文字です。

/ファイルは、Boxの「すべてのファイル」ページに表示されているファイルを指定する場合の形式です。「すべてのファイル」ページに表示されているファイルsample.pngを指定する場合は、/sample.pngとします。

/フォルダー/ファイルは、フォルダー内にあるファイルを指定する場合の形式です。「すべてのファイル」ページに表示されているBLOCKSというフォルダーの中にあるファイルsample.pngを指定する場合は、/BLOCKS/sample.pngとします。

infoフォルダーが入れ子になっている場合は、/フォルダー1/フォルダー2/ファイルのような形式で指定します。
フォルダーAの中にフォルダーBがあり、そのフォルダーBの中にあるファイルsample.pngを指定する場合は、/A/B/sample.pngとします。

変数展開の指定が可能][%形式の文字列書式の指定が可能]
ファイルデータを格納する変数 読み込んだファイルの内容を格納する変数を指定します。
ファイル形式

読み込むファイルの形式を[(none) /バイナリ(Base64) / JSON / CSV]から選択します。

ブロックメモ このブロックに関するメモが記載できます。このブロックの処理に影響しません。
CSVの区切り文字

[ファイル形式]プロパティが[CSV]の場合、CSVファイルの区切り文字を[カンマ(,) /タブ/パイプ(|) /その他]から選択します。

[その他]を選択した場合は、[その他]の横の入力フィールドに、区切り文字を指定してください。

読み飛ばし行数 [ファイル形式]プロパティが[CSV]の場合、先頭から何行を読み飛ばすかの行数を指定します。
クオート記号を指定 [ファイル形式]プロパティが[CSV]の場合、フィールドを囲むためのクオート記号を指定します。

使用例

ここでは、Box上のCSVファイルをBigQueryテーブルに登録する例を紹介します。

おおまかな流れは以下のとおりです。

  1. 「Boxから変数へロード」ブロックで、Box上のCSVファイルの内容を変数に格納
  2. 変数からテーブルへロード」ブロックで、変数の内容をBigQueryテーブルへ格納

Box上のCSVファイルとBigQueryテーブルの情報は、以下のとおりです。

項目 内容
Boxファイル名 sales_data.csv
ファイル内容
Date,Time,Product_Name,Price,Quantity,Total
2023-01-01,AM,コーヒー,150,2,300
2023-01-01,AM,おにぎり,120,3,360
2023-01-01,PM,スナック,100,1,100
2023-01-02,AM,ジュース,120,1,120
2023-01-02,PM,サンドイッチ,300,2,600
2023-01-03,AM,弁当,450,1,450
2023-01-03,PM,アイスクリーム,200,2,400
2023-01-04,AM,お茶,100,3,300
2023-01-04,PM,チョコレート,80,2,160
2023-01-05,AM,おにぎり,120,2,240
2023-01-05,PM,ケーキ,500,1,500
2023-01-06,AM,コーヒー,150,2,300
2023-01-06,AM,おにぎり,120,3,360
2023-01-06,PM,スナック,100,1,100
2023-01-07,AM,ジュース,120,1,120
2023-01-07,PM,サンドイッチ,300,2,600
2023-01-08,AM,弁当,450,1,450
2023-01-08,PM,アイスクリーム,200,2,400
2023-01-09,AM,お茶,100,3,300
2023-01-09,PM,チョコレート,80,2,160
2023-01-10,AM,おにぎり,120,2,240
2023-01-10,PM,ケーキ,500,1,500
BigQuerデータセット example
BigQueryテーブル sales_table
スキーマ
列名 データ型
Date DATE
Time STRING
Product_Name STRING
Price INTEGER
Quantity INTEGER
Total INTEGER

「Boxから変数へロード」ブロックで、Box上のCSVファイルの内容を変数に格納するには、以下のように定義します。

設定するプロパティと指定値は以下のとおりです。

プロパティ 指定値
Boxサービスアカウント ご自身のBoxサービスアカウント
ユーザーID ご自身のBoxユーザーID
読み込みファイルパス /sales_data.csv
ファイルデータを格納する変数 _
ファイル形式 CSV

「変数からテーブルへロード」ブロックで、変数の内容をBigQueryテーブルへ格納するには、以下のように定義します。

設定するプロパティと指定値は以下のとおりです。

プロパティ 指定値
投入データの変数 _
投入先のデータセット example
投入先のテーブル sales_table
スキーマ設定 上図のとおり

この2つのブロックを組み合わせてフローの完成です。

この情報は役に立ちましたか?