JDBI からZuora Data のデータアクセスオブジェクトを作成

製品をチェック

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Zuora JDBC Driver

Zuora データを組み込んだパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。


JDBI でZuora data 用のSQL オブジェクトAPIを作成する方法を概説します。



JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for Zuora は、Java アプリケーションとリアルタイムZuora data のデータ連携を実現します。これらの技術を組み合わせることによって、Zuora data へのシンプルなコードアクセスが可能になります。ここでは、基本的なDAO(Data Access Object )とそれに付随するZuora data の読み書きのためのコードの作成について説明します。

Zuora Invoices Entity のDAO を作成

以下のインターフェースは、実装されるSQL ステートメントごとに単一のメソッドを作成するためのSQL オブジェクトの正しい動作を宣言します。

public interface MyInvoicesDAO { //insert new data into Zuora @SqlUpdate("INSERT INTO Invoices (BillingState, BillingCity) values (:billingState, :billingCity)") void insert(@Bind("billingState") String billingState, @Bind("billingCity") String billingCity); //request specific data from Zuora (String type is used for simplicity) @SqlQuery("SELECT BillingCity FROM Invoices WHERE BillingState = :billingState") String findBillingCityByBillingState(@Bind("billingState") String billingState); /* * close with no args is used to close the connection */ void close(); }

Zuora への接続を開く

必要な接続プロパティを収集し、Zuora に接続するための適切なJDBC URL を作成します。

Zuora uses the OAuth standard to authenticate users. See the online Help documentation for a full OAuth authentication guide.

Configuring Tenant property

In order to create a valid connection with the provider you need to choose one of the Tenant values (USProduction by default) which matches your account configuration. The following is a list with the available options:

  • USProduction: Requests sent to https://rest.zuora.com.
  • USAPISandbox: Requests sent to https://rest.apisandbox.zuora.com"
  • USPerformanceTest: Requests sent to https://rest.pt1.zuora.com"
  • EUProduction: Requests sent to https://rest.eu.zuora.com"
  • EUSandbox: Requests sent to https://rest.sandbox.eu.zuora.com"

Selecting a Zuora Service

Two Zuora services are available: Data Query and AQuA API. By default ZuoraService is set to AQuADataExport.

DataQuery

The Data Query feature enables you to export data from your Zuora tenant by performing asynchronous, read-only SQL queries. We recommend to use this service for quick lightweight SQL queries.

Limitations
  • The maximum number of input records per table after filters have been applied: 1,000,000
  • The maximum number of output records: 100,000
  • The maximum number of simultaneous queries submitted for execution per tenant: 5
  • The maximum number of queued queries submitted for execution after reaching the limitation of simultaneous queries per tenant: 10
  • The maximum processing time for each query in hours: 1
  • The maximum size of memory allocated to each query in GB: 2
  • The maximum number of indices when using Index Join, in other words, the maximum number of records being returned by the left table based on the unique value used in the WHERE clause when using Index Join: 20,000

AQuADataExport

AQuA API export is designed to export all the records for all the objects ( tables ). AQuA query jobs have the following limitations:

Limitations
  • If a query in an AQuA job is executed longer than 8 hours, this job will be killed automatically.
  • The killed AQuA job can be retried three times before returned as failed.

ビルトイン接続文字列デザイナー

JDBC URL の構成については、Zuora JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

java -jar cdata.jdbc.zuora.jar

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

Zuora の接続文字列は、通常次のようになります。

jdbc:zuora:OAuthClientID=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;Tenant=USProduction;ZuoraService=DataQuery;InitiateOAuth=GETANDREFRESH

構成済みのJDBC URL を使用して、DAO インターフェースのインスタンスを取得します。以下に示す特定のメソッドはインスタンスにバインドされたハンドルを開くため、ハンドルとバインドされたJDBC 接続を開放するには、インスタンスを明示的に閉じる必要があります。

DBI dbi = new DBI("jdbc:zuora:OAuthClientID=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;Tenant=USProduction;ZuoraService=DataQuery;InitiateOAuth=GETANDREFRESH"); MyInvoicesDAO dao = dbi.open(MyInvoicesDAO.class); //do stuff with the DAO dao.close();

Zuora Data について

Zuora への接続を開いた状態で以前定義したメソッドを呼び出すだけで、Zuora のInvoices エンティティからデータを取得できます。

//disply the result of our 'find' method String billingCity = dao.findBillingCityByBillingState("CA"); System.out.println(billingCity);

Zuora Data の書き方

以前定義した方法を使用すれば、Zuora にデータを書き込むことも簡単になります。

//add a new entry to the Invoices entity dao.insert(newBillingState, newBillingCity);

JDBI ライブラリはJDBC 接続を処理できるため、CData JDBC Driver for Zuora と統合することで、SQL Object API for Zuora を簡単に作成できます。今すぐ無料トライアルをダウンロードし、Java アプリケーションでライブZuora を操作しましょう。