通过 CDK 从 CfnDeliveryStream 获取 cloudwatch 警报的指标
Posted
技术标签:
【中文标题】通过 CDK 从 CfnDeliveryStream 获取 cloudwatch 警报的指标【英文标题】:Get metrics for cloudwatch alarm from CfnDeliveryStream via CDK 【发布时间】:2021-11-17 08:27:31 【问题描述】:我正在尝试使用通过 CDK 自动生成的指标在 CfnDeliveryStream
上设置 cloudwatch 警报,这是 @aws-cdk/aws-kinesisfirehose
的一部分。从此处的文档中,https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html 看起来没有可用于此的metric()
。但是同一个库中的DeliveryStream
类有这个方法,是否可以利用它?
【问题讨论】:
【参考方案1】:基本上有两种策略:
-
主要使用
DeliveryStream
构造 (let mystream = new DeliveryStream(...)
),然后通过访问底层 Cfn 对象 (let cfnstream = mystream.node.defaultChild
) 修改底层 CfnDeliverystream
,然后修改该构造。
首先创建 Cfn 流,然后使用 DeliveryStream.fromDeliveryStreamAttributes(scope, id, attrs)
或 fromDeliveryStreamArn(scope, id, attrs)
或 fromDeliveryStreamName(scope, id, attrs)
将其转换为 DeliveryStream
。这些方法的缺点是这种使用构造的方式通常会限制可以正确使用的属性和方法的数量,因为它不会导入原始流的所有信息。 fromDeliveryStreamAttributes
是最完整的一个,但它非常冗长,因为您需要传递所有需要使用的属性。
【讨论】:
以上是关于通过 CDK 从 CfnDeliveryStream 获取 cloudwatch 警报的指标的主要内容,如果未能解决你的问题,请参考以下文章
从 Terraform cdk deploy lambda 获取属性