AWS Lambda NodeJS 运行时是不是安装了 python?

Posted

技术标签:

【中文标题】AWS Lambda NodeJS 运行时是不是安装了 python?【英文标题】:Does AWS Lambda NodeJS runtime have python installed?AWS Lambda NodeJS 运行时是否安装了 python? 【发布时间】:2021-12-31 08:27:57 【问题描述】:

AWS NodeJS 14.x lambda 运行时是否安装了 python?我正在使用带有 AWS-CLI 的自定义层,但它不能使用 python。

如果我必须将 python3 包含到 AWS-CLI 层中,我如何复制所需的 python3 文件?我认为我们需要编译 python3 以便它使用自定义库路径。

【问题讨论】:

【参考方案1】:

试试这个;

创建您自己的安装了 Python 和 NodeJs 的 docker 映像,而且它是一个 linux 映像,因此您可以灵活地做任何事情,然后将映像推送到 ECR 并从该映像创建 lambda 函数。

阅读: https://docs.aws.amazon.com/lambda/latest/dg/images-create.html

【讨论】:

除了运行 aws_lambda 函数之外,我们是否会花费额外的费用? lambda 不需要任何额外费用,但是我认为当您推送到 ECR 时会收取费用,这几乎没有。 某处是否有 dockerfile 示例?我不确定需要传递什么 CMD 或任何内容才能使其正常工作。我可以将入口点或 CMD 设置为节点。也许只是使用 nodejs 图像 dockerfile 的示例? 似乎文档中有一个示例。测试它 好吧,正如我所说,您拥有完全的灵活性,就好像它是您自己的计算机一样,您可以拉一个 alpine linux 映像,然后在其上安装 nodejs 和 python,或者拉一个 nodejs 运行时映像,然后安装dockerfile 中的 python 或反之亦然,具体取决于您到底想要什么。你可以把 CMD 放到CMD ["index.main"],里面有一个 index.js 文件和一个 main 函数。每次调用 lambda 时都会执行该主函数,您还在 linux 映像上安装了 python,因此在您的 nodejs 操作中,您也可以运行 python 脚本或任何您想要的。

以上是关于AWS Lambda NodeJS 运行时是不是安装了 python?的主要内容,如果未能解决你的问题,请参考以下文章

使用特定选项或环境变量在AWS lambda中启动NodeJS运行时

如何使用 NodeJS 在 AWS Lambda 上运行 PhantomJS

Amazon AWS Lambda NodeJS日志记录

如何使用 NodeJS 在本地测试 AWS Lambda 处理程序?

如何修复不再支持 AWS Lambda nodejs8.10 错误

使用nodejs中的AWS Lambda函数上传音频文件