前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Serverless 框架 OpenWhisk 开发指南:使用 Node.js 编写 hello, world

Serverless 框架 OpenWhisk 开发指南:使用 Node.js 编写 hello, world

作者头像
Phodal
发布2018-01-29 14:22:34
1.9K0
发布2018-01-29 14:22:34
举报
文章被收录于专栏:phodalphodal

在上一篇文章《Serverless 框架 OpenWhisk 开发:hello, world》里,我们介绍了搭建 OpenWhisk 的环境。在这一篇文章里,我们将介绍:如何将上一节搭建的 OpenWhisk 服务作为服务器,并使用自己的 macOS 作为客户端。然后,在这之上运行我们的 Serverless 应用。

配置 OpenWhisk 客户端

获取 CLI

首先,我们需要在我们的电脑上安装 OpenWhisk 的 CLI,可以直接从 Bluemix 上下载二进制的包:https://openwhisk.ng.bluemix.net/cli/go/download/

然后将命令加到环境变量中:

代码语言:javascript
复制
$ chmod +x ./wsk$ sudo mv wsk /usr/local/bin

为客户端获取密钥

接着,我们需要到我们的 vagrant 虚拟机,为客户端分配一下密钥。使用下面的命令登录:

代码语言:javascript
复制
vagrant ssh

然后,获取密钥:

代码语言:javascript
复制
$ wsk property get --authwhisk auth        23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP

在客户端设置

先看一下命令:

代码语言:javascript
复制
wsk property set --apihost http://192.168.33.13:10001 --namespace guest --auth 23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP

正常情况下 apihost 应该是 192.168.33.13,并且没有 10001 端口。但是好像我的配置有问题,2333。

可以先试试使用能不能列出系统的包:

代码语言:javascript
复制
$ wsk package list /whisk.systempackages/whisk.system/github                                                   shared/whisk.system/combinators                                              shared/whisk.system/slack                                                    shared/whisk.system/watson-textToSpeech                                      shared/whisk.system/utils                                                    shared/whisk.system/watson-speechToText                                      shared/whisk.system/websocket                                                shared/whisk.system/weather                                                  shared/whisk.system/samples                                                  shared/whisk.system/watson-translator                                        shared

接着,就可以进入下一步了。使用 Node.js 创建一个 hello, world。

OpenWhisk Node.js Hello, world

1.创建我们的 hello.js

代码语言:javascript
复制
function main() {   return {payload: 'Hello world'};}

2.创建操作

代码语言:javascript
复制
$ wsk action create hello hello.jsok: created action hello

3.触发事件

代码语言:javascript
复制
$ wsk action invoke hellook: invoked /guest/hello with id a3ea5f68844248e9aa5f68844288e98d

4.查看返回结果

代码语言:javascript
复制
wsk activation result a3ea5f68844248e9aa5f68844288e98d

就这么简单。

OpenWhisk Node.js 传递参数

接下来,让我们看一个参数的例子:

代码语言:javascript
复制
function main(params) {  return {    payload:  'Hello, ' + params.name  };}

然后更新我们的操作:

代码语言:javascript
复制
$ wsk action update hello hello.jsok: updated action hello

接着,就可以触发我们的操作:

代码语言:javascript
复制
$  wsk action invoke --result hello --param name Phodal{    "payload": "Hello, Phodal"}

当然,它可以探索的地方仍然有很多。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 phodal 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置 OpenWhisk 客户端
    • 获取 CLI
      • 为客户端获取密钥
        • 在客户端设置
        • OpenWhisk Node.js Hello, world
        • OpenWhisk Node.js 传递参数
        相关产品与服务
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档