Lambda Query Wrapper 中使用 min() 函数
可以使用如下的 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' 属性的名称。
原文地址: https://www.cveoy.top/t/topic/nCEU 著作权归作者所有。请勿转载和采集!