每1分钟触发一次Glue ETL作业

时间:2018-08-26 13:57:18

标签: aws-glue

我想每1分钟触发一次粘合ETL作业。

我发现有一个Schedule触发器,但最短时间是5分钟。

有没有解决方法?我可以看到有一个按需触发器,可以从lambda函数中调用该触发器吗?

2 个答案:

答案 0 :(得分:1)

如果这不适合您,则可以使用lambda函数来解决。您可以使用boto3模块粘合方法start_job_run创建一个由cloudwatch事件(每次cron为1分钟)触发的lambda函数, 这是lmabda函数的语法示例,如下所示:

    import boto3
    glue= boto3.client('glue')
    def lambda_handler(event, context):    
        response = glue.start_job_run(JobName='string')

P.S:- 而且您还需要拥有**

  

您的工作的“并发限制”增加。

**只有联系Amazon支持并要求他们提高作业并发性,然后您才能运行单个作业的多个作业,这才可以实现。因为在这里您想每分钟触发一次作业,这意味着在其他作业正在运行时,您需要进行新的作业(除了并发的作业数外,什么都没有)

答案 1 :(得分:0)

如果您使用CloudFormation templates,可以在其中指定cron表达式,则可以这样做:

 Resources:
  YourJobNameTrigger:
    Type: AWS::Glue::Trigger
    Properties:
      Name: YourJobNameTriggerName
      Type: SCHEDULED
      Description: Daily scheduled trigger
      Schedule: cron(*/1 * * * ? *)
      Actions:
        - JobName: 
            Ref: YourJobName