And*_*sov 5 amazon-web-services aws-cloudformation aws-glue
我正在使用CloudFormation SCHEDULED根据官方文档定义Glue作业触发器:
ParquetJobTrigger:
Type: 'AWS::Glue::Trigger'
Properties:
Name: !Sub "${Prefix}_csv_to_parquet_job_trigger_${StageName}"
Type: SCHEDULED
Schedule: cron(0 0/1 * * ? *)
Actions:
- JobName: !Ref ParquetJob
Arguments:
"--job-bookmark-option": "job-bookmark-enable"
Run Code Online (Sandbox Code Playgroud)
除了一件事,它就像一个魅力.它定义了一个具有状态的作业触发器,CREATED我必须手动启用它:
有没有办法通过CloudFormation单独定义激活的计划触发器?
小智 9
对于任何新手来说,现在可以通过使用新触发器的StartOnCreation属性来实现。
UEDDBJobTrigger:
Type: AWS::Glue::Trigger
Properties:
Name: Foo
Description: Scheduled trigger
Type: SCHEDULED
Schedule: "cron(0 10 ? * MON-FRI *)"
StartOnCreation: true
Actions:
- JobName: !Ref TestJob
Run Code Online (Sandbox Code Playgroud)
小智 6
有同样的问题,并开通了AWS的门票.看起来他们目前没有该功能,但希望在他们的下一个功能版本中解决.以下是他们的回答:
感谢您与AWS premium支持联系.很高兴今天和你说话.我正在写回来跟进我们的谈话.我能够与Glue团队成员和Cloud Formation团队取得联系以下是我的发现:
1)看起来没有使用资源命名空间启用Glue触发器:AWS :: Glue :: Trigger
2)如果第一次失败,预定作业应在下一个预定时间重试
3)作为上述解决方法,您可以做的是在创建堆栈后让计划的操作触发一定的时间长度,以便您通过Web控制台手动启用触发器.
4)正如我们的调用中所讨论的,看起来Lambda函数实际上可行.在这种情况下,您可以让Lambda函数依赖于Trigger资源,然后进行API调用start-trigger(https://docs.aws.amazon.com/cli/latest/reference/glue/start-trigger.html)使用lambda函数启用触发器.这些操作应及时发生,以便触发计划作业.
以下是Lambda和云的形成了一些有益的参考: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/walkthrough-custom-resources-lambda-lookup-amiids.html https://docs.aws. amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html
| 归档时间: |
|
| 查看次数: |
1479 次 |
| 最近记录: |