【发布时间】: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