小编Don*_*out的帖子

Google App Engine .Net Core 2.0应用无法访问Google Cloud SQL数据库

我在Google App Engine Flexible Environment中运行了一个dotnet core 2.0应用程序.在同一个Google项目中,我有一个Cloud SQL - MySQL数据库.在Cloud SQL Instance详细信息页面的"授权"选项卡下,它指出

此项目中的应用程序:全部授权.

但是,除非我将0.0.0.0/0路由添加到授权网络部分,否则我无法从我的应用程序访问数据库.

如何在不向全世界打开数据库的情况下为我的应用程序数据库访问提供什么?


来自Jeffery Rennie的更新2018-05-21(已接受答复)

App Engine现在支持使用端口号而不是unix域套接字连接到Cloud SQL实例.所以现在,您可以添加以下内容app.yaml:

beta_settings:
    cloud_sql_instances: "your-project-id:us-central1:instance-name=tcp:5432"
Run Code Online (Sandbox Code Playgroud)

Host=cloudsql在appsettings.json中的连接字符串中指定:

"ConnectionString": "Uid=aspnetuser;Pwd=;Host=cloudsql;Database=visitors"
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,端口是5432,这是PostgreSQL数据库的默认端口.对于MySQL数据库,请使用端口3306.

可以在此处找到有关部署到App Engine的说明的完整示例:

https://github.com/GoogleCloudPlatform/dotnet-docs-samples/tree/master/appengine/flexible/CloudSql

google-app-engine google-cloud-sql google-cloud-platform .net-core app-engine-flexible

11
推荐指数
1
解决办法
1191
查看次数