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

by 桑島義行 | August 31, 2020 | Last Updated: February 26, 2025

f:id:kuwazzy:20200829122021p:plain

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

概要

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

手順

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

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

www.cdata.com

Boxへの接続設定

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

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)を選択してワークフローに配置します。

Image2133

「データ入力」の設定にて「データ接続マネージャー(DCM)の使用」のチェックを外し、「接続を設定します」をクリックしてデータ接続一覧ダイアログを開きます。左側リストの「データソース 」> 「すべてのデータソース 」から「汎用接続 > ODBC」を選択します。

Image213

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

Image2135

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

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

Image2136

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

Image2137

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

f:id:kuwazzy:20200829141440p:plain

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

Image2138

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

SELECT * FROM EXECSP('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を指定して実行します。

Image2139

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

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

Image2140

まとめ

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

www.cdata.com