使用 Java CDK 进行 AWS Lambda 事件过滤

问题描述 投票:0回答:1

事件过滤器(在我的例子中为 DynamoDB)对于 JS 中的示例显得非常自然,但到目前为止我还无法找到 Java CDK 的任何示例。类似的东西

FilterCriteria.filter(Map.of("eventName", FilterRule.notEquals("DELETE")))

看起来很简单,但如何处理更深层次的嵌套,例如dynamodb.Keys.PK 的标准?将孵化转入 L1 和 JS 示例中的一些模式?

提前致谢, 尼克

aws-lambda aws-cdk
1个回答
0
投票

对于 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());
© www.soinside.com 2019 - 2024. All rights reserved.