【问题标题】:How to read data from PostgreSQL database (JDBC) and write to BigQuery?如何从 PostgreSQL 数据库 (JDBC) 读取数据并写入 BigQuery?
【发布时间】:2018-10-02 15:50:29
【问题描述】:

我在 GCP 中的一个项目中使用共享 VPC 拥有我的数据库。

从另一个项目,我启动了谷歌数据流,并尝试连接数据库,但总是得到'连接尝试失败。',因为它找不到我提供的主机名在我的application.yml

如果我在这个 Big Query 项目(使用共享 VPC 网络)中创建一个 VM 实例,并安装 PostgreSQL 客户端,我可以连接到该数据库。

我检查了this question,但我没有看到连接数据库的答案。

我也尝试过使用子网参数complete or short form URL 运行 maven compile,但仍然没有运气。

以下是我从 cloudshell 运行的命令:

mvn compile exec:java -Dexec.mainClass=com.myurl.spring.beam.pipeline.SpringBeamPipelineLauncher \
-Dexec.args="--project=test-big-query \
--stagingLocation=gs://test-big-query/test/ \
--runner=DataflowRunner \
--jobName=dataflow-dryrun \
--springContextClass=com.myurl.bi.gcdf.sqlloader.config.PipelineConfig \
--bootstrapOptionClass=com.myurl.spring.beam.pipeline.options.BootstrapOptions \
--entryPoint=com.myurl.bi.gcdf.sqlloader.SQLLoaderEntryPoint \
--subnetwork=https://www.googleapis.com/compute/v1/projects/NAMEOFVPCHOSTPROJECT/regions/us-central1/subnetworks/NAMEOFVPCNETWORK"

【问题讨论】:

    标签: google-bigquery google-cloud-dataflow


    【解决方案1】:

    您能否确认您指定的是子网的名称而不是 vpc 的名称?

    --subnetwork=https://www.googleapis.com/compute/v1/projects/NAMEOFVPCHOSTPROJECT/regions/us-central1/subnetworks/MYSUBNET"
    

    如果您可以使用 MYSUBNET 中的客户端访问您的 pgsql 实例,那么指定上述参数应该可以工作。

    【讨论】:

    • 你好萨米尔,我很抱歉。我确实使用了共享 VPC 网络的子网名称。但是,它仍然给我同样的错误。
    猜你喜欢
    • 2017-12-14
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    • 2020-12-11
    • 1970-01-01
    相关资源
    最近更新 更多