我在IntelliJ中使用HelloWorld样式的模板应用程序创建了一个新的无服务器项目。我成功地构建、部署并在我的AWS账户中远程运行了这个应用程序。我甚至成功地将其与API Gateway集成,使其能够通过互联网访问。
当项目设置完成后,它有一个名为HelloWorldFunction的Lambda函数。它的处理程序被称为"helloworld.App::handleRequest",我可以在template.yaml文件中看到对其进行的配置。
现在,我想在同一个应用程序项目中创建另一个Lambda函数。因此,在IntelliJ中,我按照以下步骤操作:
- AWS Explorer > Lambda - 右键单击Lambda - 单击“创建新的AWS Lambda ...” - 输入函数名称(例如MyNewLambdaFunction) - 输入运行时(Java 8)和S3存储桶和IAM角色(一切正常) - 然后我需要输入“Handler”的名称,这就是我的问题所在
我尝试过不同的名称,比如"MyNewHandler"或"helloworld.App::handleRequest"(显然这不起作用,因为它已经被HelloWorldFunction使用),"helloworld.App2::handleRequest"等等。
每次我尝试另一个名称或定义Handler的方法时,我都会收到以下错误消息:
必须能够找到项目中的处理程序才能部署到Lambda
问题:
当项目设置完成后,它有一个名为HelloWorldFunction的Lambda函数。它的处理程序被称为"helloworld.App::handleRequest",我可以在template.yaml文件中看到对其进行的配置。
现在,我想在同一个应用程序项目中创建另一个Lambda函数。因此,在IntelliJ中,我按照以下步骤操作:
- AWS Explorer > Lambda - 右键单击Lambda - 单击“创建新的AWS Lambda ...” - 输入函数名称(例如MyNewLambdaFunction) - 输入运行时(Java 8)和S3存储桶和IAM角色(一切正常) - 然后我需要输入“Handler”的名称,这就是我的问题所在
我尝试过不同的名称,比如"MyNewHandler"或"helloworld.App::handleRequest"(显然这不起作用,因为它已经被HelloWorldFunction使用),"helloworld.App2::handleRequest"等等。
每次我尝试另一个名称或定义Handler的方法时,我都会收到以下错误消息:
必须能够找到项目中的处理程序才能部署到Lambda
问题:
我需要先在template.yaml文件中配置新的Lambda函数吗?或者我需要如何调用Handler才能使其正常工作?
我确定这只是一个新手错误,但我已经谷歌了一下,没有找到遇到同样问题的人。我也阅读了有关AWS处理程序的内容,但它只是在概念层面上描述了它,并没有在实践中描述有多个Lambda的情况。
感谢任何帮助!
安迪