我有一个Java应用程序,可通过以下文件读取其数据库配置:
db.properties
dataSourceClassName = org.postgresql.ds.PGSimpleDataSource
dataSource.serverName = 127.0.0.1
dataSource.databaseName = <db name>
dataSource.portNumber = 5432
dataSource.user = postgres
dataSource.password = <password>
maximumPoolSize = 5
我建立了一个Dockerfile,
ENTRYPOINT ["mvn", "jetty:run"]
启动网络服务器我的app.yaml
文件用于弹性环境:
runtime: custom
env: flex
network:
instance_tag: nlpapigae
session_affinity: true
# forwarded_ports:
# - 8080
resources:
cpu: 8
memory_gb: 40
disk_size_gb: 32
automatic_scaling:
min_num_instances: 1
max_num_instances: 10
cool_down_period_sec: 180
cpu_utilization:
target_utilization: .75
beta_settings:
cloud_sql_instances: <instance name>=tcp:5432
env_variables:
POSTGRES_HOST: "/cloudsql/<instance name>"
POSTGRES_DB: <db name>
POSTGRES_USER: postgres
POSTGRES_PASSWORD: <password>
在部署应用程序时,出现错误,指出Postgres db无法访问。我该如何正确处理?
答案 0 :(得分:1)
尝试enabling Cloud SQL Admin API。如果要在多个项目之间进行连接,请签出Connecting to App Engine page以确保您的服务帐户具有正确的权限。
作为Java用户,您可能还对Cloud SQL JDBC Socket Factory感兴趣。