Есть ли способ запустить сканер клея aws после завершения работы?

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

Может ли сканер запускаться после завершения задания?


person Cherry    schedule 11.01.2018    source источник


Ответы (2)


import boto3
glue_client = boto3.client('glue', region_name='us-east-1')
glue_client.start_crawler(Name='name_of_crawler')

Скопируйте этот фрагмент кода в конец вашего кода.

person ctrl-c    schedule 13.01.2018
comment
Это выдает ошибку времени ожидания соединения. Есть ли альтернатива или решение моей ошибки, пожалуйста? ConnectTimeoutError: время ожидания подключения по URL-адресу конечной точки: glue.eu-central-1.amazonaws.com - person Tula; 03.08.2020

Вы можете использовать триггер, но не в пользовательском интерфейсе триггера: S

С рабочим процессом Glue: добавьте триггер для запуска задания, добавьте задание, добавьте триггер для успешного выполнения задания, добавьте обходчик для запуска задания.

введите здесь описание изображения

Или, используя CLI:

aws glue create-trigger --name myJob-success \
    --type CONDITIONAL \
    --predicate '{"Logical":"ANY","Conditions":[{"JobName":"myJob","LogicalOperator":"EQUALS","State":"SUCCEEDED"}]}' \
    --actions CrawlerName=myCrawler \
    --start-on-creation

или в CloudFormation:

Type: AWS::Glue::Trigger
Properties: 
  Name: job_success
  Type: CONDITIONAL
  Predicate: 
    Logical: ANY
    Conditions:
      - JobName: myJob
        LogicalOperator: EQUALS
        State: SUCCEEDED
  Actions: 
    - CrawlerName:myCrawler
person Neil McGuigan    schedule 30.03.2021