Amazon SES: писать электронные письма на S3 в папках с именами по дате? - PullRequest
0 голосов
/ 30 апреля 2020


Мне было поручено настроить конвейер для сохранения входящих сообщений электронной почты (с помощью Amazon SES) в корзине S3, отсортированной по папкам по дате, например. "emails / 2020-04-30", "emails / 2019-05-12" et c.
Сейчас я имею в виду, что сначала нужно сохранить электронную почту в корзине, а затем вызвать Lambda. функция, чтобы проверить, существует ли папка на эту дату, создайте ее при необходимости и переместите файл туда.

Это выглядит довольно окольным способом, поэтому мне интересно, есть ли более эффективный способ сделать это.

Спасибо!

1 Ответ

0 голосов
/ 01 мая 2020

Если вы используете aws команды cli для загрузки электронной почты в определенную корзину s3, вы можете просто проверить, существует ли конкретная корзина или нет, используя такую ​​команду, как:

aws s3 ls s3://emails/2020-04-30

, которая возвращает None, если он не был создан ранее. Затем вы можете приступить к созданию корзины и загрузке электронной почты.

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

  1. Загрузить все электронные письма в определенном сегменте (скажем, emails) в S3 с S3 Action в SES.
  2. Создать aws - функция lamda, которая принимает события загрузки файлов в корзину электронных писем и перемещает этот файл в определенную корзину, названную в соответствии с датой создания этого файла.
  3. Установите уведомление о событии (триггер) для этой корзины электронной почты, которая вызывает Лямбда-функция создана на втором шаге.

Надеюсь, что ответит на ваш вопрос.

Для справки вы можете проверить: ссылка на aws cli comamnd

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...