はじめに
本記事ではセルフサービスデータ分析プラットフォーム Alteryx でデータ加工したファイルをBoxのクラウドストレージにアップロードする方法をご紹介します。
概要
Alteryx DesignerにてローカルマシンのCSVファイルをBoxにアップロードします。実際のユースケースとしてもAlsteryxDesignerにて加工したデータを最終的にBoxに格納するシーンでご利用いただけると思います。Boxへの接続にはCData Box ODBC Driverを利用します。
手順
CData ODBC Driver for Boxのインストール
こちらのサイトからCData Box ODBC Driverをダウンロードしてインストールします。30日間ご利用いただける無償評価版がございます。
※2020/08/29現在、最新版ビルドのみ対応しております。対応版はこちらからダウンロードください。
Boxへの接続設定
インストールが完了するとデフォルトでは、ODBCのDSN設定が開きます。一度閉じてしまった場合は「ODBC データアドミニストレータ(64ビット)」のユーザDSNタブから開いてください。
CData ODBC Driver for Box - DSN構成画面の「接続のテスト」ボタンをクリックします。
ブラウザが起動してBoxへのログイン画面が表示されます。
Boxへのアクセスを許可します。
認証が成功したことを確認してブラウザを閉じます。
ダイアログで「接続テストに成功しました。」というメッセージを確認して「OK」ボタンをクリックして、更にCData ODBC Driver for Box -DSN構成画面の「OK」ボタンをクリックして閉じます。
Alteryx Desgner からBoxへのファイルアップロード
Alteryx Designerを開き、データ入力(Data Input)を選択してワークフローに配置します。
「データ入力」の設定にて「ファイルまたはデータベースを接続」右横の「▼」ボタンをクリックしてデータ接続一覧ダイアログを開きます。左側リストの「データソース 」> 「すべてのデータソース 」から「汎用接続 > ODBC」を選択します。
ODBC接続ダイアログが表示されるのでデータソース 名に「CData Box Source(ユーザー)」を選択します。 ※ODBC DSNをシステムDSNで作成した場合は「CData Box Sys (システム)」を選択ください。
「テーブルの選択またはクエリを指定」ダイアログが開くので「SQL Editor」を開きます。以下のSELECT構文でローカルファイルのパスを引数にセットします。なお、パス指定のバックスラッシュは二重とする必要があります。
SELECT * FROM UploadFile('C:\\Work\\test.csv')
OKボタンをクリックして「テーブルの選択またはクエリを指定」ダイアログを閉じます。フロー定義を保存して「実行」してみましょう。結果にSuccess=Trueが出力されれば成功です。
Box側をみてみましょう。アップロードしたファイルが追加されていることを確認します。
再度同じフローを実行するとフローの実行が失敗して「Item with the same name already exists.」エラーが発生することがあります。
このエラーは、既に同名ファイルが存在しているため発生しますので実行前に同名ファイルが存在していたら削除するなどの工夫が必要です。また、以下のようにSELECT文内の「UploadFile」を「UploadFileVersion」に変更して第二引数にファイルのIdを指定することで既存ファイルのバージョンをアップするということも可能です。
SELECT * FROM UploadFileVersion('C:\\Work\\test.csv', 713211677638)
第二引数のファイルIdはBoxのファイルを選択した時のURLからも確認可能です。
上の手順では、Boxのルートディレクトリにファイルをアップロードしましたが任意のフォルダにアップロードすることも可能です。Box側のルート直下に「AlteryxUpload」というフォルダを作成します。
フォルダのIdを確認します。
SELECT文内の「UploadFileVersion」を再度「UploadFile」に戻し、第二引数にフォルダのIdを指定して実行します。
SELECT * FROM UploadFile('C:\\Work\\test.csv', 121771160969)
「AlteryxUpload」フォルダ配下にファイルがアップロードされることを確認できれば成功です。
まとめ
本記事ではAlteryx DesignerでローカルディレクトリのファイルをBoxのクラウドストレージにアップロードする方法をご紹介しました。CData ODBC Driverを利用するとアップロードだけではなくBox内のファイルをダウンロード、もしくは、Box内のExcelやCSVファイルのレコードを読み込むことも可能です(※ CData CSV/Excel ODBC Driverの利用)。また、Boxだけでなく、Dropbox、OneDrive、GDrive、S3といった多様なクラウドストレージについても同様に連携が可能です。CData ODBC Driverについてはこちらのサイトから30日ご試用可能な試用版がございますので是非お試しください。