事件过滤器(在我的例子中为 DynamoDB)对于 JS 中的示例显得非常自然,但到目前为止我还无法找到 Java CDK 的任何示例。类似的东西
FilterCriteria.filter(Map.of("eventName", FilterRule.notEquals("DELETE")))
看起来很简单,但如何处理更深层次的嵌套,例如dynamodb.Keys.PK 的标准?将孵化转入 L1 和 JS 示例中的一些模式?
提前致谢, 尼克
对于 Java,您需要使用 Map 的层次结构(有点类似于 JSON)。在你的情况下,它应该看起来像这样:
yourLambdaFunction.addEventSource(DynamoEventSource.Builder.create(dynamoDbTable)
.startingPosition(StartingPosition.TRIM_HORIZON)
.filters(List.of(
FilterCriteria.filter(
Map.of(
"dynamodb", Map.of(
"Keys", Map.of(
"PK", Map.of(
"S", FilterRule.isEqual("SOME_PK_VALUE")
)
)
)
)
)
))
.batchSize(1)
.build());