CData Software Blog

クラウド連携のCData Software の技術ブログです。

Alteryx Designer からBoxのクラウドストレージにファイルをアップロード

はじめに

本記事ではセルフサービスデータ分析プラットフォーム Alteryx でデータ加工したファイルをBoxのクラウドストレージにアップロードする方法をご紹介します。

概要

Alteryx DesignerにてローカルマシンのCSVファイルをBoxにアップロードします。実際のユースケースとしてもAlsteryxDesignerにて加工したデータを最終的にBoxに格納するシーンでご利用いただけると思います。Boxへの接続にはCData Box ODBC Driverを利用します。

f:id:kuwazzy:20200829122021p:plain

手順

CData ODBC Driver for Boxのインストール

こちらのサイトからCData Box ODBC Driverをダウンロードしてインストールします。30日間ご利用いただける無償評価版がございます。

www.cdata.com

※2020/08/29現在、最新版ビルドのみ対応しております。対応版はこちらからダウンロードください。

Boxへの接続設定

インストールが完了するとデフォルトでは、ODBCのDSN設定が開きます。一度閉じてしまった場合は「ODBC データアドミニストレータ(64ビット)」のユーザDSNタブから開いてください。

f:id:kuwazzy:20200829130830p:plain

CData ODBC Driver for Box - DSN構成画面の「接続のテスト」ボタンをクリックします。

f:id:kuwazzy:20200829130915p:plain

ブラウザが起動してBoxへのログイン画面が表示されます。

f:id:kuwazzy:20200829131042p:plain

Boxへのアクセスを許可します。

f:id:kuwazzy:20200829131219p:plain

認証が成功したことを確認してブラウザを閉じます。

f:id:kuwazzy:20200829131251p:plain

ダイアログで「接続テストに成功しました。」というメッセージを確認して「OK」ボタンをクリックして、更にCData ODBC Driver for Box -DSN構成画面の「OK」ボタンをクリックして閉じます。

f:id:kuwazzy:20200829131346p:plain

Alteryx Desgner からBoxへのファイルアップロード

Alteryx Designerを開き、データ入力(Data Input)を選択してワークフローに配置します。

f:id:kuwazzy:20200829134029p:plain

「データ入力」の設定にて「ファイルまたはデータベースを接続」右横の「▼」ボタンをクリックしてデータ接続一覧ダイアログを開きます。左側リストの「データソース 」> 「すべてのデータソース 」から「汎用接続 > ODBC」を選択します。

f:id:kuwazzy:20200829135237p:plain

ODBC接続ダイアログが表示されるのでデータソース 名に「CData Box Source(ユーザー)」を選択します。 ※ODBC DSNをシステムDSNで作成した場合は「CData Box Sys (システム)」を選択ください。

f:id:kuwazzy:20200829140110p:plain

「テーブルの選択またはクエリを指定」ダイアログが開くので「SQL Editor」を開きます。以下のSELECT構文でローカルファイルのパスを引数にセットします。なお、パス指定のバックスラッシュは二重とする必要があります。

SELECT * FROM UploadFile('C:\\Work\\test.csv')

f:id:kuwazzy:20200829140456p:plain

OKボタンをクリックして「テーブルの選択またはクエリを指定」ダイアログを閉じます。フロー定義を保存して「実行」してみましょう。結果にSuccess=Trueが出力されれば成功です。

f:id:kuwazzy:20200829140829p:plain

Box側をみてみましょう。アップロードしたファイルが追加されていることを確認します。

f:id:kuwazzy:20200829141440p:plain

再度同じフローを実行するとフローの実行が失敗して「Item with the same name already exists.」エラーが発生することがあります。

f:id:kuwazzy:20200829141647p:plain

このエラーは、既に同名ファイルが存在しているため発生しますので実行前に同名ファイルが存在していたら削除するなどの工夫が必要です。また、以下のようにSELECT文内の「UploadFile」を「UploadFileVersion」に変更して第二引数にファイルのIdを指定することで既存ファイルのバージョンをアップするということも可能です。

SELECT * FROM UploadFileVersion('C:\\Work\\test.csv', 713211677638)

f:id:kuwazzy:20200829142036p:plain

第二引数のファイルIdはBoxのファイルを選択した時のURLからも確認可能です。

f:id:kuwazzy:20200829142139p:plain

上の手順では、Boxのルートディレクトリにファイルをアップロードしましたが任意のフォルダにアップロードすることも可能です。Box側のルート直下に「AlteryxUpload」というフォルダを作成します。

f:id:kuwazzy:20200829142244p:plain

フォルダのIdを確認します。

f:id:kuwazzy:20200829142416p:plain

SELECT文内の「UploadFileVersion」を再度「UploadFile」に戻し、第二引数にフォルダのIdを指定して実行します。

f:id:kuwazzy:20200829142619p:plain

SELECT * FROM UploadFile('C:\\Work\\test.csv', 121771160969)

「AlteryxUpload」フォルダ配下にファイルがアップロードされることを確認できれば成功です。

f:id:kuwazzy:20200829142706p:plain

まとめ

本記事ではAlteryx DesignerでローカルディレクトリのファイルをBoxのクラウドストレージにアップロードする方法をご紹介しました。CData ODBC Driverを利用するとアップロードだけではなくBox内のファイルをダウンロード、もしくは、Box内のExcelCSVファイルのレコードを読み込むことも可能です(※ CData CSV/Excel ODBC Driverの利用)。また、Boxだけでなく、Dropbox、OneDrive、GDrive、S3といった多様なクラウドストレージについても同様に連携が可能です。CData ODBC Driverについてはこちらのサイトから30日ご試用可能な試用版がございますので是非お試しください。

www.cdata.com

f:id:kuwazzy:20200829143210p:plain