【发布时间】:2019-08-03 14:58:14
【问题描述】:
到目前为止,我有一个 API 和一个现有的 AWS Lambda,它们或多或少具有相同的功能。我试图做的不是在每个项目中执行相同的任务,而是试图让 API 本身暗示触发 lambda。目前,向它发送数据不是我主要关心的问题,但这将是我会尝试做的事情。也就是说,在 Java 中,如果您拥有所有凭证、lambda 名称等,是否可以在本地触发 AWS Lambda,并最终通过 API?
我现在经历了一些解决方案,但似乎其中许多都涉及重新部署 lambda,或者完全制作一个新的。目前,我一直在使用这些资源,A、B、C 和 D。
我的 API 中的当前函数看起来像这样。我的 lambda 中的那个,我们暂时称它为 foobar-lambda,几乎是一样的。
public Entity<Foos> Foos(@RequestHeader(value= "ApiKey", required = false) String apiKey,
@RequestParam String data) {
Foos foos = FoosService.getFoos(data);
Entity<Foos> response = null;
if (foos != null) {
response = Entity.ok().body(foos);
} else {
response = new Entity<>(HttpStatus.NOT_FOUND);
}
return response;
}
我想把它改成这样:
void Entity<Foos> Foos(@RequestHeader(value= "ApiKey", required = false) String apiKey,
@RequestParam String data) {
triggerAndSend("foobar-lambda",data);
}
因此,在这种情况下,我试图弄清楚如何创建void triggerAndSend(String lambdaTarget, Integer... data) 函数。理想情况下,我会运行它,并且能够看到我的 lambda 被触发。我是否必须在我的 Lambda 中添加一个额外的触发器才能捕获这些?是否有可能,如果有,是否有人对我如何实现目标有任何建议?
【问题讨论】:
标签: java node.js amazon-web-services aws-lambda