0

Google Cloud Dataprocで動作するジョブからGoogle Cloud SQLに接続しようとしています。私は外部ネットワークからクラウドSQLインスタンスへのアクセスを許可していません。私のdataprocクラスタは、クラウドSQLと同じプロジェクトに入っているので、接続を許可することを期待しています。Google Cloud DataProcのGoogle JDBCドライバのClassNotFoundException

私はクラウドSQL(https://cloud.google.com/appengine/docs/standard/java/cloud-sql/)に接続するためのドキュメントに従ってきました。しかし、この文書はGAEからクラウドSQLに接続するためのものです。それにもかかわらず、私はその手順を試みた。しかし、com.mysql.jdbc.GoogleDriverはデータproc環境では利用できません。したがって、私はこのクラスのためにClassNotFoundExceptionを得ます。

このパッケージはどこで入手できますか?私はそれをuber jarに入れ、dataprocクラスタで実行しようとします。

+0

リンクされたドキュメントに記載されているように、あなたのpomに依存性 'mysql-connector-java'と' mysql-socket-factory'を既に含んでいますか? –

+0

私は 'mysql-connector-java'をdocに記述していないので、ローカルでのみ使用されています。 –

答えて

0

somereadingを実行すると、GoogleDriverはApp Engineアプリケーションのコンテキストでのみ使用できるように見えます。 AppEngine以外では、使用パターンは少し異なります。最初のリンクから:

String jdbcUrl = String.format(
    "jdbc:mysql://google/%s?cloudSqlInstance=%s&" 
     + "socketFactory=com.google.cloud.sql.mysql.SocketFactory", 
    databaseName, 
    instanceConnectionName); 

Connection connection = DriverManager.getConnection(jdbcUrl, username, password); 
関連する問題