Захват пользовательских журналов в DynamoDB (boto3) и отправка их на S3 - PullRequest
0 голосов
/ 23 марта 2020

У меня есть программа на boto3 (python), которая подключается к DynamoDB. Я сделал базовые функции c CRUD, которые записывают, читают, обновляют, удаляют и т. Д. c элементы в таблицу DynamoDB. В своих функциях я вызываю функции, предоставляемые boto3, как put_item(), update_item(), delete_item(), et c.

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

Теперь я застрял в получении журналов для отдельных действий. Я смотрел в Kinesis, CloudTrail ... Как я могу регистрироваться каждый раз, когда я вызываю одну из моих функций? Например, если я помещаю новый элемент с первичным ключом ('id_001', 'example@email.com '), Я хочу, чтобы оно появилось в журнале с чем-то вроде "Элемент создан: id_001".

Согласно моим поискам, лучший метод - CloudTrail. Но когда я использую CloudTrail на консоли AWS, в истории событий перечисляются такие события, как PutImage, BatchDeleteImage, CompleteLayerUpload, InitiateLayerUpload ... Но эти события ничего не говорят мне о моих отдельных функциях, которые взаимодействуют с DynamoDB.

Журнал Kinesis имеет эту форму , очевидно. Как я могу вставить туда информацию о моих функциях?

Примечание: В моей программе я использую поток Kinesis. И каждая из моих функций CRUD имеет в своем определении декоратор @kinesis_log.

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