【问题标题】:How to use a JSON config file in a google cloud function如何在谷歌云函数中使用 JSON 配置文件
【发布时间】:2019-08-06 00:41:40
【问题描述】:

我正在尝试设置谷歌云功能以使用云存储 SDK。该云存储 SDK 需要一个 JSON 格式的配置文件,该文件在您使用帐户注册应用程序时生成。我正在使用 Node.js 10

如何将 JSON 对象导入谷歌云函数?

到目前为止,我已经尝试在谷歌云控制台中使用环境变量。我将 json 对象复制到值空间中,但它不起作用。我尝试将项目作为带有普通 json 文件的 zip 文件上传,并使用 fs 模块读取 json 对象,但没有奏效。

这是我需要使用的 JSON 对象。 (显然键已更改为随机值

{
    "randomAppSettings": {
      "clientID": "jk321hgg5h1l5j234gjl23",
      "clientSecret": "akhfusafkhdsjghlsakdfkdj",
      "appAuth": {
        "publicKeyID": "243532kj5kh",
        "privateKey": "23k4j32hvj4hh",
        "passphrase": "jk321g5hg12l534kj521"
      }
    },
    "enterpriseID": "4235614785",
    "webhooks": {
      "primaryKey": "3jh24gkj34`j2hkhj23g1hk5gk2jhkjhk",
      "secondaryKey": "125gk4j5h325432bkjhkjhekjh642"
    }
  }

你可以看到它不是一个简单的键/值对,我不知道这是否与它有关。

这是实际代码中使用的读取信息的方法(用正常的fs尝试)

let configFile = fs.readFileSync("baconConfig.json");
const randAppConfig = JSON.parse(configFile); //variable for security and configuration management

预期的结果是使用 JSON.parse 方法读取文件,但是日志输出的错误集中在尝试读取 json 配置。

有什么帮助吗?

【问题讨论】:

  • 一个想法是在部署 Node.js 应用程序时将 JSON 文件打包。然后,您可以使用简单的 require() 将 JSON 读入您的应用程序...请参阅bennadel.com/blog/…
  • 请编辑您的问题以包含您获得的确切错误消息和堆栈跟踪。

标签: node.js json google-cloud-functions


【解决方案1】:

最佳实践之一是将文件放在存储桶中,以允许函数服务帐户(默认或特定身份)读取此存储桶并在运行时加载文件。 主要原因之一是您不必提交安全文件,只需保留对存储桶的引用即可。

【讨论】:

    猜你喜欢
    • 2019-10-15
    • 2020-05-27
    • 2016-02-29
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多