クラウドRPA BizteX Connect で使えるAmazon Athena のデータ連携用のバックエンドAPI をノーコードで開発
CData API Server を使って、BizteX Connect から Amazon Athena に接続してデータを取得する方法を説明します。
Amazon Athena データ連携について
CData は、Amazon Athena のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:
- IAM 認証情報、アクセスキー、インスタンスプロファイルなど、さまざまな方法で安全に認証できます。多様なセキュリティニーズに対応し、認証プロセスを簡素化します。
- 詳細なエラーメッセージにより、セットアップを効率化し、問題を迅速に解決できます。
- サーバーサイドでのクエリ実行により、パフォーマンスを向上させ、クライアントリソースへの負荷を最小限に抑えます。
ユーザーは、Tableau、Power BI、Excel などの分析ツールと Athena を統合し、お気に入りのツールから詳細な分析を行うことができます。
CData を使用した Amazon Athena のユニークなユースケースについては、ブログ記事をご覧ください:https://jp.cdata.com/blog/amazon-athena-use-cases
はじめに
API Server の設定
以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなAmazon Athena OData サービスを作成していきましょう。
Amazon Athena への接続
BizteX Connect からAmazon Athena のデータを操作するには、まずAmazon Athena への接続を作成・設定します。
- API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。
- 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「Amazon Athena」を選択します。
- 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
CData コネクタの追加方法はこちら >> - それでは、Amazon Athena への接続設定を行っていきましょう!
-
Amazon Athena 接続プロパティの取得・設定方法
それでは、早速Athena に接続していきましょう。
データに接続するには、以下の接続パラメータを指定します。
- DataSource:接続するAmazon Athena データソース。
- Database:接続するAmazon Athena データベース。
- AWSRegion:Amazon Athena データがホストされているリージョン。
- S3StagingDirectory:クエリの結果を保存するS3 フォルダ。
Database またはDataSource が設定されていない場合、CData 製品はAmazon Athena の利用可能なデータソースからすべてのデータベースのリスト化を試みます。そのため、両方のプロパティを設定することでCData 製品のパフォーマンスが向上します。
Amazon Athena の認証設定
CData 製品は幅広い認証オプションに対応しています。詳しくはヘルプドキュメントの「はじめに」を参照してみてください。
AWS キーを取得
IAM ユーザーの認証情報を取得するには、以下のステップお試しください。
- IAM コンソールにサインインします。
- ナビゲーションペインでユーザーを選択します。
- ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してからセキュリティ認証情報タブに移動します。
AWS ルートアカウントの資格情報を取得するには、以下のステップをお試しください。
- ルートアカウントの認証情報を使用してAWS 管理コンソールにサインインします。
- アカウント名または番号を選択します。
- 表示されたメニューでMy Security Credentials を選択します。
- ルートアカウントのアクセスキーを管理または作成するには、Continue to Security Credentials をクリックし、[Access Keys]セクションを展開します。
その他の認証オプションについては、ヘルプドキュメントの「Amazon Athena への認証」を参照してください。
- 接続情報の入力が完了したら、「保存およびテスト」をクリックします。
Amazon Athena 接続プロパティの取得・設定方法
それでは、早速Athena に接続していきましょう。
データに接続するには、以下の接続パラメータを指定します。
- DataSource:接続するAmazon Athena データソース。
- Database:接続するAmazon Athena データベース。
- AWSRegion:Amazon Athena データがホストされているリージョン。
- S3StagingDirectory:クエリの結果を保存するS3 フォルダ。
Database またはDataSource が設定されていない場合、CData 製品はAmazon Athena の利用可能なデータソースからすべてのデータベースのリスト化を試みます。そのため、両方のプロパティを設定することでCData 製品のパフォーマンスが向上します。
Amazon Athena の認証設定
CData 製品は幅広い認証オプションに対応しています。詳しくはヘルプドキュメントの「はじめに」を参照してみてください。
AWS キーを取得
IAM ユーザーの認証情報を取得するには、以下のステップお試しください。
- IAM コンソールにサインインします。
- ナビゲーションペインでユーザーを選択します。
- ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してからセキュリティ認証情報タブに移動します。
AWS ルートアカウントの資格情報を取得するには、以下のステップをお試しください。
- ルートアカウントの認証情報を使用してAWS 管理コンソールにサインインします。
- アカウント名または番号を選択します。
- 表示されたメニューでMy Security Credentials を選択します。
- ルートアカウントのアクセスキーを管理または作成するには、Continue to Security Credentials をクリックし、[Access Keys]セクションを展開します。
その他の認証オプションについては、ヘルプドキュメントの「Amazon Athena への認証」を参照してください。
API Server のユーザー設定
次に、API Server 経由でAmazon Athena にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。
- 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
-
次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
-
その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。
Amazon Athena 用のAPI エンドポイントの作成
ユーザーを作成したら、Amazon Athena のデータ用のAPI エンドポイントを作成していきます。
-
まず、「API」ページに移動し、
「 テーブルを追加」をクリックします。
-
アクセスしたい接続を選択し、次へをクリックします。
-
接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。
OData のエンドポイントを取得
以上でAmazon Athena への接続を設定してユーザーを作成し、API Server でAmazon Athena データのAPI を追加しました。これで、OData 形式のAmazon Athena データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。
オンプレミスDB やファイルからのAPI Server 使用(オプション)
オンプレミスRDB やExcel/CSV などのファイルのデータを使用する場合には、API Server のCloug Gateway / SSH ポートフォワーディングが便利です。Cloud Gatway の設定方法 記事を参考にしてください。
プロジェクト・シナリオの作成
API Server 側の準備が完了したら、早速BizteX Connect 側でプロジェクト・シナリオの作成を開始します。
- まずはプロジェクトとシナリオ(フロー)を作成します。シナリオ(フロー)はプロジェクト単位でまとめて管理できるようです。
- 「新規プロジェクト作成」をクリック
- 任意の名称でプロジェクトを作成します。
- その後「+新規シナリオ作成」をクリックして、kintone データ連携シナリオの作成を進めていきます。
起動イベントの設定
シナリオの作成で一番最初に設定することが、起動イベントの構成です。BizteX Connect ではさまざまな起動イベントが存在しますが、今回は検証用途として「手動」実行にしてみました。
- 「アプリ選択」の一覧から「一般」を選択し
- 「ボタンを押して実行」を選択します。
- それぞれのイベントでは出力データが変数として格納されます。内容を確認して「完了して次へ」をクリックしましょう。
HTTP コネクタの構成
今回のシナリオでは、Amazon Athena のデータを取得して BizteX Connect で扱えるようにします。
- API Server へのアクセスには「HTTP コネクタ」が利用できるので、アプリの一覧から選択します。
- アクションは「HTTP リクエスト」を指定します。
- 続いて、データを取得するためのAPI リクエストを指定します。今回はデータを取得するのでGET リクエストです。対象のURL はAPI Server のAPI ドキュメントから取得してきて指定しましょう。
- 基本設定が完了したら、オプションを指定します。ここで最低限必要になるオプションはAPI Server への認証情報の指定です。以下のようなJSON 形式でx-cdata-authtoken のプロパティにAPI Server で構成したユーザーのトークンを指定すれば接続が行えます。
- すべての設定が完了したら出力結果を確認してみましょう。以下のようにBody の中の「value」オブジェクトの中に配列形式でデータが格納されていることが確認できます。正常にBizteX Connect からAmazon Athena のデータが取得できていますね。
- あとはBizteX Connect の各種機能を活用して、さまざまなサービスとの連携を実現できます。
このように、CData API Server を経由することで、API 側の複雑な仕様を意識せずにAPI 連携をしたプロジェクトをBizteX Connect で開発できます。他にも多くのデータソースに対応するCData API Server の詳細をこちらからご覧ください。