AWS Glue создает триггеры через API

У меня есть таблица, содержащая несколько расписаний для различных работ.

Я хочу обработать записи и создать триггеры через API AWS Glue.

http://docs.aws.amazon.com/glue/latest/dg/aws-glue-api.html

По приведенной выше ссылке показана документация по AWS Glue.

Есть ли кто-нибудь, кто может предоставить фрагмент кода о том, как использовать API? Я достаточно долго искал в сети и не нашел никакой документации, содержащей фрагменты кода!

Я ищу фрагмент кода для следующего ВЫЗОВА API. Действие CreateTrigger (Python: create_trigger)

Любая помощь была бы замечательной.


person Rudresh Ajgaonkar    schedule 26.12.2017    source источник
comment
На этой странице приведены описания параметров запроса, необходимых для вызова API.   -  person Josh Withee    schedule 26.12.2017
comment
docs.aws.amazon.com/ клей / последний / дг /   -  person Rudresh Ajgaonkar    schedule 26.12.2017


Ответы (2)


Это краткое описание того, как создать триггер на основе расписания. Обратите внимание, как вы можете иметь несколько заданий (мягкое ограничение - 10 на триггер), запускаемых триггером:

# Initialize glue client
import boto3
client = boto3.client('glue')

# Create trigger 'body'
trigger = dict(
    Name='trigger_name',
    Description='My trigger description',
    Type='SCHEDULED',
    Actions=[
        dict(JobName='first_job_name_to_be_triggered'),
        dict(JobName='second_job_name_to_be_triggered')
    ],
    Schedule='cron(0 8 * * ? *)' #Every day at 8am UTC
)

# Create the trigger
client.create_trigger(**trigger)

# After trigger is created, you want to activate it
client.start_trigger(Name=trigger['Name'])

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

trigger = dict(
    Name='trigger_name',
    Description='My trigger description',
    Type='CONDITIONAL',
    Actions=[dict(JobName='job_name_to_be_triggered')],
    Predicate=dict(
        Logical='AND',
        Conditions=[
            dict(
                JobName='first_job_required_to_succeed',
                LogicalOperator='EQUALS',
                State='SUCCEEDED'
            ),
            dict(
                JobName='second_job_required_to_succeed',
                LogicalOperator='EQUALS',
                State='SUCCEEDED'
            ),
        ]
    )
)  

Надеюсь это поможет

person hoaxz    schedule 01.01.2018
comment
Как передать отсюда параметры времени выполнения для каждого задания склеивания? - person Bhaskar Bhuyan; 24.05.2020

http://boto3.readthedocs.io/en/latest/reference/services/glue.html#id75

Это то, что я искал. BOTO3 - это библиотека, используемая для вызова api, и для нее есть хорошая документация.

person Rudresh Ajgaonkar    schedule 26.12.2017