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

Amazon web services 从不同的API端点调用相同的Lambda函数,amazon-web-services,aws-lambda,aws-api-gateway,aws-serverless,Amazon Web Services,Aws Lambda,Aws Api Gateway,Aws Serverless,我不熟悉无服务器架构设计。基本上,我想从mongodb数据库读取/更新数据。为了实现这一点,我使用两个资源(list,update)创建了API网关,并创建了两个lambda方法(listFunction,updateFunction) 是否有任何方法可以写入单个lambda方法并基于api网关资源名称执行列表/更新?要创建一个lambda函数,该函数可以在MongoDB上执行CRUD操作,请首先确保将MongoDB实例部署到EC2实例,如下所述: 验证MongoDB实例是否成功部署和运行后,

我不熟悉无服务器架构设计。基本上,我想从mongodb数据库读取/更新数据。为了实现这一点,我使用两个资源(list,update)创建了API网关,并创建了两个lambda方法(listFunction,updateFunction)


是否有任何方法可以写入单个lambda方法并基于api网关资源名称执行列表/更新?

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

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

例如,在Lambda函数中创建一个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;
}
私有字符串mongoUri=”mongodb://.amazonaws.com:27017" ;
私有MongoClient getConnection(){
试一试{
MongoClient MongoClient=新MongoClient(新MongoClient(mongoUri));
返回mongoClient;
}捕获(例外e){
e、 getStackTrace();
}
返回null;
}
现在,您可以在Lambda函数中执行CRUD操作


如果要使用API网关,可以使用API网关调用此Lambda函数。

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

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

例如,在Lambda函数中创建一个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;
}
私有字符串mongoUri=”mongodb://.amazonaws.com:27017" ;
私有MongoClient getConnection(){
试一试{
MongoClient MongoClient=新MongoClient(新MongoClient(mongoUri));
返回mongoClient;
}捕获(例外e){
e、 getStackTrace();
}
返回null;
}
现在,您可以在Lambda函数中执行CRUD操作


如果要使用API网关,可以使用API网关调用此Lambda函数。

是的,您可以使用单个函数为所有操作提供服务

在api网关中,您可以获得资源路径和http方法类型

因此,您可以使用
if-else
块根据处理程序中的路径处理请求


在api网关中,使用新的lambda函数配置这两种方法。

是的,您可以使用单个函数为所有操作提供服务

    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;
}
在api网关中,您可以获得资源路径和http方法类型

因此,您可以使用
if-else
块根据处理程序中的路径处理请求


在您的api网关中,使用新的lambda函数配置这两种方法。

是的,您将获得所有api信息,例如
上下文中的路径
事件
。如果您在此处查找示例。这两种方法都是通过
代理集成
以及
模板映射
来描述的,以获取lambda中的
资源名称
。是的,您可以获得所有api信息,例如
上下文
事件
中的路径。如果您正在这里寻找示例。这两种方法都通过
代理集成
以及
模板映射
来描述,以在lambda中获取
资源名称
    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;
}