Node.js中AWS-SDK-S3-Client执行putObject时报‘Resolved credential object is not valid’错
报错原因及解决步骤
错误原因
你的S3客户端配置文件s3_util.js里,credentials对象的密钥字段名写错了。AWS SDK v3要求凭证对象的secret密钥字段必须是secretAccessKey,但你写成了accessKey,这直接导致签名模块无法识别有效的凭证信息,触发了Resolved credential object is not valid验证错误。
解决步骤
- 修改
s3_util.js中的凭证配置,把错误的字段名替换为正确的secretAccessKey:
const s3 = new AWS.S3Client({ credentials: { accessKeyId: accessKey, secretAccessKey: secretAccesskey, // 修正此处字段名 }, region: bucketRegion, });
- 额外检查项:
- 确认
.env文件中SECRET_ACCESS_KEY变量已正确设置,没有拼写错误 - 验证
ACCESS_KEY和SECRET_ACCESS_KEY的值是AWS控制台生成的有效密钥对
修改后重新运行代码,凭证验证错误即可解决。
内容的提问来源于stack exchange,提问作者Vivek
相关产品推荐
相关产品推荐

