如何使用 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)作为多节点?

如何从 aws cloudformation 模板为特定资源类型创建堆栈

如何使用cloudformation创建ecs集群?