AWS DynamoDB в Kinesis без DynamoDB Stream

У нас есть требование передавать данные из таблиц DynamoDB в поток Kinesis для мониторинга событий. Мы начали изучать поток DynamoDB, но проблема в том, что поток DynamoDB не зашифрован, и в нашем решении нигде не может быть незашифрованных данных. Каков еще один бессерверный подход к потоковой передаче данных из DynamoDB в Kinesis? Я не хочу, чтобы сервер использовал адаптер DynamoDB. Спасибо

Если данные должны быть зашифрованы повсюду, тогда вы должны выполнить шифрование на стороне клиента, прежде чем отправлять их в Dynamodb, верно? В этом случае данные все равно будут зашифрованы в потоке.

Matthew Pope 05.08.2018 02:52
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
181
2

Ответы 2

Если вы хотели использовать потоки DynamoDB, вот как вы могли бы это сделать:

Включите пары DynamoDB, но установите для него значение «Только ключи». Этот режим предоставит только ключевые атрибуты измененного элемента. Затем настройте Lambda для запуска этого потока DynamoDB, это будет отправлять пакеты ключей на вашу Lambda. Затем вы кодируете лямбда-выражение для поиска ключа в базе данных DynamoDB и затем отправляете его в Kinesis.

Это не идеальное решение, потому что данные могли быть обновлены еще раз до того, как Lambda заработала, но это довольно хорошо в зависимости от ситуации.

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html

Если вы не хотите использовать потоки DynamoDB, вам либо нужно, чтобы ваше клиентское приложение также отправляло данные в Kinesis, либо, если вы не можете настроить клиентское приложение, вместо этого не позволяйте никому разговаривать напрямую с DynamoDB, а вместо этого используйте их вызовите синхронную лямбду, где эта лямбда будет выполнять вызов DynamoDB и Kinesis за вас.

На данный момент (сентябрь 2019 г.) шифрование в состоянии покоя поддерживается в потоке DynamoDB.

DynamoDB encryption at rest provides an additional layer of data protection by securing your data in the encrypted table, including its primary key, local and global secondary indexes, streams, global tables, backups, and DynamoDB Accelerator (DAX) clusters whenever the data is stored in durable media.

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/EncryptionAtRest.html

Другие вопросы по теме