【问题标题】:Using a NodeJS 4 script from Python on AWS Lambda在 AWS Lambda 上使用 Python 的 NodeJS 4 脚本
【发布时间】:2017-10-15 10:09:39
【问题描述】:

问题

  • 我有一个在 AWS Lambda 上运行的 Python 脚本。
  • 此脚本使用subprocess 执行NodeJS 4 脚本。

我尝试了什么

  • subprocess.check_output('my-script.js');
  • 得到非零结果
  • 得到解释器错误:

    node.js 的版本不符合最低要求。 请确保系统具有 node.js 4.0.0 或更高版本。

  • subprocess.check_output('node -v'); 打印的是 0.10.x

我的问题

是否可以从 Python AWS Lambda 使用 NodeJS 4 脚本?

【问题讨论】:

  • 我已经阅读了documentation 并且很困惑,我不确定node.js 环境是否安装在Python 容器中...您是否尝试执行命令“nodejs -- version" 或 "node --version" 以确保您有执行 js 脚本的环境?
  • @TomMelo 是的,我做到了。只是忘了在我的问题中提及。它是 0.10.x
  • 那为什么不直接使用 NodeJS lambda 呢?
  • @dashmug 代码已经用 Python 编写。是时候翻译了。
  • 在 python 运行时存在 0.10 很奇怪。那应该被删除。

标签: python node.js aws-lambda


【解决方案1】:

您不能依赖 Lambda python 运行时上存在的 node。 AWS 可能会随时删除或更改它。

最好将它们翻译成一种语言,这样您只需要一个运行时。要么将节点脚本翻译成python,要么将python脚本翻译成节点。

如果翻译不可行,您可以创建两个 Lambda 函数——一个在 Python 中,一个在 Node.js 中。然后,您可以让 Python Lambda 使用 .invoke() 调用 Node Lambda

【讨论】:

  • 我最终得到了两个 Lambda。就我而言,这是更具成本效益的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-11
  • 1970-01-01
  • 2018-03-20
  • 2019-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多