我有一个使用 React JS 构建的放大应用程序,我有一个场景,我在我的 AWS 账户的 SSM 参数存储中手动存储 API 密钥。但是,我想根据我的 React JS 应用程序(客户端)中的键来检索/获取这些值(JSON 对象)。所以,我已经安装了 aws-sdk、AWS JavaScript sdk,并使用下面的代码片段我试图访问 ssms 参数存储
const AWS = require('aws-sdk');
AWS.config.update({region:'us-east-1'});
const ssm = new AWS.SSM();
const getSecret = async (secretName) => {
console.log(`Getting secret for ${secretName}`);
const params = {
Name: secretName,
WithDecryption: true
};
const result = await ssm.getParameter(params).promise();
return result.Parameter.Value;
};
module.exports = {getSecret};
我在运行我的应用程序和使用 getSecret 函数访问商店时收到此错误。
未处理的拒绝 (CredentialsError):配置中缺少凭据,如果使用 AWS_CONFIG_FILE,请设置 AWS_SDK_LOAD_CONFIG=1
我相信 amplify 会隐式配置环境,但由于 Amplify 尚不支持 SSM Secrets manager,因此我必须为此目的使用 JS AWS SDK。在使用 AWS 开发工具包配置服务时,谁能帮我发现问题?还是有另一种或更好的方法从客户端访问参数存储?
另外,冲浪后我发现了一个名为dotenv的包
以这种方式存储 aws 凭证可以吗?