首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在连接到SQL云的app-engine中部署简单应用程序时出现错误

在连接到SQL云的app-engine中部署简单应用程序时出现错误
EN

Stack Overflow用户
提问于 2020-12-15 06:30:39
回答 1查看 45关注 0票数 0

我只是想了解一下google cloud,以便开始获得证书。我已经从谷歌的官方github repo下载了示例python应用程序,这是一个:link我刚刚更改了app.yml,如下所示:

代码语言:javascript
运行
复制
runtime: python27
api_version: 1
threadsafe: yes
service: practica

handlers:
- url: /
  script: main.app

libraries:
- name: MySQLdb
  version: "latest"

# [START gae_python_mysql_env]
env_variables:
    CLOUDSQL_CONNECTION_NAME: practica-final-297818:europe-west3:practica-sql
    CLOUDSQL_USER: root
    CLOUDSQL_PASSWORD: 123456
# [END gae_python_mysql_env]

但在尝试访问应用程序时,我收到一个错误消息:“错误:服务器错误服务器遇到错误,无法完成您的请求。请在30秒后重试。”

我已经检查了应用程序的日志,我得到了这个日志,但老实说,我没有从中得到任何东西(可能是因为我是GCP或任何其他云的新手……)

代码语言:javascript
运行
复制
ispatch()
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/dd89b7af809b5e76/python27/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 547, in dispatch
    return self.handle_exception(e, self.app.debug)
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/dd89b7af809b5e76/python27/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 545, in dispatch
    return method(*args, **kwargs)
  File "/base/data/home/apps/h~practica-final-297818/practica:version-1-0-0.431541023169113748/main.py", line 66, in get
    db = connect_to_cloudsql()
  File "/base/data/home/apps/h~practica-final-297818/practica:version-1-0-0.431541023169113748/main.py", line 46, in connect_to_cloudsql
    passwd=CLOUDSQL_PASSWORD)
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/dd89b7af809b5e76/python27/python27_lib/versions/third_party/MySQLdb-1.2.5/MySQLdb/__init__.py", line 81, in Connect
    return Connection(*args, **kwargs)
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/dd89b7af809b5e76/python27/python27_lib/versions/third_party/MySQLdb-1.2.5/MySQLdb/connections.py", line 193, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (2062, 'Cloud SQL socket open failed with error: No such file or directory')

这就是云SQL的配置

代码语言:javascript
运行
复制
settings:
  activationPolicy: ALWAYS
  availabilityType: REGIONAL
  backupConfiguration:
    backupRetentionSettings:
      retainedBackups: 7
      retentionUnit: COUNT
    binaryLogEnabled: true
    enabled: true
    kind: sql#backupConfiguration
    location: eu
    startTime: 11:00
    transactionLogRetentionDays: 7
  dataDiskSizeGb: '100'
  dataDiskType: PD_SSD
  ipConfiguration:
    authorizedNetworks:
    - kind: sql#aclEntry
      name: practica
      value: 111.111.111.111
    ipv4Enabled: true
  kind: sql#settings
  locationPreference:
    kind: sql#locationPreference
    zone: europe-west3-b
  maintenanceWindow:
    day: 0
    hour: 0
    kind: sql#maintenanceWindow
  pricingPlan: PER_USE
  settingsVersion: '25'
  storageAutoResize: true
  storageAutoResizeLimit: '0'
  tier: db-f1-micro
state: RUNNABLE
EN

回答 1

Stack Overflow用户

发布于 2020-12-15 13:26:55

对于此问题,问题是App Engine服务帐户没有附加云SQL角色。

解决方案是使用Google Cloud Console并添加一个Cloud SQL角色:

  • 云SQL客户端(recommended)
  • Cloud SQL编辑器
  • 云SQL管理员
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65297444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档