从不同API端点调用相同的Lambda函数



我是无服务器架构设计的新手。基本上,我想从/到mongodb数据库读取/更新数据。为了实现这一点,我创建了API网关与两个资源(列表,更新),并创建了两个lambda方法(listFunction, updateFunction)。

是否有任何方法可以在单个lambda方法中编写,并根据api网关资源名称执行列表/更新?

可以使用一个函数来处理所有的操作。

在api Gateway事件中,您将获得资源路径和http方法类型。

所以你可以让if else块根据你的处理程序中的路径来处理请求。

在你的api网关用新的lambda函数配置这两个方法

要创建可以在MongoDB上执行CRUD操作的Lambda函数,首先确保将MongoDB实例部署到EC2实例,如下所述:

安装和配置MongoDB社区版

验证MongoDB实例已成功部署并运行后,现在可以编写执行CRUD操作的Lambda函数。我将使用Lambda运行时Java API编写Lambda函数然后使用Mongo Java API与MongoDB的集合交互

例如,创建一个MongoClient

private String mongoUri = "mongodb://<ENTER EC2 IP Address>.amazonaws.com:27017" ;
private MongoClient getConnection() {
try {
MongoClient mongoClient = new MongoClient(new MongoClientURI(mongoUri));
return mongoClient;
} catch (Exception e) {
e.getStackTrace();
}
return null;
}

现在您可以在Lambda函数中执行CRUD操作了。

如果你想使用API Gateway,你可以使用API Gateway调用这个Lambda函数。

最新更新