Я пытаюсь использовать неопознанный пул удостоверений Cognito для отправки электронных писем через SES, используя веб-форму. Я использую простой ваниль JS, Node / jQuery / React.
function sendMessage(event) {
var params = ...;
AWS.config = new AWS.Config({
region: 'us-west-2',
credentials: new AWS.CognitoIdentityCredentials({
// Unauthenticated pool for sending emails
IdentityPoolId: 'us-west-2:foo'
})
});
var SES = new AWS.SES({ apiVersion: '2010-12-01' });
SES.sendEmail(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
}
Я настроил это как событие отправки для формы, но каждый раз, когда она отправляется, я получаю CredentialsError: "Missing credentials in config"
.
Как я понимаю, мне не нужно было опускаться и явно устанавливать доступ и секретные ключи с помощью вызова get()
. Все примеры кода, представленные в Cognito и общей документации SDK, показывают, что вы можете напрямую создать экземпляр объекта службы и начать выполнять вызовы. Также не должно быть никаких условий гонки, как я обнаружил в этой теме :
Начиная с v2.1.20 учетные данные лениво выбираются при выполнении запроса.
Я пользуюсь v2.597. Что мне здесь не хватает? Почему это не работает?