Вопросы

AWS sam SES sendEmail возвращает InvalidClientTokenId (nodejs / lambda)

надеюсь, вы можете мне помочь с этим:

Я использую AWS sam для создания API-шлюза AWS с nodejs. пока все работает нормально, но когда я пытался отправлять электронные письма через AWS SES, я получаю следующую ошибку:

ERROR   Invoke Error    {"errorType":"InvalidClientTokenId","errorMessage":"The security token included in the request is invalid.","code":"InvalidClientTokenId","message":"The security token included in the request is invalid."

я использую следующий код:

const AWS = require("aws-sdk");
const SESConfig = {
        accessKeyId: process.env.AWS_ACCESS_KEY_ID_SES,
        secretAccesskey: process.env.AWS_SECRET_ACCESS_KEY_SES,
        apiVersion: "2010-12-01",
        region: process.env.AWS_REGION
      };

var params = {
        Destination: {
         ToAddresses: [
          userDataObject.email
         ]
        }, 
        Message: {
         Body: {
          Html: {
           Charset: "UTF-8", 
           Data: "This message body contains HTML formatting. It can, for example, contain links like this one: <a class=\"ulink\" href=\"https://docs.aws.amazon.com/ses/latest/DeveloperGuide\" target=\"_blank\">Amazon SES Developer Guide</a>."
          }, 
          Text: {
           Charset: "UTF-8", 
           Data: "This is the message body in text format."
          }
         }, 
         Subject: {
          Charset: "UTF-8", 
          Data: "Test email"
         }
        }, 
        ReplyToAddresses: [
        ], 
        ReturnPath: "", 
        ReturnPathArn: "", 
        Source: "[email protected]", 
        SourceArn: ""
       };

 await new AWS.SES(SESConfig).sendEmail(params).promise().then((response) => {
         console.log(response);
       })
  • Я дважды проверил, что токены для пользователя IAM в порядке и не содержат специальных символов.
  • Я также проверил, что учетная запись SES не находится в режиме песочницы.
  • Я проверил, что переменные в SESConfig действительно доступны для чтения и содержат необходимые данные.
  • Я попытался использовать полный доступ SES для политики пользователей. Я также пробовал с полными правами администратора
  • aws-sdk обычно работает в этом проекте: я могу загружать данные, например, в s3
  • отправка электронной почты через smtp с помощью nodemailer, вероятно, сработает, но я не пробовал этого, потому что я действительно хочу опробовать aws-sdk
Читать:
Используйте переменную powershell для выполнения программы по пути к файлу в переменной

Я был бы очень рад, если бы кто-нибудь мог указать, делаю ли я что-то не так в целом или у кого-то есть представление о том, что я могу попытаться решить эту проблему

Похожие записи

WPF добавляет новую строку в заполненную таблицу данных из БД

admin

Как настроить клиент DynamoDB на AWS (JAVA)

admin

Документ наследования ODM с ошибкой создания схемы типа SINGLE_COLLECTION

admin

Компиляция Kotlin из командной строки

admin

Запрос Firebase ничего не возвращает

admin

Как избежать двойных и одинарных кавычек в sed?

admin