Aws lambda 如何在aws lambda函数中使用NestJS模块

Aws lambda 如何在aws lambda函数中使用NestJS模块,aws-lambda,nestjs,Aws Lambda,Nestjs,我有一个NestJS应用程序,它由许多模块组成:databaseModule、userModule、DeviceModule等。它们都打包为一个模块ApplicationModule,用于处理服务器操作 但是现在我需要在我的项目中添加一些lambda函数,并且我需要从databaseModule执行一些方法,但是我不知道怎么做 我想象的伪代码: export const handler: Handler = (event: any, context: Context, callback) =&g

我有一个NestJS应用程序,它由许多模块组成:databaseModule、userModule、DeviceModule等。它们都打包为一个模块ApplicationModule,用于处理服务器操作

但是现在我需要在我的项目中添加一些lambda函数,并且我需要从databaseModule执行一些方法,但是我不知道怎么做

我想象的伪代码:

export const handler: Handler = (event: any, context: Context, callback) => {
  const dbModule = DataBaseModule.build();
  dbModule.get(UserService).createProject('my_project');
  callback(null, event);
};
我认为nestjs应该有类似的功能,但我在官方页面上找不到

另外,我不能只使用UserService,因为它依赖于DatabaseModule中的其他服务和提供者。这就是为什么我希望此模块完全配置,并且我可以使用其服务的原因。我找到了答案

我们可以通过以下方式使用子模块:

const app = await NestFactory.create(ApplicationModule);
const tasksService = app.get(TasksService);
我找到了答案

我们可以通过以下方式使用子模块:

const app = await NestFactory.create(ApplicationModule);
const tasksService = app.get(TasksService);

您可以使用NestJS()中的生命周期事件

这样,您就可以在服务上实现OnModuleInit(),并将所需的函数设置为在加载模块时运行(可以是sync或async)


还有一些其他事件也很有用,比如onApplicationBootstrap()

您可以使用NestJS()中的生命周期事件

这样,您就可以在服务上实现OnModuleInit(),并将所需的函数设置为在加载模块时运行(可以是sync或async)

还有一些其他事件也很有用,比如onApplicationBootstrap()