如何使用 cloudformation 模板创建 cloudwatch 事件?
Posted
技术标签:
【中文标题】如何使用 cloudformation 模板创建 cloudwatch 事件?【英文标题】:How to create cloudwatch event using cloudformation template? 【发布时间】:2016-06-13 10:42:39 【问题描述】:我正在使用 cloudwatch 预定事件在特定时间间隔后触发我的 lambda 函数。我想使用 cloud-formation 模板在 cloudwatch 中添加此规则。我已经浏览了 cloudformation 模板文档,但我无法找到使用云形成模板配置事件的方法。谁能建议如何使用云形成模板来实现它。
我正在使用下面的模板。
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "Provision environment specific",
"Resources":
"lambdaScheduler":
"Type": "AWS::CloudWatch::Event",
"Properties":
"detail-type": "Scheduled Event",
"source": "aws.events",
"name": "TEST_EVENT_10_MINS_RULE",
"schedule-expression": "rate(5 minutes)"
当我使用 aws cli 验证它时,我收到 A client error (ValidationError) occurred when calling the ValidateTemplate operation: Template format error: Unrecognized resource type: AWS::CloudWatch::Event
错误消息。
【问题讨论】:
【参考方案1】:添加 CloudWatch 事件规则和计划现已推出,请参阅 https://aws.amazon.com/about-aws/whats-new/2016/04/amazon-cloudwatch-events-now-supported-in-aws-cloudformation-templates/
【讨论】:
【参考方案2】:我很确定 CloudWatch 事件尚未通过 CloudFormation API 公开。 AWS 中的新功能与 CloudFormation 团队实施/公开的新功能之间通常存在一些滞后。
这是当前可通过 CloudFormation 获得的资源列表。 http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
正如我们所见,Cloudwatch 命名空间中只有一种资源。
【讨论】:
【参考方案3】:您是否尝试过在 CloudFormation 设计器中布置您的设计?它只为每个元素创建存根代码,但它验证了整体设计。然后,您必须将大纲代码传输到编辑器以完成实际工作,但它应该避免您引用的错误。
【讨论】:
以上是关于如何使用 cloudformation 模板创建 cloudwatch 事件?的主要内容,如果未能解决你的问题,请参考以下文章
如何修复与 AWS::CloudFormation::Init 一起创建 EC2 的 cloudformation 模板
如何使用 cloudformation 模板创建 Amazon RDS aurora Master 和只读副本集群
如何使用 AWS Cloudformer 为现有 API Gateway 创建云形成模板?
如何使用cloudformation模板将两个EC2实例(安装AMI创建的Elasticsearch)作为多节点?