我知道我可以通过AWS控制台创建Scheduled Cloud Watch事件:
有没有办法在Cloud Formation模板中声明类似事件?
答案 0 :(得分:2)
下面是在cloudwatch中创建计划事件的示例,它创建了一个规则,该规则每10分钟调用一次指定的Lambda函数。 PermissionForEventsToInvokeLambda
资源授予EventBridge调用关联功能的权限。
"ScheduledRule": {
"Type": "AWS::Events::Rule",
"Properties": {
"Description": "ScheduledRule",
"ScheduleExpression": "rate(10 minutes)",
"State": "ENABLED",
"Targets": [{
"Arn": { "Fn::GetAtt": ["LambdaFunction", "Arn"] },
"Id": "TargetFunctionV1"
}]
}
},
"PermissionForEventsToInvokeLambda": {
"Type": "AWS::Lambda::Permission",
"Properties": {
"FunctionName": { "Ref": "LambdaFunction" },
"Action": "lambda:InvokeFunction",
"Principal": "events.amazonaws.com",
"SourceArn": { "Fn::GetAtt": ["ScheduledRule", "Arn"] }
}
}
该示例从AWS官方文档中引用。
答案 1 :(得分:0)
是的,有可能。
AWS::Events::Rule
资源创建一个规则,该规则匹配传入的Amazon CloudWatch事件(CloudWatch Events)事件并将其路由到一个或多个目标进行处理。
这是示例CloudFormation代码段:
Type: AWS::Events::Rule
Properties:
Description: String
EventPattern: JSON object
Name: String
ScheduleExpression: String
State: String
Targets:
- Target
如果您还有其他问题,这里是official documentation。
答案 2 :(得分:0)
是的,有可能被@bhalothia分享。请找到一篇文章,让您深入了解它。
实际实施:
http://marcelog.github.io/articles/serverless_cloudwatch_event_cloudformation_template.html
详细文档:
希望对您有帮助。