Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform &引用;process.env.DATABASE“u URL”;未填充部署在Google Cloud Run上的应用程序内_Google Cloud Platform_Google Cloud Sql_Google Cloud Run - Fatal编程技术网

Google cloud platform &引用;process.env.DATABASE“u URL”;未填充部署在Google Cloud Run上的应用程序内

Google cloud platform &引用;process.env.DATABASE“u URL”;未填充部署在Google Cloud Run上的应用程序内,google-cloud-platform,google-cloud-sql,google-cloud-run,Google Cloud Platform,Google Cloud Sql,Google Cloud Run,下面是部署到Heroku时NodeJS代码的工作原理 var pgp = require("pg-promise")(/*options*/); function PostgresDBAdapter() { var db = pgp( process.env.DATABASE_URL || "postgres://postgres:123456@localhost:5432/surveyjs" ); function g

下面是部署到Heroku时NodeJS代码的工作原理

var pgp = require("pg-promise")(/*options*/);

function PostgresDBAdapter() {
  var db = pgp(
    process.env.DATABASE_URL ||
      "postgres://postgres:123456@localhost:5432/surveyjs"
  );

  function getObjectFromStorage(tableName, callback) {
    db.any("SELECT * FROM " + tableName).then(function (result) {
      var objects = {};
      (result || []).forEach(function (item) {
        objects[item.id] = item;
      });
      callback(objects);
    });
  }
但当我部署到GoogleCloud运行时,“process.env.DATABASE\uURL”并没有填充。我放置了什么环境变量或应该遵循什么url语法?。在部署到云运行时,我已将云sql实例附加到我的应用程序。
谢谢。

我已经重写了如下代码,效果很好

var pgp=要求(“pg承诺”)(/options/); const databaseConfig={“host”:“/cloudsql/”,“database”:“db1”,“user”:“postgres”,“password”:“password123”,“port”:“5432}

函数PostgresDBAdapter()
{var db=pgp(数据库配置)

显示您正在使用的
gcloud run deploy
命令。您可以在部署期间使用
--set env vars
--update env vars
命令行选项设置
数据库URL
的值。您是如何部署应用程序的?请参阅此处的文档:谢谢。我已经用pg promi重写了代码它工作正常。var pgp=require(“pg promise”)(/*options*/);const databaseConfig={“host”:“/cloudsql/”,“database”:“db1”,“user”:“postgres”,“password”:“password123”,“port”:5432};函数PostgresDBAdapter(){var db=pgp(databaseConfig);如果这样做有效,则意味着连接字符串不正确,仅此而已。您只需根据预期修改语法即可。当主机名以
/
开头时,通常是套接字,而不是域名。如果是这种情况,则需要使用套接字语法。