Spring Cloud Apache Openwhisk快速入门
2024-01-08 17:18 更新
实施POF(确保使用functions
软件包):
package functions; import java.util.function.Function; public class Uppercase implements Function<String, String> { public String apply(String input) { return input.toUpperCase(); } }
将其安装到本地Maven存储库中:
./mvnw clean install
创建一个提供其Maven坐标的function.properties
文件。例如:
dependencies.function: com.example:pof:0.0.1-SNAPSHOT
将openwhisk运行程序JAR复制到工作目录(与属性文件相同的目录):
cp spring-cloud-function-adapters/spring-cloud-function-adapter-openwhisk/target/spring-cloud-function-adapter-openwhisk-2.0.0.BUILD-SNAPSHOT.jar runner.jar
使用上述属性文件从运行器JAR的--thin.dryrun
生成一个m2回购:
java -jar -Dthin.root=m2 runner.jar --thin.name=function --thin.dryrun
使用以下Dockerfile:
FROM openjdk:8-jdk-alpine VOLUME /tmp COPY m2 /m2 ADD runner.jar . ADD function.properties . ENV JAVA_OPTS="" ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "runner.jar", "--thin.root=/m2", "--thin.name=function", "--function.name=uppercase"] EXPOSE 8080
您可以使用Spring Cloud Function应用程序,而不是仅使用带有POF的jar,在这种情况下,您必须更改应用程序在容器中的运行方式,以便它将主类用作源文件。例如,您可以更改上面的
ENTRYPOINT
并添加--spring.main.sources=com.example.SampleApplication
。
构建Docker映像:
docker build -t [username/appname] .
推送Docker映像:
docker push [username/appname]
使用OpenWhisk CLI(例如,在vagrant ssh
之后)创建操作:
wsk action create example --docker [username/appname]
调用动作:
wsk action invoke example --result --param payload foo { "result": "FOO" }
以上内容是否对您有帮助:
更多建议: