gpt4 book ai didi

intellij-idea - IntelliJ + AWS 工具包 + 无服务器应用程序 : "Must be able to locate the handler in the project in order to deploy to Lambda"

转载 作者:行者123 更新时间:2023-12-02 02:42:39 27 4
gpt4 key购买 nike

我使用 HelloWorld 样式模板应用程序在 IntelliJ 中创建了一个新的无服务器项目。
我设法在我的 AWS 账户中远程构建、部署和运行了这个应用程序。我什至设法将它与 API 网关集成,以便通过 Internet 访问它。

随着项目的建立,它有 1 个名为 HelloWorldFunction 的 Lambda 函数。它的处理程序称为“helloworld.App::handleRequest”,我可以在 template.yaml 文件中看到它的配置。

现在我想在同一个应用程序项目中创建另一个 Lambda 函数。因此,在 IntelliJ 中,我遵循以下步骤:

  • AWS Explorer > Lambda
  • 右键单击 Lambda
  • 单击“创建新的 AWS Lambda ...”
  • 输入函数名称(例如 MyNewLambdaFunction)
  • 输入运行时(Java 8)和 S3 存储桶以及 IAM 角色(一切正常)
  • 然后我需要输入“处理程序”的名称,这就是我的问题开始的地方

  • 我在这里尝试了不同的名称,例如“MyNewHandler”或“helloworld.App::handleRequest”(显然这不起作用,因为它已被HelloWorldFunction 使用)、“helloworld.App2::handleRequest”、.. .. 等等。

    每次我尝试使用其他名称或方式来定义处理程序时,都会收到以下错误消息:

    Must be able to locate the handler in the project in order to deploy to Lambda



    问题:

    我是否需要先在 template.yaml 文件中配置新的 Lambda 函数,或者我需要怎样调用 Handler 才能使其工作?

    我确信这只是一个菜鸟错误,但我一直在谷歌上搜索这个并没有找到任何遇到同样问题的人。我还在 AWS 上阅读了有关处理程序的内容,但它仅在概念层面对其进行了描述,而不是在有多个 Lambda 的实践中进行了描述。

    谢谢你的帮助!

    安迪

    最佳答案

    我在使用 pyCharm for Python 时遇到了同样的问题。

    我能够通过使用 <file name without extension>.<function name> 来解决它所以我的文件是 app.py功能是lambda_handler所以我的处理程序是 app.hello_world
    请注意,这与您在使用 AWS Web 管理页面时在“处理程序”字段中看到的相同。

    关于intellij-idea - IntelliJ + AWS 工具包 + 无服务器应用程序 : "Must be able to locate the handler in the project in order to deploy to Lambda",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58284947/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com