Can't connect Cloud Data Fusion with Google Cloud SQL for PostgreSQL

前端 未结 2 1616
忘了有多久
忘了有多久 2021-01-19 09:31

My goal is to read data from Cloud SQL Postgres to BigQuery via a Cloud Data Fusion pipeline.

For this, I set up a Cloud Data Fusion instance and assigned the follow

相关标签:
2条回答
  • 2021-01-19 09:47

    Most likely you need a driver and the JDBC Socket Factory to get it to work properly. You should bundle the postgres connector with the socket factory into a uber-jar and see if that solves the problem.

    Here is a quick (untested) pom that should accomplish this:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
       <modelVersion>4.0.0</modelVersion>
       <groupId>com.example</groupId>
       <artifactId>postgres-with-cloud-sql-socket-factory</artifactId>
       <packaging>pom</packaging>
       <version>0.0.1</version>
    
       <dependencies>
          <dependency>
             <groupId>org.postgresql</groupId>
             <artifactId>postgresql</artifactId>
             <version>42.2.5</version>
          </dependency>
          <dependency>
             <groupId>com.google.cloud.sql</groupId>
             <artifactId>postgres-socket-factory</artifactId>
             <version>1.0.13</version>
          </dependency>
       </dependencies>
    
       <build>
          <plugins>
             <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.4.1</version>
                <configuration>
                   <!-- get all project dependencies -->
                   <descriptorRefs>
                      <descriptorRef>jar-with-dependencies</descriptorRef>
                   </descriptorRefs>
                </configuration>
                <executions>
                   <execution>
                      <id>make-assembly</id>
                      <!-- bind to the packaging phase -->
                      <phase>package</phase>
                      <goals>
                         <goal>single</goal>
                      </goals>
                   </execution>
                </executions>
             </plugin>
          </plugins>
       </build>
    </project>
    
    0 讨论(0)
  • 2021-01-19 09:48

    @Sebastian Auberger,

    We had the same issue, basically Data Fusion creates a Service Account which tries to create a IAP Tunnel to the Cloud SQL Instance. We could get through this issue by giving the role "Cloud SQL Client".

    Give it a shot and let us know!.

    0 讨论(0)
提交回复
热议问题