ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for IBMCloudObjectStorage は、Java Web アプリケーションに簡単に統合して利用することができます。本記事では、Jetty でドライバーをコネクションプールとして設定することで、効率的にIBM Cloud Object Storage データをアプリケーションで連携利用する方法を説明します。Jetty でJNDI resource for IBMCloudObjectStorage を設定します。
次の手順で、Jetty とIBM Cloud Object Storage の接続を確立します。
Jetty ベースでJNDI モジュールを有効化します。JNDI を有効化するコマンドラインは以下の通り:
java -jar ../start.jar --add-to-startd=jndi
<Configure id='ibmcloudobjectstoragedemo' class="org.eclipse.jetty.webapp.WebAppContext">
<New id="ibmcloudobjectstoragedemo" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg><Ref refid="ibmcloudobjectstoragedemo"/></Arg>
<Arg>jdbc/ibmcloudobjectstoragedb</Arg>
<Arg>
<New class="cdata.jdbc.ibmcloudobjectstorage.IBMCloudObjectStorageDriver">
<Set name="url">jdbc:ibmcloudobjectstorage:</Set>
<Set name="ApiKey">myApiKey</Set>
<Set name="CloudObjectStorageCRN">MyInstanceCRN</Set>
<Set name="Region">myRegion</Set>
<Set name="OAuthClientId">MyOAuthClientId</Set>
<Set name="OAuthClientSecret">myOAuthClientSecret</Set>
</New>
</Arg>
</New>
</Configure>
Cloud Object Storage に接続する前に、Cloud Object Storage インスタンスを登録してCloud Object Storage API キーとCRN を取得していきます。
IBM Cloud アカウントにCloud Object Storage がまだない場合は、以下の手順に従ってアカウントにSQL Query のインスタンスをインストールできます。
API キーは以下の手順で取得できます。
デフォルトでは、CData 製品はCloud Object Storage CRN を自動で取得します。ただし、複数のアカウントがある場合は、CloudObjectStorageCRN を明示的に指定する必要があります。この値は、次の2つの方法で取得できます。
これで準備は完了です。以下の接続プロパティを設定してください。
プロパティを設定したら、これで接続設定は完了です。
Web xml でリソースを設定します:
jdbc/ibmcloudobjectstoragedb
javax.sql.DataSource
Container
これで、java:comp/env/jdbc/ibmcloudobjectstoragedb へのルックアップでIBM Cloud Object Storage データにアクセスできます:
InitialContext ctx = new InitialContext();
DataSource myibmcloudobjectstorage = (DataSource)ctx.lookup("java:comp/env/jdbc/ibmcloudobjectstoragedb");
ここでは、シンプルなコネクションプーリングシナリオでのドライバーの接続について説明しました。追加での連携ケースについては、Jetty ドキュメントのWorking with Jetty JNDI 参照してください。