Serverless 框架 OpenWhisk 开发指南:使用 Node.js 编写 hello, world
时间:2022-04-25
本文章向大家介绍Serverless 框架 OpenWhisk 开发指南:使用 Node.js 编写 hello, world,主要内容包括配置 OpenWhisk 客户端、为客户端获取密钥、在客户端设置、OpenWhisk Node.js Hello, world、OpenWhisk Node.js 传递参数、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
在上一篇文章《Serverless 框架 OpenWhisk 开发:hello, world》里,我们介绍了搭建 OpenWhisk 的环境。在这一篇文章里,我们将介绍:如何将上一节搭建的 OpenWhisk 服务作为服务器,并使用自己的 macOS 作为客户端。然后,在这之上运行我们的 Serverless 应用。
配置 OpenWhisk 客户端
获取 CLI
首先,我们需要在我们的电脑上安装 OpenWhisk 的 CLI,可以直接从 Bluemix 上下载二进制的包:https://openwhisk.ng.bluemix.net/cli/go/download/
然后将命令加到环境变量中:
$ chmod +x ./wsk$ sudo mv wsk /usr/local/bin
为客户端获取密钥
接着,我们需要到我们的 vagrant 虚拟机,为客户端分配一下密钥。使用下面的命令登录:
vagrant ssh
然后,获取密钥:
$ wsk property get --authwhisk auth 23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP
在客户端设置
先看一下命令:
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。
可以先试试使用能不能列出系统的包:
$ 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
function main() { return {payload: 'Hello world'};}
2.创建操作
$ wsk action create hello hello.jsok: created action hello
3.触发事件
$ wsk action invoke hellook: invoked /guest/hello with id a3ea5f68844248e9aa5f68844288e98d
4.查看返回结果
wsk activation result a3ea5f68844248e9aa5f68844288e98d
就这么简单。
OpenWhisk Node.js 传递参数
接下来,让我们看一个参数的例子:
function main(params) { return { payload: 'Hello, ' + params.name };}
然后更新我们的操作:
$ wsk action update hello hello.jsok: updated action hello
接着,就可以触发我们的操作:
$ wsk action invoke --result hello --param name Phodal{ "payload": "Hello, Phodal"}
当然,它可以探索的地方仍然有很多。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法