ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
PostgreSQL には多くの対応クライアントがあります。標準のドライバーからBI、アナリティクスツールまで、PostgreSQL はデータ接続の人気のインターフェースです。JDBC ドライバーを使用することで、簡単に任意の標準クライアントから接続できるPostgreSQL エントリポイントを作成できます。
IBM Cloud Object Storage にPostgreSQL データベースとしてアクセスするには、CData JDBC Driver for IBMCloudObjectStorage とJDBC foreign data wrapper (FDW) を使用します。この記事ではFDW をコンパイルしてインストールし、PostgreSQL サーバーからIBM Cloud Object Storage にクエリを実行します。
JDBC データソースとしてIBM Cloud Object Storage に接続するには、以下が必要です。
Driver クラス
cdata.jdbc.ibmcloudobjectstorage.IBMCloudObjectStorageDriver
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つの方法で取得できます。
これで準備は完了です。以下の接続プロパティを設定してください。
プロパティを設定したら、これで接続設定は完了です。
JDBC URL の構成については、IBM Cloud Object Storage JDBC Driver に組み込まれている接続文字列デザイナを使用できます。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.ibmcloudobjectstorage.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的なJDBC URL です。
jdbc:ibmcloudobjectstorage:ApiKey=myApiKey;CloudObjectStorageCRN=MyInstanceCRN;Region=myRegion;OAuthClientId=MyOAuthClientId;OAuthClientSecret=myOAuthClientSecret;
FDW は、PostgreSQL を再コンパイルせずに、PostgreSQL の拡張機能としてインストールできます。例としてjdbc2_fdw 拡張子を使用します。
ln -s /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so /usr/lib/libjvm.so
make install USE_PGXS=1
拡張機能をインストールした後、以下のステップに従ってIBM Cloud Object Storage へのクエリの実行を開始します。
CREATE EXTENSION jdbc2_fdw;
CREATE SERVER IBMCloudObjectStorage
FOREIGN DATA WRAPPER jdbc2_fdw OPTIONS (
drivername 'cdata.jdbc.ibmcloudobjectstorage.IBMCloudObjectStorageDriver',
url 'jdbc:ibmcloudobjectstorage:ApiKey=myApiKey;CloudObjectStorageCRN=MyInstanceCRN;Region=myRegion;OAuthClientId=MyOAuthClientId;OAuthClientSecret=myOAuthClientSecret;',
querytimeout '15',
jarfile '/home/MyUser/CData/CData\ JDBC\ Driver\ for\ Salesforce MyDriverEdition/lib/cdata.jdbc.ibmcloudobjectstorage.jar');
CREATE USER MAPPING for postgres SERVER IBMCloudObjectStorage OPTIONS (
username 'admin',
password 'test');
postgres=# CREATE FOREIGN TABLE objects (
objects_id text,
objects_Key text,
objects_Etag numeric)
SERVER IBMCloudObjectStorage OPTIONS (
table_name 'objects');
postgres=# SELECT * FROM objects;
このようにCData JDBC Driver for IBMCloudObjectStorage を使って簡単にIBM Cloud Object Storage データを取得して検索対象にすることができました。ぜひ、30日の無償評価版 をお試しください。