我正试图使用CDK向一个以CloudWatch为源的Lambda添加一个触发器,但到目前为止,还没有成功。
相关代码:
import software.amazon.awscdk.services.lambda.*
import software.amazon.awscdk.services.lambda.Function
import software.amazon.awscdk.services.logs.*
import software.amazon.awscdk.services.logs.destinations.LambdaDestination
import software.amazon.awscdk.services.logs.SubscriptionFilterProps
subscriptionFilterProps = SubscriptionFilterProps
.builder()
.logGroup(logGroup)
.destination(LambdaDestination(Function.fromFunctionName(lambdaName)))
.filterPattern(FilterPattern.anyTerm("CreateSecret", "PutSecret"))
.build()
我有三个错误:
Unresolved reference: destinations
Unresolved reference: LambdaDestination
Unresolved reference: fromFunctionName
我想主要问题是第一个问题,其他问题只是一个后果。
在build.gradle.kts
中,我有两个
implementation("software.amazon.awscdk:lambda:${cdkVersion}")
implementation("software.amazon.awscdk:logs:${cdkVersion}")
知道为什么会失败吗?
因此,问题是对CDK文档的误解,并且要添加到实现中的实际包是software.amazon.awscdk:logs-destinations
,就像其他语言中一样。