如何通过其容器方法部署空手道API模拟服务器v1.5.1到AWS lambda 我想将空手道API模拟服务器v1.5.1部署到我的AWS lambda。给定空手道。JAR文件超过50MB,我无法将其直接部署到Lambda。通过容器图像部署它看起来像是一个好

问题描述 投票:0回答:1
在我创建了一个带有ARM64架构的AWS Lambda之后,将Docker Image推向AWS ECR,并通过ECR中的Docker Image部署了我的Lambda,我开始对此Lambda进行快速测试,但是我有了以下错误:

15:34:21.132 [main] INFO com.intuit.karate - Karate version: 1.5.1 2025-01-27T15:34:24.197Z 15:34:24.197 [main] INFO com.intuit.karate - mock server initialized: ../../karate/mockserver.feature 2025-01-27T15:34:24.793Z 15:34:24.793 [main] DEBUG com.intuit.karate.http.HttpServer - server started: 169.254.49.101:8081 2025-01-27T15:34:30.249Z INIT_REPORT Init Duration: 10009.08 ms Phase: init Status: timeout 2025-01-27T15:34:30.914Z 15:34:30.911 [main] INFO com.intuit.karate - Karate version: 1.5.1 2025-01-27T15:34:32.761Z 15:34:32.761 [main] INFO com.intuit.karate - mock server initialized: ../../karate/mockserver.feature 2025-01-27T15:34:32.912Z 15:34:32.912 [main] DEBUG com.intuit.karate.http.HttpServer - server started: 169.254.49.101:8081 2025-01-27T15:39:30.334Z INIT_REPORT Init Duration: 300059.50 ms Phase: invoke Status: timeout 2025-01-27T15:39:30.334Z START RequestId: e4bb592d-5042-4e70-900e-e1c82b8741f1 Version: $LATEST 2025-01-27T15:39:30.342Z 2025-01-27T15:39:30.340Z e4bb592d-5042-4e70-900e-e1c82b8741f1 Task timed out after 300.07 seconds 2025-01-27T15:39:30.342Z END RequestId: e4bb592d-5042-4e70-900e-e1c82b8741f1

因此,我想知道导致空手道模拟服务器不通过init并调用阶段并给我超时错误的步骤中缺少什么。
	

空手道模拟服务器是一个Java进程,可以启动并等待传入的连接。因此,对于Lambda运行时,看起来好像已经悬挂了。

我认为在EC2或ECS上运行的普通码头容器是最好的方法。从理论上讲,您可以将API网关连接到lambda

,然后编写一些Java代码将传入请求转换为

com.intuit.karate.http.Request
对象,并将其传递给一些内部空手道类,并获得“ True” Lambda支持的模拟。但这打败了模拟的全部点,即要做最少的工作以旋转HTTP服务器进行测试。
因此,我的建议是坚持使用后必须关闭的普通容器。

使用lambda“层”是克服罐子尺寸限制的一种方式。

aws-lambda dockerfile karate
1个回答
0
投票
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.