各製品の資料を入手。
詳細はこちら →CData
こんにちは!リードエンジニアの杉本です。
TranSpeed はユーザックシステムが提供するノンプログラミングデータ変換ツールです。豊富な変換ロジックと様々なRDB、CSVファイルなどに対応しているのが特徴で、RPAツール Autoジョブ名人のデータ変換機能としても利用されています。本記事では、TranSpeed からCData ODBC ドライバを利用してAmazon Athena のデータを取得、CSV ファイルに出力する方法を解説します。
TranSpeed ではRDB の取り込み設定という仕組みが標準提供されており、この機能を介してSQL Server やMySQL などにアクセスできるようになっています。そして、この機能とCData が提供しているODBC Driver ラインナップを組み合わせることで、各種クラウドサービスのAPI にアクセスすることができるようになります。
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
CData ODBC ドライバでは、1.データソースとしてAmazon Athena の接続を設定、2.TranSpeed 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
まずは、本記事右側のサイドバーからAmazonAthena ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
インストール後、ODBC DSN(データソース名)で接続プロパティを設定します。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および設定できます。
Amazon Athena リクエストの認証には、アカウントの管理のクレデンシャルか、IAM ユーザーのカスタムPermission を設定します。 AccessKey にAccess Key Id、SecretKey にはSecret Access Key を設定します。
AWS アカウントアドミニストレータとしてアクセスできる場合でも、AWS サービスへの接続にはIAM ユーザークレデンシャルを使用することが推奨されます。
IAM ユーザーのクレデンシャル取得は以下のとおり:
AWS ルートアカウントのクレデンシャル取得は以下のとおり:
EC2 インスタンスからCData 製品を使用していて、そのインスタンスにIAM ロールが割り当てられている場合は、認証にIAM ロールを使用できます。 これを行うには、UseEC2Roles をtrue に設定しAccessKey とSecretKey を空のままにします。 CData 製品は自動的にIAM ロールの認証情報を取得し、それらを使って認証します。
多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。 代わりにRoleARN を指定してAWS ロールを使用できます。これにより、CData 製品は指定されたロールの資格情報を取得しようと試みます。 (すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、役割を担うIAM ユーザーのAccessKeyと SecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey およびSecretKey を指定する場合、 ロールは使用できません。
多要素認証を必要とするユーザーおよびロールには、MFASerialNumber およびMFAToken 接続プロパティを指定してください。 これにより、CData 製品は一時的な認証資格情報を取得するために、リクエストでMFA 認証情報を送信します。一時的な認証情報の有効期間 (デフォルトは3600秒)は、TemporaryTokenDuration プロパティを介して制御できます。
AccessKey とSecretKey プロパティに加え、Database、S3StagingDirectory、Region を設定します。Region をAmazon Athena データがホストされているリージョンに設定します。S3StagingDirectory をクエリの結果を格納したいS3内のフォルダに設定します。
接続にDatabase が設定されていない場合は、CData 製品はAmazon Athena に設定されているデフォルトデータベースに接続します。
CData Driver の設定が完了したらTranSpeed 側の設定を進めます。まずはCData ODBC ドライバ経由でAmazon Athena へ接続するための「データベース接続定義」を追加しましょう。
プロパティ名 |
設定値例 |
備考 |
接続名 |
Amazon Athena |
任意の接続名を指定します。 |
データベースエンジン種別 |
その他 |
|
接続方法 |
Odbc |
|
データベース名 |
Amazon Athena |
|
接続文字列 |
DSN=CData AmazonAthena Source |
先程作成したODBC DSNの名前をDSN=以降に指定します。 |
ODBC の接続設定を追加したら、実際にデータ変換を行うアプリケーションを作成していきましょう。マッピング設定の画面から「システム」を選択し、「新規」ボタンをクリックします。
新しく作成するデータ変換アプリケーションの内容が表示されます。今回はそのままデフォルトで作成を開始します。必要に応じて各種名称を表示すると良いでしょう。
アプリケーション定義画面が表示されたら、まず「入力データソース」を調整していきます。今回はAmazon Athena からデータを取得するので、入力データソースのデータ種別で「データベース」を選択します。データベースを選択後、データベース接続IDとして先程作成したAmazon Athena への接続情報を指定します。
接続情報の指定が完了したら、対象となるテーブルを指定しましょう(Amazon Athena のCustomers など)。テーブル名を入力すると、各項目の「検索」ボタンから対象のフィールドを指定できるようになりますので、お好みのフィールドを選択してください。
続いて出力データソースを設定します。今回はシンプルにCSVに出力する処理とするため、データ種別で「CSVテキスト」を選択しました
入力データソースと出力データソースの指定完了後、それぞれのデータソースの仲介の役割となる項目定義を追加します。
最後に「入力データソース」「項目定義」「出力データソース」それぞれの項目を紐づける「入出力マッピング」を構成します。以下のような画面が表示されるので、それぞれの項目を紐づけていきましょう。
これでデータ変換アプリケーションは作成完了です。
それでは作成したデータ変換アプリケーションをテスト実行してみましょう。画面左上の「テスト実行」ボタンから動作確認が実施できます。以下のような画面が表示されるので「実行」をクリックします。
正常に処理が完了すると、以下のように処理件数と完了のメッセージが表示されます。
CSVファイルを確認すると、Amazon Athena のデータをもとにしたCSV ファイルが生成されています。
このようにCData ODBC ドライバを利用することで、各種クラウドサービスをTranSpeed の接続先として利用できるようになります。 CData ではAmazon Athena 以外にも250種類以上のデータソース向けにODBC Driver を提供しています。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
日本のユーザー向けにCData ODBC ドライバは、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。