【问题标题】:Multiple functions in Spring Cloud Function on AWS lambdaAWS lambda 上的 Spring Cloud Function 中的多个函数
【发布时间】:2021-05-20 13:37:18
【问题描述】:

我有一个具有两个功能的 Spring Cloud Function 应用程序:

@Component
public class MyFunctionOne implements Function<Object, Boolean> {

    @Override
    public Boolean apply(Object o) {
        return true;
    }
}

@Component
public class MyFunctionTwo implements Function<Object, Boolean> {

    @Override
    public Boolean apply(Object o) {
        return true;
    }
}

我的项目依赖项中有spring-cloud-starter-function-webspring-cloud-function-adapter-aws

我想分别致电MyFunctionOneMyFunctionTwo

我可以通过两种方式在本地运行。我可以通过调用 localhost:8080/myFunctionOne 来直接调用函数(因为我使用的是spring-cloud-starter-function-web)。或者我可以通过调用 localhost:8080/functionRouter 并在 spring.cloud.function.definition http 标头中提供 myFunctionOne 来使用 Function Routing 功能。这很好用,我可以分别触发MyFunctionOneMyFunctionTwo

我已将模块部署到 AWS Lambda。如何动态提供spring.cloud.function.definition?根据documentation,我可以使用org.springframework.cloud.function.adapter.aws.FunctionInvoker 作为AWS Lambda 处理程序。或者,我也可以定义自己的SpringBootStreamHandler。但是,似乎无法动态定义spring.cloud.function.definition

有没有办法在部署到 AWS lambda 的 Spring Cloud Function 中选择一个函数?

【问题讨论】:

    标签: spring lambda spring-cloud-function


    【解决方案1】:

    因此,我们在 AWS 上的路由存在一些问题,目前正在修复中。你可以关注这个问题 - https://github.com/spring-cloud/spring-cloud-function/issues/698

    无论如何,我们将在下周初发布一个新版本 (3.1.3-RELEASE),其中将包含修复、示例和文档,以解决您所描述的问题

    【讨论】:

      猜你喜欢
      • 2019-04-13
      • 2020-05-03
      • 2021-12-01
      • 2022-06-16
      • 2019-11-08
      • 2019-04-26
      • 2018-01-24
      • 2017-03-10
      • 2021-09-17
      相关资源
      最近更新 更多