我正试图找到一个非常具体的问题的答案。试图通过documentation但迄今没有运气。AWS Java Lambda局部变量与对象变量
想象这段代码
@Override
public void handleRequest(InputStream input, OutputStream output, Context context) throws IOException {
Request request = parseRequest(input);
List<String> validationErrors = validate(request);
if (validationErrors.size() == 0){
ordersManager.getOrderStatusForStore(orderId, storeId);
} else {
generateBadRequestResponse(output, "Invalid Request", null);
}
}
private List<String> validate(Request request) {
orderId = request.getPathParameters().get(PATH_PARAM_ORDER_ID);
programId = request.getPathParameters().get(PATH_PARAM_STORE_ID);
return new ArrayList<>();
}
在这里,我在field
变量存储orderId
和storeId
。这个可以吗?我不确定AWS是否会缓存该函数,从而缓存字段变量,或者是否会为每个请求启动一个新的Java对象。如果它的一个新对象,然后存储在字段变量是好的,但不确定。