【问题标题】:Invoke Serverless lambda from another function从另一个函数调用无服务器 lambda
【发布时间】:2021-08-17 15:01:20
【问题描述】:

我正在尝试从另一个 lambda 调用无服务器 lambda 函数。两个 lambdas 都存在于同一个无服务器项目中。我可以从我的函数代码中本地实现这一点,例如直接调用处理函数吗?或者我需要使用 AWS 开发工具包并使用 lambda.invoke 吗?如果可能的话,我宁愿直接调用 lambda 函数

【问题讨论】:

    标签: aws-lambda aws-serverless


    【解决方案1】:

    您是否在 lambda 中尝试过 lambda client.invoke()?

    类似的东西:

    lambda_client.invoke(
            FunctionName=called_function,
            InvocationType='Event',
            Payload=bytes(json.dumps(event_to_send))
        )
    

    【讨论】:

    • 是的,这就是我真正想要避免的(如果可能的话)。我试图弄清楚我是否可以只使用另一个 lambda 处理程序函数,并像任何其他函数一样直接调用它。我很好奇这是否可行
    • 对,明白了。不幸的是,我认为您无法避免这种情况。您是否出于测试原因试图避免它?我可以看到这种情况发生的唯一另一种方法(避免 lambda_client.invoke() 调用,但也没有本机函数调用)是写入 AWS DB 并在写入时放置触发器,然后调用您的子 lambda。但不确定这是否适合您的用例。
    • 我最终调用了 lambda 启动的底层函数。和直接调用 lambda 不一样,不过还是搞到了自己想要的业务逻辑
    猜你喜欢
    • 2019-11-07
    • 2022-12-05
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 2019-07-01
    相关资源
    最近更新 更多