Назад | Перейти на главную страницу

Данные Amazon SES через AWS S3: есть ли простой способ составить список и загрузить папку и получить количество строк?

Я настроил Amazon SES для отправки объявления компании списку из примерно 1000 контактов. Я настроил Kenesis Firehose для записи всех событий электронной почты (например, Send, Bounce, Click) в корзину в S3. SES, кажется, предоставляет инструменты для массового анализа огромного количества электронных писем, но я хочу видеть результаты для каждого отдельного получателя. Не знаю, пропустил ли я что-то, но я нашел единственный способ сделать это - загрузить файлы из S3 и проанализировать их в электронной таблице. Для этого я разработал довольно сложную электронную таблицу.

Файлы хранятся в S3 в иерархии папок по месяцам, дням и часам. Консоль S3 позволяет мне загружать каждый файл индивидуально, перемещаясь по дереву папок вручную и щелкая каждый файл правой кнопкой мыши. В документации консоли S3 говорится:

Вы можете загрузить один объект за запрос с помощью консоли Amazon S3. Чтобы скачать несколько объектов, использовать AWS CLI, AWS SDK или REST API.

Я познакомился с AWS SDK для PHP и использую его для отправки электронных писем в SES. В Руководстве разработчика S3 есть инструкции по Получение объекта с помощью AWS SDK для PHP. Похоже, что в нем нет инструкций по получению нескольких объектов, и я думаю, что могу добиться этого, написав цикл по папкам и файлам.

Я не установил AWS CLI. Есть Ответ на ошибку сервера который, кажется, говорит, что можно загрузить папку с помощью команды CLI sync.

Итак, сейчас это похоже на то, что для загрузки всех файлов в папке мне нужно либо написать программу SDK, либо установить CLI и изучить sync команда. Либо одно из них кажется большим трудом для того, что я могу сделать в Windows с помощью перетаскивания мышью или в Filezilla с помощью двойного щелчка мыши. Я что-то упускаю, или мне действительно нужно делать всю эту работу только для того, чтобы загружать файлы в дереве папок?

Windows и Filezilla также легко позволяют мне видеть сразу все дерево папок со всеми файлами в каждой папке. Консоль S3 позволяет мне видеть только одну подпапку за раз. Очередной раз, мне нужно написать программу SDK или изучить интерфейс командной строки, чтобы получить список дерева папок?

Пока я задаю эти два вопроса, было бы полезно увидеть количество строк в каждом файле, потому что каждая строка представляет событие SES. Я легко получу эту информацию из своего анализа после того, как у меня будут файлы, но я удивлен, что SES, похоже, не дает мне возможности увидеть количество событий, кроме как путем этого анализа. Это правильно, или упустил ли я что-то в SES, что дало бы мне эту информацию?

И последний вопрос: все вышеперечисленное было бы ненужным, если бы я мог просто попросить SES предоставить мне дамп всех данных о событиях. Единственный способ получить эти данные, который я нашел, - это загрузить эти файлы S3, которые затем мне нужно объединить в свою электронную таблицу. Итак, снова Не упустил ли я что-то в SES, что позволило бы мне получить все данные о событиях, не прибегая к этой чепухе в S3?

Вы можете просто использовать Cyberduck для просмотра и загрузки файлов или используйте Athena для анализа данных прямо из S3