我是无服务器架构设计的新手。基本上,我想从/到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函数。