node.js - 如何在谷歌云函数中使用 JSON 配置文件
问题描述
我正在尝试设置谷歌云功能以使用云存储 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 配置。
请问有什么帮助吗?
解决方案
最佳实践之一是将文件放在存储桶中,以允许函数服务帐户(默认或特定身份)读取此存储桶并在运行时加载文件。主要原因之一是您不必提交安全文件,只需保留对存储桶的引用。
推荐阅读
- javascript - 如何使用 react-native-fetch-blob 获取 excel 文件
- r - kableExtra 中的 row_spec() 函数不会在 html 输出中创建水平线
- node.js - Nodejs函数将字符串返回到主程序
- javascript - 对子项隐藏 createBottomTabNavigator
- sublimetext3 - Sublime3 中的降价文档中的波浪号导致下一个空白行变为红色
- jquery - 从 2 个引导按钮组中获取价值
- javascript - 节点/圆圈顶部的 d3 图像不适用于 clipPath
- angular - 带有复选框的 Angular Material mat-tree 全选
- c# - ASP.NET MVC 性能问题“等待同步”
- mysql - 准备好的语句相对于 PDO::quote 的安全优势