Экспорт таблиц DynamoDB с динамически генерируемыми именами в S3 - PullRequest
0 голосов
/ 22 декабря 2019

Я храню данные временных рядов в таблицах DynamoDB, которые генерируются ежедневно ( Пример ). Соглашение об именах таблиц: "timeseries_2019-12-20", где 2019-12-20 принимает дату текущего дня. Я хочу отправить таблицу предыдущих дней в корзину S3 в формате CSV. Какой метод рекомендуется для этого? Я смотрел на AWS Glue, но не видел, как заставить его каждый день находить новое имя таблицы. Может быть, лямбда-функция с событием cloudwatch будет лучше? Таблицы DynamoDB невелики по размеру, несколько сотен сохраненных номеров.

1 Ответ

0 голосов
/ 23 декабря 2019

Таким образом, вы можете достичь этого, выполнив следующие шаги:

Предполагая, что вы используете boto3 (python) в лямбде

  1. Рассчитайте вчерашнюю дату, используя сегодняшнюю дату.
  2. Передайте эту дату, добавив префикс (совпадающее с именем таблицы) в качестве DynamoDBTargets, чтобы Glue создал / обновил искатель boto3 API-вызов [1] и запустите искатель.
  3. Как только искатель завершит создание таблицы вПриклейте каталог, затем вы можете импортировать его в Glue ETL и преобразовать его в CSV.

Создайте лямбда-триггер для таблицы DynamoDB так, чтобы сканер клея был запущен или вы могли запланировать запуск искателя в какой-то моментвремени каждый день.

...