Bubble でAmazon Athena のデータと連携したアプリを作成
Bubble はアプリや業務用の開発・ローンチを容易にするローコード / ノーコードツールです。さらにCData Connect AI と連携することで、ノーコードアプリ開発用のAmazon Athena のデータへのクラウドベースのアクセスをノーコードで追加できます。本記事では、CData Connect AI 経由でBubble からAmazon Athena 連携を実現する方法を紹介します。
CData Connect AI はAmazon Athena のデータへのクラウドベースのOData インターフェースを提供し、Bubble からAmazon Athena のデータへのリアルタイム連携を実現します。
Connect AI を構成
Bubble でAmazon Athena のデータを操作するには、Connect AI からAmazon Athena に接続し、コネクションにユーザーアクセスを提供してAmazon Athena のデータのOData エンドポイントを作成する必要があります。
Amazon Athena に接続したら、目的のテーブルのOData エンドポイントを作成します。
(オプション)新しいConnect AI ユーザーの追加
必要であれば、Connect AI 経由でAmazon Athena に接続するユーザーを作成します。
- 「Users」ページに移動し、 Invite Users をクリックします。
- 新しいユーザーのE メールアドレスを入力して、 Send をクリックしてユーザーを招待します。
- 「Users」ページからユーザーを確認および編集できます。
パーソナルアクセストークンの追加
OAuth 認証をサポートしていないサービス、アプリケーション、プラットフォーム、またはフレームワークから接続する場合は、認証に使用するパーソナルアクセストークン(PAT)を作成できます。きめ細かなアクセス管理を行うために、サービスごとに個別のPAT を作成するのがベストプラクティスです。
- Connect AI アプリの右上にあるユーザー名をクリックし、「User Profile」をクリックします。
- 「User Profile」ページで「Access Token」セクションにスクロールし、 Create PAT をクリックします。
- PAT の名前を入力して Create をクリックします。
- パーソナルアクセストークンは作成時にしか表示されないため、必ずコピーして安全に保存してください。
Connect AI からAmazon Athena に接続
CData Connect AI では、簡単なクリック操作ベースのインターフェースでデータソースに接続できます。
- Connect AI にログインし、 Add Connection をクリックします。
- 「Add Connection」パネルから「Amazon Athena」を選択します。
-
必要な認証プロパティを入力し、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 への認証」を参照してください。
- Create & Test をクリックします。
- 「Add Amazon Athena Connection」ページの「Permissions」タブに移動し、ユーザーベースのアクセス許可を更新します。
Connect AI にAmazon Athena OData エンドポイントを追加する
Amazon Athena に接続したら、目的のテーブルのOData エンドポイントを作成します。
- OData ページに移動し、 Add をクリックして新しいOData エンドポイントを作成します。
- Amazon Athena 接続(例:AmazonAthena1)を選択し、Next をクリックします。
- 使用するテーブルを選択し、「Confirm」をクリックします。
コネクションとOData エンドポイントを設定したら、Bubble からAmazon Athena のデータに接続できます。
Amazon Athena のデータに接続したアプリを作成
OData エンドポイントをConnect AI に追加したら、Amazon Athena のデータへのライブ接続が可能なアプリをBubble で作成できます。
Bubble API Connector を設定
まずは、Bubble からCData Connect AI にアクセスするためのAPI Connector を設定します。
- アプリ内で、Plugins タブをクリックして Add plugins をクリックします。
- 「API Connector」を検索して「Install」をクリックします。
- インストール後、「Add another API」ボタンをクリックしてAPI を設定します。
- API に名前を設定します。
- Authentication を「HTTP Basic Auth」に設定します。
- Username をConnect AI のユーザーに設定します(user@mydomain.com)。
- Password を上記のユーザーのPAT に設定します。
- API Call を展開して、「GET」コマンドを選択してURL を先ほど設定したOData エンドポイント(例: https://cloud.cdata.com/api/odata/service/Customers)に設定します。
- 「Initialize call」ボタンをクリックしてレスポンスのデータ型を必要に応じて調整します。
- 必要な変更を加えた後、「SAVE」をクリックします。
App UI の設定
API Connector を設定したら、Bubble アプリでAmazon Athena のデータを取得できます。本記事では、Excel ライクなテーブルを表示できるUI コンポーネントでデータをリクエストします。
- Plugin タブで、「Excel-like HandsonTable」をインストールします。
- Design タブで、「Excel Table」をワークスペースに追加します。
- Excel Table のData source で、「Get data from an external API」を選択します。
- Type of content を「API Call value」に設定します。
- Data source を"CData Connect AI - <API Call の値>"(またはこれと同等な値)に設定します。
- 「Preview」をクリックしてAmazon Athena からデータが取得できたことを確認します。
この時点で、バックエンドAPI を設定する手間なくAmazon Athena のデータへのライブ接続を持つアプリケーションを開発できます。
クラウドアプリケーションからAmazon Athena のデータへのライブ接続
Bubble からAmazon Athena のリアルタイムデータに直接接続できるようになりました。これで、Amazon Athena のデータを複製せずにより多くの接続とアプリを作成できます。
クラウドアプリケーションから直接100を超えるSaaS 、ビッグデータ、NoSQL ソースへのリアルタイムデータアクセスを取得するには、CData Connect AI を参照してください。