apache服务 功能错误

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

动作是在Apache OpenWhisk平台上运行的无状态代码段。 您可以通过JavaScript , Swift , Python , PHP , Java或任何二进制兼容的可执行文件(包括Go程序和打包为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

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

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

Minishift启动并运行后,您可以使用admin / admin登录并创建一个新项目(命名空间)。 OpenShift上的项目OpenWhisk提供了部署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,您可以使用流行的语言(如NodeJS ,Swift,Java,Go, Scala ,Python, PHP和Ruby)编写函数,并使用容器构建组件。 它轻松地支持本地和内部云基础架构(例如Kubernetes和OpenShift)中的许多部署选项。

接下来要读什么

翻译自: https://opensource.com/article/18/11/developing-functions-service-apache-openwhisk

apache服务 功能错误

apache服务 功能错误_如何使用Apache OpenWhisk开发功能即服务相关推荐

  1. 大脑构造图与功能解析_大脑的结构和功能分区_详解人脑构造与功能

    大脑的结构和功能分区 _ 详解人脑构造与功能 学习,可以开阔人的大脑 ; 学习,可以使人的大脑拥有更多的知识,人的大脑和肢 体一样,多用则灵,不用则废.那么下面学习啦小编给大家分享一些大脑的结构和功 ...

  2. springboot增删改查案例_大神基于SpringBoot开发一个Restful服务,实现增删改查功能...

    前言 在去年的时候,在各种渠道中略微的了解了SpringBoot,在开发web项目的时候是如何的方便.快捷.但是当时并没有认真的去学习下,毕竟感觉自己在Struts和SpringMVC都用得不太熟练. ...

  3. swagger 返回json字符串_[Swagger] Swagger Codegen 高效开发客户端对接服务端代码

    [Swagger] Swagger Codegen 高效开发客户端对接服务端代码 @TOC 手机用户请横屏获取最佳阅读体验,REFERENCES中是本文参考的链接,如需要链接和更多资源,可以关注其他博 ...

  4. 小程序 和 web 功能对比_运动健身小程序开发有哪些功能

    对健身的需求正在增加. 尽管体育馆正在逐步增加,但健身仍受到某些限制.首先是时间限制. 健身房有自己的营业时间,健身营业时间也是用户的正常工作时间. 除周末外,大多数人没有多余的运动时间. 其次,健身 ...

  5. apache配置cgi出错_大坑之Apache配置CGI解决提示500错误 | kTWO-个人博客

    艾玛!这两天可把我累的够呛,心累的那种,用python写了个API想放在Apache服务器上面利用CGI使用,但是整了两个晚上,经过无数次尝试和失败,最终终于搞定了,最终豁然开朗的感觉,才觉得这特么真 ...

  6. mysql服务2013错误_错误2013(HY000):在“读取授权数据包”时丢失与MySQL服务器的连接,系统错误:0...

    我收到以下错误 ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', syste ...

  7. apache poi使用例_使用java Apache poi 根据word模板生成word报表例子

    [实例简介] 使用java Apache poi 根据word模板生成word报表 仅支持docx格式的word文件,大概是word2010及以后版本,doc格式不支持. 使用说明:https://b ...

  8. 印象笔记打开错误_印象笔记新增桌面便签功能

    印象笔记最新的 macOS 客户端 9.0.0 发布了新功能:桌面便签,可以非常方便的将笔记置顶放置在桌面,充当传统的便签功能.@Appinn 注意此版本为国内团队发布的印象笔记客户端,但支持登录 E ...

  9. cics 服务端配置_使用PHP在CICS上构建RESTful服务

    cics 服务端配置 存档日期:2019年5月15日 | 首次发布:2009年4月21日 CICS®TransactionServer®(TS)是功能强大的事务管理器,旨在进行快速,大量的处理. Su ...

最新文章

  1. 启动64位 IIS 32位应用程序的支持
  2. python查询天气
  3. Java:逐步读取/流式传输CSV文件
  4. LeetCode 1738. 找出第 K 大的异或坐标值(DP)
  5. 避开Google Voice Search利用Google Speech API实现Android语音识别
  6. 通过channel进行goroutine间的通信
  7. Activity 横竖屏切换
  8. sql server中case when的用法
  9. 学习python:实例属性和类属性
  10. 职场 | 算法是怎样决定你的职业生涯的
  11. C语言课程设计——学生成绩信息管理系统
  12. C语言程序设计(第四版)谭浩强 清华 【2000】
  13. 现代通信原理思维导图--第五章 模拟调制系统
  14. matlab直流电机转速 电流双闭环,转速电流双闭环直流调速系统的课程设计(MATLABSimulink)..docx...
  15. 瘦AP如何连接到无线控制器AC
  16. ecshop4.0php,ECSHOP安装教程【ECSHOP4.0安装教程】图解ECSHOP4.0安装教程流程和步骤-ECSHOP教程网...
  17. 国家图书馆最新推荐70本书
  18. 人工智能轨道交通行业周刊-第14期(2022.9.12-9.18)
  19. mimax 刷原生android,小米手机想爽刷原生安卓?不愁!
  20. HTML制作简单的页面

热门文章

  1. 同步工具之CountDownLatch闭锁
  2. CentOS6.5 安装MongoDB
  3. 崛起于Springboot2.X之Mongodb多数据源处理(35)
  4. 例行性工作 排程(crontab)
  5. win7下wifi密码的保存路径
  6. AjaxFileUpload.js
  7. 备忘:VC++ 中的异常处理
  8. HDF及HDF-EOS数据格式简介
  9. 怎样启用win7的超级管理员账户
  10. mysql传入乱码_mysql 插入中文乱码解决方案 --转了