Tomcat のコネクションプールで CData JDBC Driver for Google Translate を構成

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Tomcat のコネクションプールから Google Translate のデータ に接続。



CData JDBC Driver は、JVM 上で動作するWeb アプリケーションと連携するための標準JDBC インターフェースをサポートしています。ここでは、Tomcat のコネクションプールから Google Translate のデータ に接続する方法を説明します。

Tomcat のコネクションプールから Google Translate のデータ に接続

  1. CData JAR ファイルと CData .lic ファイルを $CATALINA_HOME/lib にコピーします。CData JAR ファイルは、インストールディレクトリの lib サブフォルダにあります。
  2. コンテキストにリソースの定義を追加します。ここでJDBC URL を指定します。

    認証

    Google Cloud Translation API では、翻訳サービス、データセット、用語集、適応型 MT リソースへの安全なアクセスを確保するために、OAuth 2.0 認証が必要です。この認証方式により、Google Cloud プロジェクトに安全に接続し、適切な認可のもとで翻訳リソースを管理できます。

    OAuth 2.0 のセットアップと設定

    ステップ 1:Google Cloud プロジェクトの作成と API の有効化

    OAuth 認証をセットアップするには、以下のステップで進めます:

    1. Google Cloud Console にアクセスします
    2. 新しいプロジェクトを作成するか、既存のプロジェクトを選択します
    3. Project ID を控えておきます(すべての API 呼び出しで必要です)
    4. 「APIs & Services」 > 「Library」に移動します
    5. 「Cloud Translation API」を検索して有効化します
    6. 「APIs & Services」 > 「Credentials」に移動します
    7. 「Create Credentials」をクリックし、「OAuth Client ID」を選択します
    8. プロンプトが表示されたら OAuth 同意画面を設定します
    9. 用途に応じて「Desktop application」または「Web application」を選択します
    10. 承認済みリダイレクト URI(CallbackURL)を設定します
    11. 接続で使用する Client ID と Client Secret をコピーします

    必須の接続プロパティ

    • AuthScheme:OAuth に設定します(必須)
    • OAuthClientId:Google Cloud Console の Client ID(必須)
    • OAuthClientSecret:Google Cloud Console の Client Secret(必須)
    • CallbackURL:OAuth アプリケーションで指定したリダイレクト URI(必須)
    • InitiateOAuth:トークンを自動管理するには GETANDREFRESH に設定します(推奨)
    • ProjectId:Google Cloud のプロジェクト ID またはプロジェクト番号(クエリに必須)

    必須の OAuth スコープ

    Google Cloud Translation API プロファイルでは、以下の OAuth スコープが必要です:

    • https://www.googleapis.com/auth/cloud-translation - 翻訳、データセット、用語集、適応型 MT を含む Cloud Translation API リソースへのフルアクセス

    組み込みの接続文字列デザイナー

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

    java -jar cdata.jdbc.api.jar
    

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

    以下のリソース定義で指定されたJDBC URL を確認できます。

    
    <Resource name="jdbc/api"   auth="Container" type="javax.sql.DataSource" driverClassName="cdata.jdbc.api.APIDriver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" url="jdbc:api:Profile=C:\profiles\GoogleTranslate.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url;" maxActive="20" maxIdle="10" maxWait="-1" />
    

    特定のアプリケーションのみに Google Translate のデータ へのアクセスを許可するには、上記のコードをアプリケーションのMETA-INF ディレクトリにあるcontext.xml に追加します。

    共有リソースの構成の場合は、上記のコードを $CATALINA_BASE/conf にあるcontext.xml に追加します。共有リソースの構成では、すべてのアプリケーションが Google Translate に接続できるようになります。

  3. アプリケーションの web.xml にリソースへの参照を追加します。
    
      Google Translate のデータ JSP
      jdbc/API
      javax.sql.DataSource
      Container
    
    
  4. コネクションプールから接続を初期化します。
    Context initContext = new InitialContext();
    Context envContext  = (Context)initContext.lookup("java:/comp/env");
    DataSource ds = (DataSource)envContext.lookup("jdbc/API");
    Connection conn = ds.getConnection();
      

Tomcat との連携について

上記の手順では、シンプルなコネクションプーリングのシナリオで Google Translate のデータ に接続する方法を説明しました。その他のユースケースや詳細については、Tomcat のドキュメントに記載されている JNDI Datasource How-To を参照してください。

はじめる準備はできましたか?

API Driver で Google Translate のライブデータに接続

Google Translate に接続