【发布时间】:2021-09-24 10:21:41
【问题描述】:
我在 CDK 中遇到了这个问题。我有一个由 SNS 主题(从 S3 存储桶接收事件)触发的 lambda,但现在它在传递到 SNS 主题的每条消息上执行。我希望 Lambda 仅在特定的存储桶名称、文件结尾和 PutObject 操作上执行。
我知道如何将 SNS 连接到我的 lambda,只是不使用过滤器:
const myTopic = new sns.Topic(this, "Topic", {});
myTopic.addToResourcePolicy(new iam.PolicyStatement({
effect: iam.Effect.ALLOW,
actions: ["sns:Publish"],
resources: [myTopic.topicArn],
principals: [new iam.AccountPrincipal('XXXXXXXXX')]
}))
const snsEventSource = new lambdaEventSources.SnsEventSource(myTopic);
myLambda.addEventSource(snsEventSource)
我不知道如何添加过滤器,我试过玩 sns.SubscriptionFilter 没有任何运气
【问题讨论】:
标签: amazon-sns aws-cdk