我想每1分钟触发一次粘合ETL作业。
我发现有一个Schedule触发器,但最短时间是5分钟。
有没有解决方法?我可以看到有一个按需触发器,可以从lambda函数中调用该触发器吗?
答案 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