1

我正在尝试使用自定义容器映像测试新添加的运行/调用功能lambda,因此我正在从AWS python:3.8基本映像构建一个非常简单的映像,如下所示:

FROM public.ecr.aws/lambda/python:3.8


COPY myfunction.py ./

CMD ["myfunction.py"]

这是myfunction.py

import json
import sys

def lambda_handler(event, context):
    print("Hello AWS!")
    print("event = {}".format(event))
    return {
        'statusCode': 200,
    }

我的问题如下:在我的构建完成后:

docker build --tag custom .

鉴于我没有公开任何 Web 端点并假设我正在成功启动我的自定义容器,我现在如何调用我的 lambda(尽管这handler=部分在我是否已正确配置处理程序方面有点令人不安)

▶ docker run -p 9000:8080 -it custom
INFO[0000] exec '/var/runtime/bootstrap' (cwd=/var/task, handler=) 

一个简单的卷曲当然会失败

▶ curl -XGET http://localhost:9000                                                                                                                                                                       
404 page not found
4

1 回答 1

1

事实证明我必须调用这个非常不直观的 url

curl -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{}'

但是我仍然收到此错误

WARN[0149] Cannot list external agents                   error="open /opt/extensions: no such file or directory"
START RequestId: f681b2ca-5e35-499d-a262-dd7bc53912f0 Version: $LATEST
Traceback (most recent call last):andler 'py' missing on module 'myfunction'
END RequestId: f681b2ca-5e35-499d-a262-dd7bc53912f0
REPORT RequestId: f681b2ca-5e35-499d-a262-dd7bc53912f0  Init Duration: 1.08 ms  Duration: 248.05 ms     Billed Duration: 300 ms    Memory Size: 3008 MB    Max Memory Used: 3008 MB

编辑:通过更改CMD从解决

CMD ["myfunction.py"]

CMD ["myfunction.lambda_handler"]
于 2021-05-04T15:28:06.737 回答