我的数据库中有一个共享VPC的GCP项目。
从另一个项目开始,我启动了google数据流,并尝试连接数据库,但总是得到“ 连接尝试失败。”,因为它找不到我提供的主机名在我的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"
答案 0 :(得分:0)
可以确认要指定子网名称而不是vpc名称吗?
--subnetwork=https://www.googleapis.com/compute/v1/projects/NAMEOFVPCHOSTPROJECT/regions/us-central1/subnetworks/MYSUBNET"
如果可以使用 MYSUBNET 中的客户端访问pgsql实例,则指定上面的参数应该可以。