こんにちは。CData Software Japan リードエンジニアの杉本です。
今回はクラスメソッド社が提供する、Amazon S3、Google Cloud Storageへのデータアップロードサービスである、CSA Data UploaderでCData ODBC Driverを利用する方法を紹介します。
CSA Data Uploaderとは?
CSA Data Uploader はクラウド(Amazon S3、Google Cloud Storage™)へのアップロードやシンプルなデータ加工を実現するためのクライアント型アプリケーションです。
classmethod.jp
オンプレのRDB(基幹システムなどのデータ)や外部のBlobストレージなどから、Amazon S3・Google Cloud Storageにデータをアップロードすることで、AWS・GCPのデータ分析基盤で可視化するためのデータの前処理として利用することが可能となっていて、現在データソースとしては下記の4種類をサポートしています。
通常であれば、オンプレのRDBとして、MySQLやSQL Server・Oracle DBなどにしか接続できませんが、CSA Data Uploaderは内部の接続モジュールとして「ODBC」が利用されています。
CData Software Japanでは、RDB以外にも、SalesforceやKintoneなどのクラウドサービスに接続することができる「ODBC Driver」を提供しているので、このODBCの接続モジュールとCData ODBC Driversを活用することで、CSA Data Uploader から様々なクラウドサービスへのコネクティビティを実現することが可能となります。
www.cdata.com
シナリオ
今回はODBCを使ったシンプルな連携の実施方法として、CData ODBC Driver経由でSalesforceのデータを取得し、Amazon S3 にデータ(CSV)をアップロードする方法を解説します。
最終的に作成するジョブは以下のようなイメージとなります。
このジョブを実行することで、以下のようなSalesforceデータのCSVファイルがAmazon S3にアップロードされるので、このデータを活用してAmazon Athena等を通じてデータの分析に繋げることが可能となります。
なお、今回のシナリオではSalesforceを例に紹介していますが、CData で提供するKintoneやMarketo・Amazon MarketplaceなどのODBC Driverも同様に接続が可能です。
www.cdata.com
手順
CSA Data Uploader のインストール
まず、CSA Data Uploaderを入手して、任意のフォルダに展開します。
CSA Data Uploaderはフリー版があり、以下のURLから入手できます。なお、Windows版とLinux版がありますが、今回はLinux版を使用しました。
classmethod.jp
その後、コマンドラインで「csa_du.exe」を実行すると、対象のポート番号でCSA Data Uploaderが立ち上がります。
C:\Work\Software\csa_du-v1>C:\Work\Software\csa_du-v1\csa_du.exe
2021/01/13 09:34:54 Running in terminal.
I: 09:34:54 Running in terminal.
⇨ http server started on [::]:8889
CSA Data Uploaderのデフォルトのポート番号は80ですが、私の環境ではすでに埋まっているので、8889に切り替えています。
詳しい構成方法については、以下のページを参照してみてください。
user-guide.csa-du.cs-analytics.info
Amazon S3 バケットの準備
次に転送先となるAmazon S3のバケットとフォルダを準備しておきます。
今回は「s3://cdatadatapipeline/salesforce/」というパスで準備しました。
バケットを作成後、以下の手順に従って、AWS CLIの設定を済ませておきます。
user-guide.csa-du.cs-analytics.info
CData ODBC Salesforce Driver のセットアップ
続いてCData ODBC Salesforce Driver をセットアップします。
以下のURLからトライアル版を取得し、CSA Data Uploader と同じ環境でセットアップを行います。
www.cdata.com
セットアップ後、以下のように接続設定画面が立ち上がるので、Salesforce への接続に必要な認証情報を設定します。
プロパティ名 |
値 |
備考 |
User |
YOUR_USER_NAME |
ログインユーザーのUserIdを指定します。 |
Password |
YOUR_USER_PASSWORD |
ログインユーザーのPasswordを指定します。 |
Security Token |
例)2Jfbxxxxxxxxxx9FNEe |
Salesforceの設定画面から取得したセキュリティトークンを指定します。取得方法はこちら |
入力後、接続テストをクリックして、接続が成功すればODBCの準備は完了です。
ODBC接続の追加
続いて、CSA Data Uploader 側の準備を行います。
まずは、先程構成したODBCの接続設定をCSA Data Uploaderに追加しましょう。
CSA Data Uploaderの画面から「設定」→「ODBC」に移動し
「追加」をクリックします。
この画面で種別を「汎用ODBC」、「データソース名」で先程作成したODBC DSNを選択します。
入力後、接続テストが成功すれば設定は完了です。
Amazon S3接続の追加
続いて、Amazon S3の接続設定も追加します。
「設定」→「Amazon S3」に移動し
「追加」をクリックします。
任意の接続情報名と、事前に登録したAWSプロファイル名を入力します。
入力後、検証をクリックして問題が無ければ保存します。
ジョブの作成
最後にどういったスケジュールで、どのデータをどこのAmazon S3バケット・フォルダーに転送するか? を設定するためのジョブを作成します。
「ジョブ」のページに移動して「ジョブを作成」をクリックし
任意の名称でジョブを作成します。ジョブ種別は「データアップロード」を選んでください。
ジョブは最初に入力対象となるデータを設定します。
入力種別では、ODBC接続を選択し、データソース名で先程設定したSalesforceのODBC DSNを選択します。
合わせて、どのようにSalesforceからデータ取得を行うか? を定義するため、SQLベースのクエリを記述します。
例えば、取引先を取得したい場合は以下のようにSQLを記述します。
SELECT * FROM Account
利用可能なSELECTステートメントは、CData Driverのヘルプページで参照できます。
cdn.cdata.com
また、接続可能なテーブル(Salesforceのオブジェクト)はODBC DSNのテーブルタブで確認できます。Salesforce Driverは自動的にSalesforce上のカスタムオブジェクトやカスタムフィールドなども識別するので、ここで事前にアクセス可能なテーブル・カラムを確認しておくと良いでしょう。
入力設定を保存したら、「データ表示」ボタンをクリックすることで実際にSalesforceから取得したデータを確認できます。
以下のようにプレビューが表示されれば設定はOKです。
出力設定
続いて出力設定を登録します。
今回はAmazon S3にデータをアップロードするので出力種別で「S3アップロード」を選択します。
続いて、ファイルの種別・区切り文字等任意のフォーマットを指定します。
Amazon S3の接続名には、事前に登録しておいた接続先を指定し、任意のバケットとバケットのフォルダーパスを選択します。
これでジョブが完成です。
ジョブの実行
それではジョブを実行してみましょう。
右下の「保存して実行」ボタンをクリックすることで、ジョブが正常に動作するかどうか確認できます。
「今すぐジョブを実行」のダイアログが開くので、「現在の日時で実行」する設定で、進めます。実行結果の通知は「通知する」を選んでおくと良いでしょう。
あとは「実行」ボタンをクリックするだけです。
ジョブが正常に完了すると、以下のように通知メッセージが表示されます。
対象のAmazon S3のバケットを見てみると、以下のようにCSVファイルが作成されていることを確認できました。
実際にCSVを開いてみると、以下のようにSalesforceのデータが取得できています。
おわりに
CData ODBC DriverはSalesforce以外にも多様なデータソースをサポートしています。
すべて30日間のトライアルを提供しているので、是非自社で使っているデータソースの連携にCSA Data Uploaderと合わせて活用してみてください。
www.cdata.com
また、ODBC接続等でわからない点があれば、テクニカルサポートまでお気軽にどうぞ。
https://www.cdata.com/jp/support/submit.aspx
関連コンテンツ