0

我正在尝试通过以下方式在我的项目中使用 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”

我尝试过的事情:

  1. 我在我的终端中导出了访问密钥 ID 和秘密访问密钥以及 WS_SDK_LOAD_CONFIG=1 并且没有获得任何差异。
  2. 我通过以下方式对代码中的值进行了硬编码:

const SESConfig = { apiVersion: "VERSION", accessKeyId: process.env.AWS_ACCESS_KEY, accessSecretKey: process.env.AWS_SECRET_KEY, region: "REGION" } AWS.config.update(SESConfig);

以上工作按预期工作,我能够检索参数。但是,我想通过 AWS 凭证保留它,我不确定我可以做些什么来让它工作。此外,使用本地环境变量文件存储这些凭据是最佳做法吗?

4

0 回答 0