从 key/value 对的字符串中设置环境变量
Set environment variables from string of key/value pairs
我正在使用 AWS Secrets Manager 在 React CloudFront Web 应用程序的部署过程中提取一些环境变量。我没有写很多 javascript - 我正在尝试找出从我的 'secrets' 字符串中提取值并将它们设置为环境变量的最佳方法。
在某些情况下,我能够很好地连接到 AWS-SDK 并检索我的秘密 - 它们看起来像这样:
console.log(secret)
> {"JOE":"https://joe.com","MIKE":"http://mike.com"}
当我决定检查我的秘密类型并发现 javascript 正在将其作为字符串进行评估时,第一个惊喜就来了:
console.log(typeof secret);
> string
因为我现在知道我正在使用一个字符串,所以我试图找到最有效的方法来解析这个 'string'(尽管在我的 python 眼中它看起来像一本字典) 并将字符串中的每个 key/pair 值设置为环境变量。
我首先尝试的是 'modules.export' 方法 - 我做了类似的事情:
module.exports = secret;
if(process.env.JOE) {
console.log('It is set!');
}
else {
console.log('No set!');
}
当然,这好得令人难以置信 - 似乎并没有像我希望的那样工作。
我尝试的下一件事就是简单地尝试索引字符串并查看它可能 return:
console.log(secret["JOE"]);
> undefined
运气不好。
我尝试了各种其他简单的内置 javascript 方法,但我似乎没有取得任何进展。我是否正确地认为我应该首先将其加载到字典中,然后可能使用 modules.export 将字典中的每个 key/pair 设置为环境变量?
看起来像 JSON 字符串。只需调用 JSON.parse(secret)
,它应该会为您提供您期望的对象。
来自 Web 服务器的数据总是 return 作为字符串,无论其格式如何。参考这个link:https://www.w3schools.com/js/js_json_parse.asp
这应该将数据转换为 JSON,然后您可以将其视为常规 JavaScript 对象。
希望对您有所帮助!
我正在使用 AWS Secrets Manager 在 React CloudFront Web 应用程序的部署过程中提取一些环境变量。我没有写很多 javascript - 我正在尝试找出从我的 'secrets' 字符串中提取值并将它们设置为环境变量的最佳方法。
在某些情况下,我能够很好地连接到 AWS-SDK 并检索我的秘密 - 它们看起来像这样:
console.log(secret)
> {"JOE":"https://joe.com","MIKE":"http://mike.com"}
当我决定检查我的秘密类型并发现 javascript 正在将其作为字符串进行评估时,第一个惊喜就来了:
console.log(typeof secret);
> string
因为我现在知道我正在使用一个字符串,所以我试图找到最有效的方法来解析这个 'string'(尽管在我的 python 眼中它看起来像一本字典) 并将字符串中的每个 key/pair 值设置为环境变量。
我首先尝试的是 'modules.export' 方法 - 我做了类似的事情:
module.exports = secret;
if(process.env.JOE) {
console.log('It is set!');
}
else {
console.log('No set!');
}
当然,这好得令人难以置信 - 似乎并没有像我希望的那样工作。
我尝试的下一件事就是简单地尝试索引字符串并查看它可能 return:
console.log(secret["JOE"]);
> undefined
运气不好。
我尝试了各种其他简单的内置 javascript 方法,但我似乎没有取得任何进展。我是否正确地认为我应该首先将其加载到字典中,然后可能使用 modules.export 将字典中的每个 key/pair 设置为环境变量?
看起来像 JSON 字符串。只需调用 JSON.parse(secret)
,它应该会为您提供您期望的对象。
来自 Web 服务器的数据总是 return 作为字符串,无论其格式如何。参考这个link:https://www.w3schools.com/js/js_json_parse.asp 这应该将数据转换为 JSON,然后您可以将其视为常规 JavaScript 对象。
希望对您有所帮助!