【问题标题】:AWS JS SDK S3 use custom configuration fileAWS JS SDK S3 使用自定义配置文件
【发布时间】:2020-09-01 08:35:15
【问题描述】:

我将使用 AWS JS SDK 替换 s3cmd

s3cmd 命令中有一个设置自定义配置文件的选项:s3cmd -c "/path/to/config"。但是我在“aws-sdk”(共享凭证文件)中找不到如何使用相同的配置文件?

我的代码如下所示:

let cnf_file = path.join(__dirname, "../config");
process.env.AWS_SHARED_CREDENTIALS_FILE = cnf_file;
const S3 = require('aws-sdk/clients/s3');
let s3 = new S3();
let params = {
//...
};
s3.putObject(params, (err, response) => {});

但我得到错误:

消息: '配置中缺少凭据,如果使用 AWS_CONFIG_FILE,请设置 AWS_SDK_LOAD_CONFIG=1',

消息:'无法从任何提供商加载凭据',

【问题讨论】:

  • 如果在顶部添加process.env.AWS_SDK_LOAD_CONFIG=1会怎样?
  • @mrblewog 完成错误:ENOENT:没有这样的文件或目录,打开 '/Users/vl/.aws/config'

标签: aws-sdk-js s3cmd


【解决方案1】:

我发现问题是s3cmd 配置文件与aws-sdk 不兼容,因为访问密钥和密钥的属性名称不同。

所以我最终得到了这条线:this.s3 = new S3({ accessKeyId, secretAccessKey });,它使它工作了。

【讨论】:

    猜你喜欢
    • 2014-01-07
    • 1970-01-01
    • 2022-10-19
    • 1970-01-01
    • 2013-08-23
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 2019-07-02
    相关资源
    最近更新 更多