可以使用如下的 Lambda 表达式:

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.DynamodbEvent;
import com.amazonaws.services.lambda.runtime.events.DynamodbEvent.DynamodbStreamRecord;
import com.amazonaws.services.lambda.runtime.events.models.dynamodb.AttributeValue;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class LambdaFunctionHandler implements RequestHandler<DynamodbEvent, String> {

    @Override
    public String handleRequest(DynamodbEvent event, Context context) {
        for (DynamodbStreamRecord record : event.getRecords()) {
            if (record != null && record.getDynamodb() != null) {
                Map<String, AttributeValue> oldImage = record.getDynamodb().getOldImage();
                Map<String, AttributeValue> newImage = record.getDynamodb().getNewImage();
                if (oldImage != null && newImage != null) {
                    String oldVal = oldImage.get('someAttribute').getS();
                    String newVal = newImage.get('someAttribute').getS();
                    if (!oldVal.equals(newVal)) {
                        // do something
                    }
                }
            }
        }
        return 'Success';
    }
}

其中,min() 函数可以在 Lambda 表达式中使用,例如:

.min('someAttribute', 'minValue')

此处的 'minValue' 为一个字符串,表示最小值的属性名称。在查询中,会找出所有满足条件的项的最小值,并将其存储在 'minValue' 属性中。可以根据需要修改 'minValue' 属性的名称。

Lambda Query Wrapper 中使用 min() 函数

原文地址: https://www.cveoy.top/t/topic/nCEU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录