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"
}
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号