AWS Glue通过API创建触发器

时间:2017-12-26 16:01:47

标签: python amazon-web-services aws-glue

我有一张表,其中包含几项不同工作的时间表。

我想通过AWS Glue API处理记录和创建触发器

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

上面的链接显示了AWS Glue的文档。

是否有人可以提供有关如何使用API​​的代码段? 我已经在网上搜索了足够长的时间,但没有找到任何提供代码片段的文档!

我正在寻找以下API CALL的代码段。 CreateTrigger操作(Python:create_trigger)

任何帮助都会很棒。

2 个答案:

答案 0 :(得分: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'
            ),
        ]
    )
)  

希望这有帮助

答案 1 :(得分:0)

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

这就是我想要的。 BOTO3是用于调用api的库,并且具有相同的文档