К сожалению, нет встроенной опции для установки зависимостей между сканерами Glue и заданиями.Однако вы можете организовать его с помощью StepFunction и Lambdas или автоматизировать с помощью событий CloudWatch и Lambdas.
Первый способ более гибкий и понятный, поскольку вы создаете рабочий процесс с шагами любой сложности, которыеВы можете контролировать.Запуск сканеров и заданий происходит с помощью AWS SDK, вызывая Glue API .Кстати, недавно AWS объявил о встроенной поддержке вызовов заданий Glue , что исключает необходимость иметь одну или две Lambdas.
С событиями CloudWatch могут быть реализованы некоторые простые случаи (например, запуск задания пригусеничный завершает).Правило CloudWatch можно создать так же, как и для любого другого типа событий CW, вам просто нужно выбрать соответствующий тип события (см. события для «detail-type»: «Изменение состояния сканера клея» ).При таком подходе не очень удобно отслеживать то, что в данный момент происходит визуально, но все же это хорошее решение для простых случаев.
Кроме того, вы можете объединить эти два подхода, чтобы Crawler запускался Glue в соответствии с заданным расписанием, правилом CloudWatchзапускает Lambda, когда получает событие «Succeeded» от Glue Crawler, а затем Lambda запускает StepFunction, которая запускает задания ETL в правильном порядке.