我正在尝试使用 AWS 的 JavaScript SDK 从 Web 浏览器将文件上传到我的 S3 存储桶。我的代码如下所示:
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
AccountId: 'dfhgdh',
IdentityPoolId: 'fdagsd',
RoleArn: 'fdafds'
});
var bucket = new AWS.S3({params: {Bucket: 'test-bucket'}});
var pdfUpload = document.getElementById('pdf-uploads').files[0];
var params = {Key: pdfUpload.name, ContentType: pdfUpload.type, Body: pdfUpload};
bucket.putObject(params, function (error, data) {
if (error) {
console.log(error);
} else {
console.log(data);
}
});
但是,每当它到达 putObject 命令时,我都会不断从 AWS 收到错误消息:
“错误:配置中缺少凭据 {消息:“配置中缺少凭据”,代码:“CredentialsError”...”
我确定我在这里遗漏了一些简单而愚蠢的东西,但我无法弄清楚我的生活是什么。(当我尝试硬编码一个伪造的密钥或其他东西时,我得到了一个不同的错误,所以我很确定这与我尝试设置 cognito 凭据的方式有关。)