博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
apache服务 功能错误_如何使用Apache OpenWhisk开发功能即服务
阅读量:2526 次
发布时间:2019-05-11

本文共 2848 字,大约阅读时间需要 9 分钟。

apache服务 功能错误

是一个无服务器的开源云平台,允许您执行代码以响应各种规模的事件。 Apache OpenWhisk为开发人员提供了基于四个概念的简单编程模型: actionpackagetriggerrules

动作是在Apache OpenWhisk平台上运行的无状态代码段。 您可以通过 , , , , 或任何二进制兼容的可执行文件(包括程序和打包为Linux容器的自定义可执行文件)来开发动作(或函数)。 可以显式调用动作或响应事件来运行动作。 在这两种情况下,每次执行操作都会产生一个激活记录,该记录由唯一的激活ID标识。 动作的输入和动作的结果是键值对的字典,其中键是字符串,值是有效的JSON值。

软件包提供事件提要; 任何人都可以创建新程序包供他人使用。

与这些供稿关联的触发器在事件发生时触发 ,开发人员可以使用规则将动作(或函数)映射到触发器。

以下命令用于在Apache OpenWhisk中创建,更新,删除和列出操作:

Usage:     
  wsk action [command]
Available Commands:
  create      create a new action
  update      update an existing action, or create an action if it does not exist
  invoke      invoke action
  get         get action
  delete      delete action
  list        list all actions in a namespace or actions contained in a package

设置OpenWhisk

让我们探讨一下它如何起作用。 首先,下载在您的工作站上创建一个单节点本地 (为Red Hat OpenShift供电的Kubernetes社区分发)集群:

$ minishift start --vm-driver=virtualbox --openshift-version=v3.10.0

Minishift启动并运行后,您可以使用admin / admin登录并创建一个新项目(命名空间)。 的项目提供了部署Apache OpenWhisk所需的OpenShift模板:

$ eval $(minishift oc-env) && eval $(minishift docker-env)     
$ oc login $(minishift ip):8443 -u admin -p admin
$ oc new-project faas
$ oc project -q
$ oc process -f https://git.io/openwhisk-template | oc create -f -

Apache OpenWhisk由许多必须相互启动和同步的组件组成,该过程可能需要花费几分钟才能稳定下来。 以下命令将等待,直到组件容器运行:

$ while $(oc get pods -n faas controller-0 | grep 0/1 > /dev/null); do sleep 1; done

您还可以通过以下方式查看状态:

$ while [ -z "`oc logs controller-0 -n faas 2>&1 | grep "invoker status changed"`" ]; do sleep 1; done

开发一个简单的Java动作

Maven原型是一个Maven项目模板工具包。 为了创建示例Java Action项目,您不会引用中央Maven原型,但是您需要首先生成自己的Maven原型,如下所示:

$ git clone https://github.com/apache/incubator-openwhisk-devtools     
$ cd incubator-openwhisk-devtools/java-action-archetype
$ mvn -DskipTests clean install
$ cd $PROJECT_HOM

现在让我们创建一个简单的Java Action,将其部署到OpenWhisk,最后调用它以查看结果。 创建Java Action,如下所示:

$ mvn archetype:generate \     
  -DarchetypeGroupId=org.apache.openwhisk.java \
  -DarchetypeArtifactId=java-action-archetype \
  -DarchetypeVersion=1.0-SNAPSHOT \
  -DgroupId=com.example \
  -DartifactId=hello-openwhisk \
  -Dversion=1.0-SNAPSHOT \
  -DinteractiveMode=false

接下来,构建Java应用程序并在本地Minishift上部署到OpenWhisk:

$ cd hello-openwhisk     
$ mvn clean package
$ wsk -i action create hello-openwhisk target/hello-openwhisk.jar --main com.example.FunctionApp

创建函数hello-openwhisk ,通过调用它来验证函数:

$ wsk -i action invoke hello-openwhisk --result

由于所有OpenWhisk操作都是异步的,因此您需要添加--result才能在控制台上显示结果。 成功执行命令将显示以下输出:

{"greetings":  "Hello! Welcome to OpenWhisk" }

结论

借助Apache OpenWhisk,您可以使用流行的语言(如 ,Swift,Java,Go, ,Python, 和编写函数,并使用容器构建组件。 它轻松地支持本地和内部云基础架构(例如和许多部署选项。

接下来要读什么

翻译自:

apache服务 功能错误

转载地址:http://seczd.baihongyu.com/

你可能感兴趣的文章
实验二
查看>>
shell——按指定列排序
查看>>
crash 收集
查看>>
Oracle数据库索引使用及索引失效总结
查看>>
507 LOJ 「LibreOJ NOI Round #1」接竹竿
查看>>
UI基础--烟花动画
查看>>
hibernate 批量插入数据
查看>>
2018. 2.4 Java中集合嵌套集合的练习
查看>>
精通ASP.NET Web程序测试
查看>>
vue 根据不同属性 设置背景
查看>>
51Nod1601 完全图的最小生成树计数 Trie Prufer编码
查看>>
Codeforces 1110D. Jongmah 动态规划
查看>>
android驱动在win10系统上安装的心酸历程
查看>>
优雅的程序员
查看>>
oracle之三 自动任务调度
查看>>
Android dex分包方案
查看>>
ThreadLocal为什么要用WeakReference
查看>>
Java Web 常用在线api汇总(不定时更新)
查看>>
删除本地文件
查看>>
FOC实现概述
查看>>