我一直在研究App Engine和Cloud SQL。
最近我禁用了数据库的公共访问。此后,我无法使用我的应用引擎连接到CloudSQL(应用引擎和CloudSQL都在同一个Google云项目中)。
我能够连接的唯一方式是在CloudSQL上将应用引擎IP列入白名单。但在新的部署中,IP会发生变化,因此添加静态IP并不是理想的解决方案。
在云SQL连接选项卡中,它显示以下内容:
应用引擎授权< br>
默认情况下,此项目中的所有应用都获得授权。若要授权其他项目中的应用程序,请按照以下步骤操作。
此项目中的应用程序:全部授权。在这种情况下不是这样。
云SQL API和云SQL管理API已启用。
已经用谷歌搜索了问题,并按照文档和其他堆栈溢出问题中的步骤进行操作:
1) 无法从我的应用程序引擎访问Google Cloud SQL数据库
2)节点JS Mysql协议致命错误后的ENQUEUE
3)节点Mysql中的“PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR”
4)错误:Mysql节点出现致命错误后无法将查询排队
5)无法从Google应用程序引擎连接Google CloudSQL
所有这些都没有太大帮助。
connection = mysql.createConnection({ host : 'INSTANCE_CONNECTION_NAME', user : 'db_user', password : 'db_password', database : 'db_name' });
预期:获取连接。
实际: getaddrinfo ENOTFOUND INSTANCE_CONNECTION_NAME INSTANCE_CONNECTION_NAME:3306
不知道为什么它两次使用< code > INSTANCE _ CONNECTION _ NAME 。
我试图复制您的用例场景,以下步骤对我有效。您的云SQL实例没有公共IP,那么要从App Engine连接到它,您需要为这两个服务使用相同的VPN网络。因此,您必须编辑您的云SQL实例以指示您将使用的网络,并编辑app.yaml配置文件。同样重要的是,这两个服务将在同一区域运行。
在app.yaml
配置文件中,您必须添加以下标签:
network:
name: [YOUR_NETWORK_NAME]
subnetwork_name: [YOUR_SUBNETWORK_NAME]
并使用数据库环境变量:
env_variables:
SQL_USER: [YOUR_USER]
SQL_PASSWORD: [YOUR_PASSWORD]
SQL_DATABASE: [YOUR_DATABASE-NAME]
# e.g. my-awesome-project:us-central1:my-cloud-sql-instance
INSTANCE_CONNECTION_NAME:<INSTANCE_CONNECTION_NAME>
# [END gae_flex_mysql_env]
结尾的这几行:
beta_settings:
cloud_sql_instances: <INSTANCE_CONNECTION_NAME>
请记住,您必须替换”
有关更多信息,您可以查看此文档从应用程序引擎连接。
让我说明我是否理解您的问题。
您拥有公共 IP,但已使其仅可供项目中的应用程序访问。如果是这种情况,并且鉴于您使用的是灵活的环境,我发现以下方法很有帮助
1)建立连接时,将主机称为< code>172.17.0.6
2) 在应用程序中。yaml指定实例概述页面中提到的INSTANCE_CONNECTION_NAME。
3) 部署并运行。
这将在使用Docker构建灵活NodeJs环境时工作。使用的默认数据库容器位于172.17.0.6
,此处访问实例连接名称,并在App Engine
和CloudSQL DB
之间建立连接。
这是我的server.js文件 .env文件 我得到这个错误 (节点:16036)UnhandledPromiserEjectionWarning:错误:QueryReqWrap.OnResolve[as oncomplete](dns.js:203:19)处的queryTxt timeout data.ztmkm.MongoDB.NET(使用显示警告是在何处创建的)(节点:16036)Unhan
我正在nodejs上使用node-ssh模块。当我启动到ssh的连接时,它给出了错误。我也在使用WSL Ubuntu 18。我有docker compose文件。我在
我无法从我的NodeJS应用程序连接到Elasticsearch docker服务器。 这是我的docker-compose文件: 有弹力的js index.js连接: 我有一个dockerize的应用程序(NodeJS和Elasticsearch-v7.9.3)。服务器可以很好地启动,但当我尝试在Elasticsearch中创建客户端实例时,它向我显示了一个错误: Elasticsearch和K
这是我的实体 这是我的主课 这就是我的persistence.xml 堆栈跟踪:
我试图从Windows运行一个HBase Java客户端程序。我所拥有的只有1)一个没有任何编译器错误的Java程序2)hbase-site.xml(我没有其他HDFS或HBase配置文件。只有上面的一个。)当我运行程序时,我得到了以下错误--在最后一个块中给出的。我错过了什么吗?我在这里都给出了。
问题内容: 我在Mac OS 10.8.5上安装了docker-machine 0.1.0和docker-compose 1.1.0。 Docker-machine正常运行,并且能够通过docker-machine ssh连接。 但是无法从docker-compose连接。 无法通过http + unix://var/run/docker.sock连接到Docker守护程序-它正在运行吗? 如果它