AWS Cloud9:在本地引用Lambda层

问题描述 投票:3回答:2

我已经建立了一个Cloud9环境来开发和测试lambda函数。为了使环境“更清洁”,我选择使用lambda图层来指定函数的依赖关系。通过这样做,我已从环境中删除了依赖项文件夹,但我现在无法在本地进行测试。

例如,我有一个用于Stripe的python库的lambda层。我能够在Cloud9中引用lambda函数引用条带,部署函数,并远程成功测试函数。但我无法在本地运行该功能,因为我“无法导入条纹”

有没有办法通过在Cloud9中指定层ARN来测试lambda函数,这取决于lambda层?

amazon-web-services aws-lambda layer aws-cloud9
2个回答
2
投票

遗憾的是,AWS Cloud9目前不支持Lambda图层。


1
投票

AWS Cloud9 documentation表示不支持从AWS Resources窗口执行带有图层的功能。但是你可以在Cloud9终端窗口上使用sam local invokeaws lambda。例如

sam local invoke --event input.json --template ../template.yml <function_name>

将创建一个新的docker镜像,其中包含将用于执行lambda函数的图层依赖项。 The TAG name is explained here

master:~/environment/ahdv (master) $ docker images
REPOSITORY          TAG                                    IMAGE ID            CREATED             SIZE
samcli/lambda       nodejs8.10-03eb754e9966a1a2f789d500d   6b52bcffdc2e        About an hour ago   968MB
lambci/lambda       python3.6                              420212d009b3        3 weeks ago         1.03GB
lambci/lambda       python2.7                              7a436931435e        3 weeks ago         901MB
lambci/lambda       nodejs4.3                              c0914066d9a8        3 weeks ago         931MB
lambci/lambda       nodejs6.10                             74b405a65ed4        3 weeks ago         946MB
lambci/lambda       nodejs8.10                             edf1f613772c        3 weeks ago         960MB
© www.soinside.com 2019 - 2024. All rights reserved.