Подключение размещенного в App Engine API .NET Core к GCP Cloud SQL - PullRequest
0 голосов
/ 17 апреля 2019

В качестве предисловия я могу успешно подключиться к базе данных MySQL при локальном запуске API, а БД mysql и механизм приложений являются частью одного проекта в GCP.

После развертывания моего API в механизм приложений,API не может подключиться к моему экземпляру MySQL в Cloud SQL - я получаю следующую ошибку:

ERR_SPDY_PROTOCOL_ERROR

Это файл app-settings.json:

{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "DefaultConnection": "server=XX.XXX.XXX.XXX;port=3306;database=Development;uid=root;password=XXXXXX"
  }
}

Этомой файл app.yaml:

  runtime: aspnetcore
  env: flex
  service: dtp-api
  env_variables:
    # Replace user, password, database, and instance connection name with the values obtained
    # when configuring your Cloud SQL instance.
    SQLALCHEMY_DATABASE_URI: >-
      mysql+pymysql://USER:PASSWORD@/development?unix_socket=/cloudsql/mydb-1183:europe-north1:development
  beta_settings:
    cloud_sql_instances: mydb-1183:europe-north1:development

USER установлен в значение «root», а PASSWORD - пароль root.

Контекст вводится следующим образом:

services.AddDbContext<DTPContext>(options =>
            options.UseMySql(Configuration.GetConnectionString("DefaultConnection")));

И называется так:

[HttpGet, Route("topics")]
        public IEnumerable<forum_topic> Index()
        {
            return _forumRepo.GetTopics();
        }

Удар по вышеуказанной конечной точке приводит к ошибке, я следовал инструкциям, предоставленным Google онлайн, но безуспешно, может ли кто-нибудь указать мне правильное направление?

Спасибо

...