PowerBuilder で Presto OData フィードを利用

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
この記事では、API Server を使用して PowerBuilder からPresto のデータを OData フィードとして利用する方法を説明します。

CData API Server は、PowerBuilder DataWindow で利用できるセキュアなPresto のデータフィードを生成します。API Server は、OData、Atom、JSON、HTML、CSV、TSV、RSS などの主要な Web サービスをサポートしています。また、主要な認証スキームと SSL もサポートしています。

この記事では、CData API Server を使用して読み取りと書き込みを実行する DataWindow を作成する方法を説明します。

Presto データ連携について

CData を使用すれば、Trino および Presto SQL エンジンのライブデータへのアクセスと統合がこれまでになく簡単になります。お客様は CData の接続機能を以下の目的で利用しています:

  • Trino v345 以降(旧 PrestoSQL)および Presto v0.242 以降(旧 PrestoDB)のデータにアクセスできます。
  • Trino または Presto インスタンスの基盤となるすべてのデータに対して読み取り・書き込みアクセスができます。
  • 最大スループットのための最適化されたクエリ生成。

Presto と Trino により、ユーザーは単一のエンドポイントを通じてさまざまな基盤データソースにアクセスできます。CData の接続と組み合わせることで、ユーザーはインスタンスへの純粋な SQL-92 アクセスを取得し、ビジネスデータをデータウェアハウスに統合したり、Power BI や Tableau などのお気に入りのツールからライブデータに直接簡単にアクセスしたりできます。

多くの場合、CData のライブ接続は、ツールで利用可能なネイティブのインポート機能を上回ります。あるお客様は、レポートに必要なデータセットのサイズが大きいため、Power BI を効果的に使用できませんでした。同社が CData Power BI Connector for Presto を導入したところ、DirectQuery 接続モードを使用してリアルタイムでレポートを生成できるようになりました。


はじめに


API Server のセットアップ

以下の手順に従って、セキュアな Presto OData サービスの作成を開始します。

デプロイ

API Server は独自のサーバー上で実行されます。Windows では、スタンドアロンサーバーまたは IIS を使用してデプロイできます。Java サーブレットコンテナでは、API Server WAR ファイルをドロップします。詳細と手順については、ヘルプドキュメントを参照してください。

API Server は、Microsoft AzureAmazon EC2Heroku へのデプロイも簡単です。

Presto への接続

API Server をデプロイしたら、API Server 管理コンソールで Settings -> Connections をクリックして新しい接続を追加し、Presto に接続するために必要な認証値やその他の接続プロパティを指定します。

Presto への接続には、まずはServer およびPort を接続プロパティとして設定します。それ以外の追加項目は接続方式によって異なります。

TLS/SSL を有効化するには、UseSSL をTRUE に設定します。

LDAP で認証

LDAP で認証するには、次の接続プロパティを設定します:

  • AuthScheme: LDAP に設定。
  • User: LDAP で接続するユーザー名。
  • Password: LDAP で接続するユーザーのパスワード。

Kerberos 認証

KERBEROS 認証を使う場合には、以下を設定します:

  • AuthScheme: KERBEROS に設定。
  • KerberosKDC: 接続するユーザーのKerberos Key Distribution Center (KDC) サービス。
  • KerberosRealm: 接続するユーザーのKerberos Realm 。
  • KerberosSPN: Kerberos Domain Controller のService Principal Name。
  • KerberosKeytabFile: Kerberos principals とencrypted keys を含むKeytab file。
  • User: Kerberos のユーザー。
  • Password: Kerberos で認証するユーザーのパスワード。

次に、Settings -> Resources をクリックして、API Server からアクセスを許可する Presto エンティティを選択できます。

また、Settings -> Server をクリックし、PowerBuilder との互換性のために以下の設定を変更します:

  • Default Format:メニューから XML (Atom) を選択。
  • Default Version:メニューから 2.0 を選択。

API Server ユーザーの認可

生成する OData サービスを決定したら、Settings -> Users をクリックしてユーザーを認可します。API Server は Authtoken ベースの認証を使用し、主要な認証スキームをサポートしています。アクセスは IP アドレスに基づいて制限することもできます。デフォルトでは、ローカルマシンへの接続のみが許可されています。SSL で認証と接続の暗号化も可能です。

Presto 用のプロファイルを作成

以下の手順に従って、Database Painter ツールを使用して API Server の OData API 用のデータベースプロファイルを作成します。Database Painter では、データをグラフィカルに操作したり、SQL クエリを実行したりできます。

  1. Tools -> Database Painter をクリックします。
  2. OData ノードを右クリックし、New Profile をクリックします。
  3. Database Profile Setup ダイアログで、以下を入力します:
    • Profile Name:プロファイルのわかりやすい名前を入力します。
    • URI:API Server の OData エンドポイントへの URL を入力します。この URL は以下のような形式になります:
      http://MyServer:8080/api.rsc
    • Supply User Id and Password:HTTP Basic 認証を使用する場合は、このオプションをクリックします。なお、API Server は Windows 認証もサポートしています。
    • User Id:API Server のユーザー名を入力します。
    • Password:API Server のユーザーの Authtoken を入力します。
  4. テーブルを表示・変更するには、テーブルを右クリックして Edit Data -> Grid をクリックします。

PowerBuilder コントロールで Presto のデータ を使用

標準的な PowerBuilder オブジェクトを使用して OData フィードに接続し、クエリを実行できます。以下の例は、Presto のデータ を DataWindow に取得する方法を示しています。

open メソッドに以下のコードを追加できます:

SQLCA.DBMS = "ODT"
SQLCA.DBParm = "ConnectString='URI=http://MyServer:8080/api.rsc;UID=MyAPIUser;PWD=MyAuthtoken'";
CONNECT USING SQLCA;
dw_customer.SetTransObject(SQLCA);
dw_customer.Retrieve();

はじめる準備はできましたか?

詳細はこちら、または無料トライアルにお申し込みください:

CData API Server お問い合わせ