MuleSoft でリアルタイムの AlloyDB のデータを連携(CData Connect AI 経由)
MuleSoft Anypoint Platform は、API と統合の構築、デプロイ、管理を可能にし、アプリケーションとシステム間のシームレスな接続を実現します。CData Connect AI と組み合わせることで、AlloyDB のデータ にアクセスしてビジュアライゼーション、ダッシュボードなどに活用できます。この記事では、CData Connect AI を使用して AlloyDB へのリアルタイム接続を作成し、MuleSoft Anypoint Platform からリアルタイムのAlloyDB のデータに接続してアクセスする方法を説明します。
前提条件
MuleSoft をCData Connect AI と一緒に設定して使用する前に、まずCData Connect AI アカウントにデータソースを接続する必要があります。詳細については、Connections セクションを参照してください。
また、Settings ページでPersonal Access Token(PAT)を生成する必要があります。認証時にパスワードとして使用するため、必ずコピーして保存してください。
MuleSoft 用に AlloyDB への接続を設定
MuleSoft から AlloyDB への接続は、CData Connect AI によって実現されます。MuleSoft からAlloyDB のデータを操作するには、まず AlloyDB 接続を作成し設定します。
- Connect AI にログインして「Sources」をクリックし、 Add Connection をクリックします
- Add Connection パネルから「AlloyDB」を選択します
-
AlloyDB への接続に必要な認証プロパティを入力します。
AlloyDB 接続プロパティの取得・設定方法
AlloyDB に接続するには、次の接続プロパティが必要です。
- Server:AlloyDB データベースをホスティングしているサーバーのホスト名またはIP アドレス。
- Port(オプション):AlloyDB データベースをホスティングしているサーバーのポート。このプロパティはデフォルトで5432に設定されます。
- User:AlloyDB サーバーに認証する際に使われるユーザー。
- Password:AlloyDB サーバーに認証する際に使われるパスワード。
- Database(オプション):AlloyDB サーバーに接続する場合のデータベース。設定されていない場合は、ユーザーのデフォルトデータベースが使用されます。
AlloyDB への認証
標準認証
標準認証(事前に提供されたユーザーとパスワードの組み合わせを使用)は、デフォルトの認証形式です。標準認証で接続する場合は、これ以上のアクションは必要ありません。
pg_hba.conf 認証スキーム
CData 製品がサポートしている他の認証方法では、AlloyDB サーバー上のpg_hba.conf ファイルで有効化する必要があります。
AlloyDB サーバーでの認証の設定については、こちらを参照してください。
MD5
pg_hba.conf ファイルのauth-method をmd5 に設定すると、MD5 パスワード検証を使用して認証できます。
SASL
CData 製品は、SASL(特にSCRAM-SHA-256)でパスワードを検証することで認証できます。
この認証方法を使用するには、pg_hba.conf ファイルのauth-method をscram-sha-256 に設定します。
Kerberos
Kerberos 認証は、CData 製品が接続を試行している際にAlloyDB サーバーで開始されます。この認証方法を有効化するには、AlloyDB サーバーでKerberos を設定します。AlloyDB サーバーでのKerberos 認証の設定を完了したら、CData 製品からKerberos 認証を行う方法については、ヘルプドキュメントの「Kerberos の使用」セクションを参照してください。
- Save & Test をクリックします
-
Add AlloyDB Connection ページの「Permissions」タブに移動し、ユーザーベースの権限を更新します。
Personal Access Token の追加
REST API、OData API、またはVirtual SQL Server 経由でConnect AI に接続する場合、Personal Access Token(PAT)を使用してConnect AI への接続を認証します。アクセス管理の粒度を維持するために、サービスごとに個別のPAT を作成することをお勧めします。
- Connect AI アプリの右上にある歯車アイコン()をクリックして設定ページを開きます。
- Settings ページで「Access Tokens」セクションに移動し、 Create PAT をクリックします。
-
PAT に名前を付けて「Create」をクリックします。
- Personal Access Token は作成時にのみ表示されるため、必ずコピーして安全な場所に保存してください。
接続の設定とPAT の生成が完了したら、Mulesoft からAlloyDB のデータに接続する準備が整いました。
CData Connect AI への接続
JDBC ドライバーを使用してMulesoft からCData Connect AI への接続を確立するには、以下の手順に従います:
-
CData Connect AI JDBC ドライバーをダウンロードしてインストールします。
- CData Connect AI のIntegrations ページを開きます。
- JDBC を検索して選択します。
- セットアップファイルをダウンロードして実行します。
- インストールが完了すると、JAR ファイルはインストールディレクトリ(lib フォルダ内)にあります。
- Mulesoft Anypoint Studio にログインするか、デスクトップアプリケーションを起動します。
- 新しいMulesoft プロジェクトを作成します。
新しいプロジェクトがプロジェクトフォルダに表示されます。
- 右側のMule Palette で、HTTP Listener をMessage Flow エリアにドラッグします。
- HTTP Listener をクリックして設定します。
- Connector configuration の右側にある+ 記号をクリックします。HTTP Listener 設定ダイアログが表示されます。
- HTTP Listener を設定し、データをクエリするためのPort を指定してOK をクリックします。
- アクションを実行するためのpath を指定します。HTTP Listener の設定が完了しました。
- 右側のMule Palette で、検索バーにdatabase と入力します。
- 実行したいデータベース操作をMessage Flow エリアにドラッグします。この例ではSelect を選択します。
- Database Config ダイアログのConnection ドロップダウンからGeneric Connection を選択します。
- Configure ボタンをクリックしてJDBC ドライバーを設定します。ドロップダウンリストからUse local file を選択します。
- JDBC ドライバーのインストールからCData Connect AI JAR ファイルを探し、OK をクリックします。
- 以下の情報を入力します:
- URL: 接続用のURL。例:
jdbc:connect:Authscheme=Basic;user=username;password=PAT
注意:password には前提条件セクションで作成したPAT を指定します。 - Driver class name: ドライバークラス名として次を入力します:
cdata.jdbc.connect.ConnectDriver
- URL: 接続用のURL。例:
- Test Connection をクリックします。
- 接続が成功したら、エディターにSQL Query Text を入力します。右側のOutput タブでテーブルメタデータを確認できます。
- Mule Palette で、Transform Message をMessage Flow エリアにドラッグします。
- Transform Message をクリックして設定します。Output を次のように変更します:
- プロジェクトを保存して実行します。コンソールでMulesoft が依存関係の初期化を開始します。
- "Message source 'listener' on flow your_project_name successfully started" というメッセージが表示されたら、指定したエンドポイントでデータのクエリを開始できます。
- Postman アプリケーションを使用してクエリを実行し、データを確認します(以下に示すとおり)。
クラウドアプリケーションからの AlloyDB のデータへのSQL アクセス
これで、MuleSoft Anypoint Platform からリアルタイムのAlloyDB のデータへの直接接続が確立されました。AlloyDB のデータ をレプリケートすることなく、シームレスなデータフロー、ビジネスプロセスの自動化、API の管理を実現するために、さらに多くの接続を作成できます。
クラウドアプリケーションから AlloyDB(およびその他300以上のSaaS、Big Data、NoSQL ソース)へのリアルタイムデータアクセスを実現するには、CData Connect AI をご覧ください。