【问题标题】:Bazel generate AWS lambda with pythonBazel 使用 python 生成 AWS lambda
【发布时间】:2020-05-11 23:20:16
【问题描述】:

我正在尝试创建一个可以使用 Bazel 部署到 lambda BUT 中的 python 函数。

我可以使用 Bazel(运行我的 python 代码)创建二进制文件,但是当我尝试在 AWS Lambda 中执行该二进制文件时,它会粗鲁地失败。

二进制文件没有 lambda 处理函数的预期方法签名。

这是我的 BUILD 文件:

py_binary(
    name = 'say_hello',
    main = 'main.py',
    srcs = ['main.py']
)

这是 main.py:

def say_hello(event, context):
   print('hello')

如何强制 Bazel “接受”这个方法签名?

【问题讨论】:

  • 为什么要把你的python程序编译成二进制?
  • 我们正在尝试使用“monorepo”(medium.com/@Jakeherringbone/…) 的想法,并使用 bazel 确保在此期间不会出现任何问题。

标签: python-3.x aws-lambda bazel bazel-rules


【解决方案1】:

我为此找到了一个解决方案,并且正在创建一个类似于 python“桥”的东西,它将从 cloudwatch 规则中获取输入值,然后执行 python 二进制文件(bazel one)。

所以在 python lambda 中我将有 2 个文件,实际二进制文件和 bazel 桥。因为 lambda 总是期待那个方法签名。

【讨论】:

  • 这看起来不像是答案。它是打算对您的问题进行编辑,还是对其他用户的评论?未回答的将被删除。为避免这种情况,请在 cmets 中回复,或编辑您的其他帖子,以最合适的为准。如果它是一个答案,请仔细检查help center 中的指南。否则,我可能误解了你 Q 或 A 的性质。
  • 这绝对是一个答案。虽然不完整。我正在研究同样的问题,alanmas,你能更详细地解释一下那个 python 桥是如何工作的吗?
猜你喜欢
  • 2017-01-05
  • 1970-01-01
  • 1970-01-01
  • 2021-07-08
  • 1970-01-01
  • 2021-09-19
  • 2020-12-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多