我正在尝试通过以下方式在我的项目中使用 AWS SSM:
const AWS = require('aws-sdk')
const ssmClient = new AWS.SSM({
apiVersion: 'latest',
region: 'REGION'
});
export const localEnvironment = () => {
ssmClient.getParameter({
Name: `SSM-PATH`,
WithDecryption: true,
}, (err, data) => {
if (data?.Parameter) {
return data.Parameter
}
});}
在我的 ~/.aws/credentials 中,我添加了以下内容:
[default]
aws_access_key_id = <YOUR_ACCESS_KEY_ID>
aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>
并且可以使用 AWS CLI 查询参数。但是,当我在我的 Reach APP 中运行它时,我收到以下错误:
“配置中缺少凭据,如果使用 AWS_CONFIG_FILE,请设置 AWS_SDK_LOAD_CONFIG=1”
我尝试过的事情:
- 我在我的终端中导出了访问密钥 ID 和秘密访问密钥以及 WS_SDK_LOAD_CONFIG=1 并且没有获得任何差异。
- 我通过以下方式对代码中的值进行了硬编码:
const SESConfig = { apiVersion: "VERSION", accessKeyId: process.env.AWS_ACCESS_KEY, accessSecretKey: process.env.AWS_SECRET_KEY, region: "REGION" } AWS.config.update(SESConfig);
以上工作按预期工作,我能够检索参数。但是,我想通过 AWS 凭证保留它,我不确定我可以做些什么来让它工作。此外,使用本地环境变量文件存储这些凭据是最佳做法吗?