【问题标题】:Boto3 library vs REST to invoke AWS lambda from python servicesBoto3 库与 REST 从 python 服务调用 AWS lambda
【发布时间】:2020-07-19 08:52:49
【问题描述】:

是否有我不应该在 python 中使用 boto3 库来调用我的 AWS Lambda 并改用 REST 的原因?

一些背景: 我正在评估从我的主网络服务器触发的某些工作流的 lambdas。 我的一般设置是

  • main Django 应用在 k8s 集群中运行
  • 一些微服务通过gRPC与主网络服务器通信
  • lambdas 将存在于 VPC 中(与上述服务和网络服务器相同)

我希望将 lambdas 引入堆栈。 似乎我可以使用 boto3 库从我的 python 服务(主网络服务器应用程序或微服务)调用我的 lambda。 boto3 有什么不好的想法吗?

【问题讨论】:

    标签: aws-lambda boto3


    【解决方案1】:

    直接调用 lambda 的唯一方法是通过 Lambda 服务。为此,您必须使用 AWS CLI、SDK(例如 boto3)或 AWS 控制台。这需要具有有效的 IAM 凭证以及 lambda 调用权限。

    调用 lambda 的间接方式是通过 API Gateway 与 lambda 代理集成。这允许在没有 IAM 凭据的情况下调用 lambda,并且对于允许公共访问非常有用,例如在网络浏览器中。

    由于您正在编写要从后端服务器或容器调用 lambda:

    我可以使用 boto3 库从我的 python 服务调用我的 lambdas

    推荐使用boto3。应在实例或任务角色中配置 lambda 调用的权限。

    【讨论】:

    • 谢谢!这很好地解释了我在寻找什么。
    • 你知道 boto3 使用什么协议来调用 lambdas 吗?
    • @HIT_girl 嗨。它使用lambda service rest api
    猜你喜欢
    • 2019-05-09
    • 2020-01-22
    • 2018-08-21
    • 2017-06-01
    • 2017-07-28
    • 2017-05-24
    • 2021-07-23
    • 2020-07-04
    • 2022-10-23
    相关资源
    最近更新 更多