我想用API网关调用lambda,然后点击spring boot应用程序api。有没有人可以帮我在不使用云形成模板的情况下这样做的好例子。
发布于 2021-08-10 05:04:05
您需要将Spring Cloud Function与aws依赖项和thin jar创建插件一起使用。
依赖关系
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-function-adapter-aws</artifactId>
<version>3.1.2</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-core</artifactId>
<version>1.2.1</version>
</dependency> 构建插件
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<mainClass>com.codetinkering.example.LambdaApp</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.4.5</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot.experimental</groupId>
<artifactId>spring-boot-thin-layout</artifactId>
<version>1.0.26.RELEASE</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>构建此应用程序后,您需要在AWS控制台中按照以下步骤在Lambda中运行您的应用程序
org.springframework.cloud.function.adapter.aws.FunctionInvoker::handleRequest
<Name of your function>,值:spring_cloud_function_definition
注意:您的函数名称应与实现函数接口的方法相同,以小写字母开头。
完成以上步骤后,您就可以测试您的lambda了。
我在CodeTinkering上的一个博客的帮助下发布了这篇文章。你可以在这里参考原文CodeTinkering_Blog_AWSLambda_SpringCloudFunction
https://stackoverflow.com/questions/68499886
复制相似问题