gpt4 book ai didi

node.js - 使用 dynamoose.js 时如何避免将 aws config 设置为外部环境变量

转载 作者:太空宇宙 更新时间:2023-11-04 00:03:46 24 4
gpt4 key购买 nike

除非我通过环境变量在外部设置,否则我的 aws 配置将无法工作

仅当我在外部设置凭据时,数据库连接才有效,

export AWS_ACCESS_KEY_ID=abcde
export AWS_SECRET_ACCESS_KEY=abcde
export AWS_REGION=ap-south-1
export AWS_DYNAMODB_ENDPOINT="http://localhost:8000"

如果我不在外部设置这些,它就不起作用。例如,如果我在如下代码中设置它,它就不起作用。

dynamoose.AWS.config.update({
accessKeyId:'abcde',
secretAccessKey:'abcde',
region:'ap-south-1',
endpoint:'http://localhost:8000'
});

我不想在外部的任何变量中设置配置。有没有办法在nodejs代码中管理这个?

这些是我尝试/考虑过的替代方案

  1. 在代码中设置环境变量,这也不起作用

    process.env.AWS_REGION='ap-south-1';

  2. 我读到了有关 dotenv 包的信息。但建议仅用于开发而不是生产(我不确定这是否有效)

请帮我解决这个问题。如何仅在代码中管理配置?

最佳答案

问题可能是您在运行 dynamoose.AWS.config.update 方法之前创建或需要 Dynamoose 模型。

确保 dynamoose.AWS.config.update 是您调用的第一个方法,并且您之前没有创建或初始化任何 Dynamoose 相关的内容。

例如。

const dynamoose = require('dynamoose');
dynamoose.AWS.config.update({
accessKeyId:'abcde',
secretAccessKey:'abcde',
region:'ap-south-1',
endpoint:'http://localhost:8000'
});
const Model = require('./models/MyModel'); // should happen after `dynamoose.AWS.config.update`

我尝试做的另一个技巧是启用调试日志记录并浏览日志以查看发生了什么。您可以通过运行 export DEBUG=dynamoose* 来启用 D​​ynamoose 日志记录,然后重新运行脚本。

关于node.js - 使用 dynamoose.js 时如何避免将 aws config 设置为外部环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53387162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com