云功能postgresDemo无法正常运行

时间:2018-09-28 11:11:33

标签: google-cloud-functions google-cloud-sql

我正在尝试从node.js示例中部署postgresDemo函数。 但是我无法成功连接到Cloud SQL实例。

我使用以下命令发布了该函数:gcloud beta函数部署postgresDemo --runtime nodejs8 --env-vars-file env.yaml --trigger-http

我添加了控制台日志,以查看是否正确填充了所有必需的env变量,这很好。但是当我尝试创建pg.Pool时,出现以下错误:

  

错误:在以下位置连接ECONNREFUSED 127.0.0.1:5432\n   Object._errnoException(util.js:1022:11)\ n在   _exceptionWithHostPort(util.js:1044:20)\ n位于TCPConnectWrap.afterConnect [完成时](net.js:1198:14)\ n代码:   'ECONNREFUSED',\ n错误号:'ECONNREFUSED',\ n系统调用:'connect',\ n   地址:“ 127.0.0.1”,\ n端口:5432

我的App Engine Java应用程序正在使用此Cloud SQL实例。但是在节点云功能中,我的连接并不成功。

以下是我的参数,仅省略了用户名和密码:

max: 1, user: 'username', password: 'password', database: 'appengine_helloworld_db', socketPath: '/cloudsql/hello-world-4736435:southamerica-east1:hello-world-postgis-sp'

1 个答案:

答案 0 :(得分:0)

对于遇到此问题的其他人,我必须安装并运行Cloud SQL代理:https://cloud.google.com/sql/docs/postgres/quickstart-proxy-test

可能很明显,但是如果您跳到该示例,可能会错过它。对于Cloud Functions,活动项目也是潜在的错误来源。

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" />
<div class="p-1 mt-4 d-flex flex-wrap">
    <div class="p-1 m-1 d-flex flex-content-around shadow-lg p-2 mb-4 bg-white rounded box">
        <div class="my-auto">
            <img alt="pokemon pic" src="https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/66.png" />
        </div>
        <div class="p-1 d-flex flex-column" style="display:inline-block; word-break: break-word;">
            <div class="p-0">
                <h3>Macgoooooo</h3>
            </div>
            <div class="p-0 d-flex flex-column flex-wrap">
                <div class="p-0">
                    <span>cought at</span>
                </div>
                <div class="p-0">
                    <small>2019-09-01</small>
                </div>
            </div>
        </div>
    </div>
</div>