You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CDK部署DynamoDB事件源时遇FilterCriteria不支持属性错误

解决Lambda添加DynamoDB事件源过滤器后部署报错问题

问题原因

报错提示Encountered unsupported property FilterCriteria,核心原因是当前使用的AWS CDK版本不支持FilterCriteria属性,或是项目内CDK相关依赖包版本不一致,导致CDK生成了CloudFormation无法识别的模板结构。

解决方案

1. 升级AWS CDK及相关依赖包

  • 升级全局CDK CLI工具:
    npm install -g aws-cdk@latest
    
  • 升级项目内的CDK核心及服务依赖(以npm为例):
    npm update @aws-cdk/core @aws-cdk/aws-lambda @aws-cdk/aws-lambda-event-sources @aws-cdk/aws-dynamodb
    
    确保所有CDK相关包版本完全一致,避免跨版本兼容问题。

2. 验证代码写法正确性

你的代码写法在CDK v2.x版本中是合规的,若使用v1.x版本需确认对应API是否匹配,以下是标准写法示例:

claLambda.addEventSource(new lambdaEventSources.DynamoEventSource(drTable, {
   startingPosition: lambda.StartingPosition.TRIM_HORIZON,
   batchSize: 5,
   retryAttempts: 0,
   bisectBatchOnError: false,
   filters: [
     lambda.FilterCriteria.filter({
       eventName: lambda.FilterRule.isEqual("INSERT"),
       dynamodb: { NewImage: { description: { S: lambda.FilterRule.exists() } }}
     }),
   ]
}));

3. 重新执行部署

依赖升级完成并确认代码无误后,重新运行部署命令:

cdk deploy

补充排查点

若升级后仍报错,检查以下情况:

  • 项目是否混合使用了CDK v1和v2的依赖,需统一为同一大版本
  • 当前部署区域是否支持Lambda事件源过滤器功能(目前AWS绝大多数区域已支持)

内容的提问来源于stack exchange,提问作者Dionisis G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 08:50:11