Spring Cloud Apache Openwhisk快速入門(mén)

2024-01-08 17:18 更新

實(shí)施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存儲(chǔ)庫(kù)中:

./mvnw clean install

創(chuàng)建一個(gè)提供其Maven坐標(biāo)的function.properties文件。例如:

dependencies.function: com.example:pof:0.0.1-SNAPSHOT

將openwhisk運(yùn)行程序JAR復(fù)制到工作目錄(與屬性文件相同的目錄):

cp spring-cloud-function-adapters/spring-cloud-function-adapter-openwhisk/target/spring-cloud-function-adapter-openwhisk-2.0.0.BUILD-SNAPSHOT.jar runner.jar

使用上述屬性文件從運(yùn)行器JAR的--thin.dryrun生成一個(gè)m2回購(gòu):

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應(yīng)用程序,而不是僅使用帶有POF的jar,在這種情況下,您必須更改應(yīng)用程序在容器中的運(yùn)行方式,以便它將主類(lèi)用作源文件。例如,您可以更改上面的ENTRYPOINT并添加--spring.main.sources=com.example.SampleApplication。

構(gòu)建Docker映像:

docker build -t [username/appname] .

推送Docker映像:

docker push [username/appname]

使用OpenWhisk CLI(例如,在vagrant ssh之后)創(chuàng)建操作:

wsk action create example --docker [username/appname]

調(diào)用動(dòng)作:

wsk action invoke example --result --param payload foo
{
    "result": "FOO"
}
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)