amazon-web-services - 从 Spring Cloud Function 访问 AWS Lambda 上下文
问题描述
我正在使用 Spring Cloud Function 1.0.0.RELEASE 和相应的 AWS 适配器在 AWS lambda 中运行它。有没有办法从 Spring 应用程序上下文中检索 lambda 函数上下文?
我知道如果你自己实现 RequestHandler 接口,那么你会得到 Context 对象作为 handleRequest 方法的第二个参数(见下文),但是由于 SpringBootRequestHandler 正在处理这个,我不清楚如何访问 Context 对象。有任何想法吗?
直接实现RequestHandler的例子
public class LambdaRequestHandler implements RequestHandler<String, String> {
public String handleRequest(String input, Context context) {
context.getLogger().log("Input: " + input);
return "Hello World - " + input;
}
}
将 RequestHandler 的实现推迟到 SpringBootRequestHandler
public class SomeFunctionHandler
extends SpringBootRequestHandler<SomeRequest, SomeResponse> {
}
解决方案
SomeFunctionHandler
扩展SpringBootRequestHandler
,因此它可以覆盖该handleRequest
方法以访问 AWS lambdaContext
对象。
public class SomeFunctionHandler extends SpringBootRequestHandler<SomeRequest, SomeResponse> {
private static final Logger logger = LoggerFactory.getLogger(SomeFunctionHandler.class);
@Override
public Object handleRequest(SomeRequest event, Context context) {
logger.info("ARN=" + context.getInvokedFunctionArn());
return super.handleRequest(event, context);
}
}
推荐阅读
- flutter - 颤振的问题
- laravel - 如何在同一列中加入具有多个 id 的表?
- excel - 即使 Application.On 时间安排已关闭,Excel 文件也会一直打开
- javascript - 从 nextcloud api 获取用户信息
- python - 提取重复的 JSON 标签
- python - 如何在 Jupyter 笔记本中将视频文件的帧显示为 gif 而无需写入文件
- sql - SQL查询 - 填充缺失值
- python - EarlyStopping 是否采用最后一个时期或最后最好成绩的模型?
- php - 在 Woocommerce 管理订单页面中更改文本“计费”和“运输”
- dll - 在 Inno Setup 中加载具有依赖项的 DLL 在卸载程序中失败并显示“无法导入 DLL”,但在安装程序中有效