Захватите время начала и окончания загрузки файла S3 и другие детали - PullRequest
0 голосов
/ 24 января 2019

Я хочу предоставить пользователям API (предпочтительно с использованием шлюза AWS API / Lambda / Go).

Используя этот API, пользователи могут загружать двоичный файл из корзины S3.

Я хочу записать метрики, например, какой пользователь начал загрузку файла, время начала и окончания загрузки файла.

Я хочу записать эти метки времени в DynamoDB.

S3 имеет поддержку событий для создания / изменения / удаления файлов, поэтому я могу написать лямбда-функцию для этих событий.

Но, похоже, S3 не поддерживает действия чтения (например, загрузить файл)

Я думаю написать лямбда-функцию, которая будет вызываться, когда пользователь вызывает API для загрузки файла.В лямбде я хочу записать метку времени, прочитать файл в буфер, закодировать его и затем отправить его как ответ клиента в кодировке base64.

Дайте мне знать, если есть какой-нибудь лучший альтернативный подход.

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Может быть, вы можете использовать S3 Access Logs ?

И настроить событие на основе новых записей в журнале.Однако в этих журналах не будет указано, закончила ли пользователь загрузку или нет.

0 голосов
/ 24 января 2019

использовать Ведение журнала доступа к серверу Amazon S3

не использовать DynamoDB, если вам нужно запросить журналы в настройке целевого сегмента Spectrum для запроса журналовкоторые также в S3

...