【问题标题】:Serverless Framework - Lambda to call another lambda without being through API Gateway无服务器框架 - Lambda 在不通过 API 网关的情况下调用另一个 lambda
【发布时间】:2019-03-30 00:52:47
【问题描述】:

我正在构建以下架构:用户将字符串发布到 API Gateway,API 网关又调用 Lambda 函数 - 使用该字符串作为输入。此 Lambda 函数将字符串写入 DynamoDB。之后,此 Lambda 函数调用另一个 Lambda 函数,将插入到 DynamoDB 中的项目的 id 作为输入,并返回 200 状态码。

调用我使用的第二个 Lambda 函数:

payload = {"id":item['id']}
invoke_lambda = lambda_client.invoke(FunctionName="process",
                                     InvocationType="Event",
                                     Payload=json.dumps(payload))

我应该如何为第二个 Lambda 配置 serverless.yml 以使其不使用 API 网关?我不想使用 API Gateway,因为它限制 Lambda 在 30 秒内完成。

例如,要使用 API Gateway,我会这样做:

functions:
  process:
    events:
      - http: ANY /
      - http: 'ANY {proxy+}'

有什么替代方法?

【问题讨论】:

    标签: python amazon-web-services aws-lambda serverless-framework


    【解决方案1】:

    只要您的第二个 Lambda 函数未附加到 API 网关,它就不会受到任何限制。

    所以你不能在第二个 Lambda 定义中简单地不包含“events”属性(它是一个可选参数)

    【讨论】:

    • 其实,即使一个函数被附加到一个API网关,你仍然可以直接调用它。
    猜你喜欢
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    • 2021-06-10
    • 2019-03-02
    • 2020-02-06
    • 2021-08-17
    • 2020-04-15
    • 2019-11-10
    相关资源
    最近更新 更多