Состояние вставки AWS DataPipeline с помощью SQLActivity

Я ищу способ записать состояние конвейера в таблицу БД. Предполагая, что это очень распространенный вариант использования. Есть ли способ, где я могу записать

  1. статус и время завершения всего трубопровода.
  2. статус и время завершения выбранных отдельных действий.
  3. идентификатор отдельных прогонов/выполнения.

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

Я использую соединение jdbc для подключения к удаленному SQLServer. И конвейер предназначен для копирования файлов S3 в базу данных SQLServer.


person PyRaider    schedule 19.02.2019    source источник


Ответы (1)


Хм... Я не пробовал, но могу дать вам несколько советов, чтобы, возможно, добиться желаемых результатов. Тем не менее, вам придется провести исследование и выяснить фактическую реализацию.

Опция 1

  • Создайте ShellCommandActivity, для которого depends on установлено последнее действие в вашем конвейере. Ваша оболочка будет использовать aws-cli для list-runs сведения о текущем запуске, для этого можно использовать фильтры.
  • Используйте промежуточные данные, чтобы перенести выходные данные предыдущих ShellActivity в SQLActivity для последующей вставки в целевой SQLServer.

Вариант 2

  • Используйте AWS lambda для периодического запуска конвейера данных aws-cli list-runs с фильтрами и обновления целевой таблицы последними действиями. Ресурс
person Amith Kumar    schedule 21.02.2019