经过长时间的阅读文档和调试,我一直被这个错误困住了一段时间,似乎找不到任何修复:CredentialsError: Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1
import aws from "aws-sdk";
const ses = new aws.SES({ region: "us-east-1" });
const buildEmailParams = (receiverEmail, subject, htmlBody) => {
return {
Destination: {
ToAddresses: [receiverEmail],
BccAddresses: [],
CcAddresses: []
},
Message: {
Body: {
Html: {
Charset: "UTF-8",
Data: htmlBody
},
},
Subject: {
Charset: "UTF-8",
Data: subject
}
},
ReturnPath: "[email protected]",
Source: "[email protected]",
};
};
const sendSESEmail = async (data) => {
const { receiverEmail, subject, htmlBody } = data;
const params = buildEmailParams(receiverEmail, subject, htmlBody);
try {
await ses.sendEmail(params).promise(); // ERROR IS HERE
console.log("Email sent successfully");
return true;
} catch (err) {
console.log(err);
throw err;
}
};
export { sendSESEmail };
我已经添加了我的 .env 变量,它们配置正确,我已经重启服务器几次。我尝试从 aws-sdk 模块导入 { config } 并添加此代码:
config.update({
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
});
这也被证明在同一期中产生了。我所有的环境变量都设置正确,我的访问密钥是正确的,但似乎没有办法解决这个错误。我的整个设置错了吗?我一定是忽略了什么。
我已经添加了我的 .env 变量,它们配置正确,我已经重启服务器几次。我尝试从 aws-sdk 模块导入 { config } 并添加此代码:
config.update({
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
});