PostgreSQL データベースからの読み取り

このガイドでは、PostgreSQL データベースからデータを読み取る方法について説明します。

始める前に

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. Cloud Data Fusion, Cloud Storage, BigQuery, and Cloud Dataproc API を有効にします。

    API を有効にする

  5. Cloud Data Fusion インスタンスを作成します
  6. PostgreSQL データベースが Cloud Data Fusion からの接続を受け入れられることを確認します。安全に接続するためには、プライベート Cloud Data Fusion インスタンスを作成することをおすすめします。

Cloud Data Fusion を使用する際は、Cloud Console と個別の Cloud Data Fusion UI の両方を使用します。Cloud Console では、Google Cloud プロジェクトの作成、Cloud Data Fusion インスタンスの作成と削除を行うことができます。Cloud Data Fusion UI では、StudioWrangler などのさまざまなページを使用して Cloud Data Fusion の機能を使用できます。

  1. Cloud Console で [インスタンス] ページを開きます。

    [インスタンス] ページを開く

  2. インスタンスの [操作] 列で、[インスタンスの表示] リンクをクリックします。

  3. Cloud Data Fusion UI で、左側のナビゲーション パネルを使用して必要なページに移動します。

PostgreSQL パスワードをセキュリティ キーとして保存する

PostgreSQL パスワードを Cloud Data Fusion インスタンスでの暗号化に使用するセキュリティ キーとして追加します。このガイドの後の部分で、Cloud KMS を使用してパスワードを取得されるようにします。

  1. Cloud Data Fusion ページの右上隅にある [SYSTEM ADMIN] をクリックします。

  2. [Configuration] タブをクリックします。

  3. [Make HTTP Calls] をクリックします。

    [Configuration] タブ。

  4. プルダウン メニューで [PUT] を選択します。

  5. [Path] フィールドに「namespaces/default/securekeys/pg_password」と入力します。

  6. [Body] フィールドに「{"data":"your_password"}」と入力します。 your_password を PostgreSQL のパスワードに置き換えます。

  7. [送信] をクリック

    パスワード。

レスポンスとしてステータス コード「200」が返されることを確認します。

Cloud SQL PostgreSQL の JDBC ドライバを取得する

Cloud SQL では JDBC ドライバ用の Socket Factory ライブラリを使用する必要があるため、GitHub で Cloud SQL ソケット ファクトリ リポジトリから JDBC ドライバをビルドします。また、GitHub で Cloud SQL ソケット ファクトリ リポジトリのリリースページから JDBC ドライバをダウンロードすることもできます。

Cloud SQL for PostgreSQL に接続する

  1. Cloud Data Fusion UI でメニュー をクリックし、[Wrangler] ページに移動します。

  2. 画面の左下隅にある [Add Connection] をクリックします。

  3. 接続するソースタイプとして [Database] を選択します。

    接続を追加する。

  4. [Google Cloud SQL for PostgreSQL] で [Upload] リンクをクリックします。

    ソースを選択する。

  5. PostgreSQL ドライバが含まれた JAR ファイルをアップロードします。JAR ファイルの名前は name-version.jar の形式でなければなりません。JAR ファイルがこの形式に従っていない場合は、アップロードする前に名前を変更します。

  6. [次へ] をクリックします。

  7. [Name]、[Class name]、[Version] に、ドライバの名前、クラス名、バージョンをそれぞれ入力します。

  8. [完了] をクリックします。

  9. [Add connection] ウィンドウが開いたら、[Google Cloud SQL for PostgreSQL] をクリックします。[Google Cloud SQL for PostgreSQL] の下に、JAR の名前が表示されます。

    アップロードされた JAR。

  10. 接続の必須フィールドに入力します。[Password] フィールドで、前に保存したセキュリティ キーを選択します。これにより、Cloud KMS を使用してパスワードが取得されるようになります。

    パスワードを設定。

  11. [接続文字列] フィールドに、次の接続文字列を入力します。

    jdbc:postgresql://google/database_name?cloudSqlInstance=instance_conn_name&socketFactory=com.google.cloud.sql.postgres.SocketFactory&useSSL=false
    

    以下を置き換えます。

    • database_name: インスタンスの詳細ページの [データベース] タブに表示されている Cloud SQL データベース名。
    • instance_conn_name: インスタンスの詳細ページの [概要]タブに表示される Cloud SQL インスタンスの接続名。
    インスタンス接続名。

    例:

    jdbc:postgresql://google/postgres?cloudSqlInstance=dis-demo:us-central1:pgsql-1&socketFactory=com.google.cloud.sql.postgres.SocketFactory&useSSL=false
    

  12. Cloud SQL Admin API を有効にします。

  13. 次の IAM ロールを service-project-number@gcp-sa-datafusion.iam.gserviceaccount.com サービス アカウントに付与します。

    • Cloud SQL 管理者
    • Cloud Data Fusion 管理者
    • Cloud Data Fusion API サービス エージェント
  14. [テスト接続] をクリックして、データベースとの接続を確立できることを確認します。

  15. [Add connection] をクリックします。

PostgreSQL データベースが接続されたら、(Wrangler で)データに変換を適用したり、(スタジオで)パイプラインを作成し、出力をシンクに書き込んだりできます。

次のステップ