Google Cloud Storage データ のPostgreSQL インターフェースを作成

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Google Cloud Storage JDBC Driver

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



Google Cloud Storage JDBC Driver のリモート機能を使用し、データアクセス用のPostgreSQL エントリポイントを作成します。

インターネット上には、多くのPostgreSQL クライアントがあります。標準のドライバーからBI、アナリティクスツールまで、PostgreSQL はデータアクセスのための一般的なインターフェースです。 JDBC ドライバーを使用することで、簡単に任意の標準クライアントから接続できるPostgreSQL エントリポイントを作成できます。

Google Cloud Storage にPostgreSQL データベースとしてアクセスするには、CData JDBC Driver for Google Cloud Storage とJDBC foreign data wrapper (FDW) を使用します。ここでは、FDW をコンパイルしてインストールし、PostgreSQL サーバーからGoogle Cloud Storage にクエリを実行します。

JDBC データソースとしてGoogle Cloud Storage データに接続する

JDBC データソースとしてGoogle Cloud Storage に接続するには、以下が必要です。

  • Driver JAR path:
  • JAR は、インストールディレクトリのlib サブフォルダにあります。
  • Driver class: cdata.jdbc.googlecloudstorage.GoogleCloudStorageDriver

  • JDBC URL: URL は、"jdbc:googlecloudstorage:" で始まり、セミコロンで区切られた名前と値の組み合わせで任意の接続プロパティを含めることができます。

    ユーザーアカウントでの認証

    ユーザー資格情報の接続プロパティを設定することなく接続できます。InitiateOAuth をGETANDREFRESH に設定したら、接続の準備が完了です。

    接続すると、Google Cloud Storage OAuth エンドポイントがデフォルトブラウザで開きます。ログインして権限を付与すると、OAuth プロセスが完了します。

    サービスアカウントでの認証

    サービスアカウントには、ブラウザでユーザー認証を行わないサイレント認証があります。サービスアカウントを使用して、企業全体のアクセススコープを委任することもできます。

    このフローでは、OAuth アプリケーションを作成する必要があります。詳しくは、ヘルプドキュメントを参照してください。以下の接続プロパティを設定したら、接続の準備が完了です:

    • InitiateOAuth: GETANDREFRESH に設定。
    • OAuthJWTCertType: PFXFILE に設定。
    • OAuthJWTCert: 生成した.p12 ファイルへのパスに設定。
    • OAuthJWTCertPassword: .p12 ファイルのパスワードに設定。
    • OAuthJWTCertSubject: 証明書ストアの最初の証明書が選ばれるように"*" に設定。
    • OAuthJWTIssuer: [サービスアカウント]セクションで[サービスアカウントの管理]をクリックし、このフィールドをサービスアカウントID フィールドに表示されているE メールアドレスに設定。
    • OAuthJWTSubject: サブジェクトタイプが"enterprise" に設定されている場合はエンタープライズID に設定し、"user" に設定されている場合はアプリユーザーID に設定。
    • ProjectId: 接続するプロジェクトのID に設定。

    これで、サービスアカウントのOAuth フローが完了します。

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

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

    java -jar cdata.jdbc.googlecloudstorage.jar

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

    以下は一般的なJDBC URL です。

    jdbc:googlecloudstorage:ProjectId='project1';InitiateOAuth=GETANDREFRESH

JDBC FDW を構築する

FDW は、PostgreSQL を再コンパイルせずに、PostgreSQL の拡張機能としてインストールできます。例としてjdbc2_fdw 拡張子を使用します。

  1. ご使用のバージョンのJRE 共有オブジェクトから、/usr/lib/libjvm.so にシンボリックリンクを追加します。例: ln -s /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so /usr/lib/libjvm.so
  2. ビルドを開始する: make install USE_PGXS=1

Google Cloud Storage データをPostgreSQL データベースとしてクエリする

拡張機能をインストールした後、以下のステップに従ってGoogle Cloud Storage へのクエリの実行を開始します。

  1. データベースにログインします。
  2. データベースの拡張機能をロードする: CREATE EXTENSION jdbc2_fdw;
  3. Google Cloud Storage のオブジェクトを作成する: CREATE SERVER GoogleCloudStorage FOREIGN DATA WRAPPER jdbc2_fdw OPTIONS ( drivername 'cdata.jdbc.googlecloudstorage.GoogleCloudStorageDriver', url 'jdbc:googlecloudstorage:ProjectId='project1';InitiateOAuth=GETANDREFRESH', querytimeout '15', jarfile '/home/MyUser/CData/CData\ JDBC\ Driver\ for\ Salesforce MyDriverEdition/lib/cdata.jdbc.googlecloudstorage.jar');
  4. MySQL デーモンに認識されているユーザーのユーザー名とパスワードのユーザーマッピングを作成します。 CREATE USER MAPPING for postgres SERVER GoogleCloudStorage OPTIONS ( username 'admin', password 'test');
  5. ローカルデータベースに外部テーブルを作成する: postgres=# CREATE FOREIGN TABLE buckets ( buckets_id text, buckets_Name text, buckets_OwnerId numeric) SERVER GoogleCloudStorage OPTIONS ( table_name 'buckets');
Google Cloud Storage に対してSELECTコマンドを実行可能にする: postgres=# SELECT * FROM buckets;