AWS lambda同时支持python和java语言

AWS lambda同时支持python和java语言,java,python,automation,aws-lambda,Java,Python,Automation,Aws Lambda,我们的机构正在尝试为java入门课程建立一个自动评分平台,我们希望使用AWS lambda函数进行评分。问题是,与任何理智的人一样,我们的开发团队更喜欢python而不是java,因此评分器本身是用python编写的,但学生程序是用java编写的 由于评分器必须调用学生函数,因此最好使用一个同时具有python和java二进制文件的lambda运行时。还有谁知道我们该怎么做 作为旁注,可以使用单独的函数来运行java文件并将输出返回给python函数,但由于amazon对每个函数的执行收费,这可

我们的机构正在尝试为java入门课程建立一个自动评分平台,我们希望使用AWS lambda函数进行评分。问题是,与任何理智的人一样,我们的开发团队更喜欢python而不是java,因此评分器本身是用python编写的,但学生程序是用java编写的

由于评分器必须调用学生函数,因此最好使用一个同时具有python和java二进制文件的lambda运行时。还有谁知道我们该怎么做


作为旁注,可以使用单独的函数来运行java文件并将输出返回给python函数,但由于amazon对每个函数的执行收费,这可能不太理想。

您可以使用常规python或java运行时来实现这一点,并使用大量技巧将另一个解释器引入到您的环境中,但这远远不够理想

您的案例需要一个定制的运行时-更多信息可以在中找到。本质上,它们允许您使用任何语言和/或二进制文件,并将它们放在Lambda函数中,这样您就可以使用python和java构建自己的运行时


根据函数运行所需的时间,让Fargate容器侦听SQS队列并异步处理请求可能更经济高效,也更容易。Docker容器通常更容易构建(或者至少更容易理解),对于运行时间较长的任务,这很可能更具成本效益。

您可以通过常规python或java运行时实现这一点,并使用大量技巧将其他解释器引入您的环境中,但这还远远不够理想

您的案例需要一个定制的运行时-更多信息可以在中找到。本质上,它们允许您使用任何语言和/或二进制文件,并将它们放在Lambda函数中,这样您就可以使用python和java构建自己的运行时


根据函数运行所需的时间,让Fargate容器侦听SQS队列并异步处理请求可能更经济高效,也更容易。Docker容器通常更易于构建(或至少更易于理解),对于运行时间较长的任务,这很可能更具成本效益。

对于大多数情况,任务将在两秒内运行,最坏情况下的运行时间约为15秒。自动评分将与github教室连接,因此最好是同步响应。有可能与Fargate进行同步响应吗?在这种情况下,您需要将Fargate容器公开到Internet以用作API端点,或者将Fargate容器放在ECS服务中应用程序负载平衡器的后面(如果适合您的用例,您甚至可以将ALB与API网关集成)。这将比异步版本更昂贵。在运行时间长达15秒的情况下,同步响应可能会出现超时问题,但这是另一个问题;-)在大多数情况下,任务将在两秒内运行,最坏情况下的运行时间约为15秒。自动评分将与github教室连接,因此最好是同步响应。有可能与Fargate进行同步响应吗?在这种情况下,您需要将Fargate容器公开到Internet以用作API端点,或者将Fargate容器放在ECS服务中应用程序负载平衡器的后面(如果适合您的用例,您甚至可以将ALB与API网关集成)。这将比异步版本更昂贵。在运行时间长达15秒的情况下,同步响应可能会出现超时问题,但这是另一个问题;-)