1.首先你得先安装docker Docker CE 17.05或者更高都可以,windows系统请安装Git bash

2.安装OpenFass
$ git clone htpps://github.com/openfaas/faas

3.在Docker守护程序上初始化Swarm
$ docker swarm init

4.部署Fass和示例函数
$ cd faas 
$ ./deploy_stack.sh

5.安装CLI
Mac:
$ brew install faas-cli
Linux:
$ curl -sSL https://cli.openfass.com | sudo sh
如果您使用的是Windows,那么您运气不错,您可以在FaaS版本页面上找到Windows可执行文件。

6.编写您的功能:
$ mkdir -p ~/functions && \ 
  cd ~/functions

7.使用CLI构建一个新的python函数
$ faas-cli new --lang python hello-python

这会为您创建三个文件你可以使用ls查看:
hello-python/handler.py
hello-python/requirements.txt
hello-python.yml

8.编辑handler.py文件实现你的需求,比如:
def handle(req):
    print("Hello! You said:"+req)

9.查看yml文件,他会告诉你CLI要在OpenFass上构建和部署什么
$ vim hello-python.yml
$ gateway:如果需要,我们可以在这里指定远程网关
$ functions:函数及所在位置等
$ lang:python:使用Docker打包你的功能
$ handler:handler.py的路径
$ image:Docker镜像

10.构建函数:
$ faas-cli build -f ./hello-python.yml 注意每次修改函数需要重新build和deploy
$ faas-cli deploy -f ./hello-python.yml
显示以下命令表示他已准备好:
Deploying: hello-python.
No existing service to remove
Deployed.
200 OK
URL: http://localhost:8080/function/hello-python

11.调用:你可以使用UI或者输入以下命令调用:
$ curl localhost:8080/function/hello-python -d "it’s Alex here"
返回:Hello! You said:its Alex here

12.导入第三方依赖项
比如requests  首先pip install requests
现在我们可以更新我们的Python代码了。让我们这样做它可以接受URL的JSON请求和我们想要测试的字符串:
我们将使用JSON请求触发它,它将采用以下格式:
{
 "url": "https://blog.alexellis.io/rss/",
 "term": "docker"
}

13.现在更新hello-python/handler.py文件:
import requests
import json

def handle(req):
    result = {"found": False}
    json_req = json.loads(req)
    r = requests.get(json_req["url"])
    if json_req["term"] in r.text:
        result = {"found": True}

14.重新部署:
$ faas-cli build -f ./hello-python.yml && \ 
  faas-cli deploy -f ./hello-python.yml

15.测试:使用UI或者以下测试
$ curl localhost:8080/function/hello-python --data-binary '{
 "url": "https://blog.alexellis.io/rss/",
 "term": "docker"
}'

16结果:
{"found": true}
    print json.dumps(result)

openfass学习及使用相关推荐

  1. java入门 慕路径,Java入门基础知识总结学习教程大全【必看经典】

    类型的表达式,是循环条件,表达式3是党执行了一遍循环之后,修改控制循环的变量值. ??? for语句的执行过程是这样的:首先计算表达式1,完成必要的初始化工作:然后判断表达式2的值,如果表达式的值为t ...

  2. Java EE学习心得

    –Java EE学习心得   1.    称为编程专家的秘诀是: 思考-----编程--------思考------编程--.. 编程不能一步到位,不能一上来就编,必须先思考如何写,怎样写?然后再编程 ...

  3. FastAI 2019课程学习笔记 lesson 2:自行获取数据并创建分类器

    文章目录 数据获取 google_images_download 的安装和使用 挂载google 个人硬盘到Google colab中 删除不能打开文件 创建ImageDataBunch 训练模型 解 ...

  4. FastAI 课程学习笔记 lesson 1:宠物图片分类

    文章目录 代码解析 神奇的"%" 导入fastAI 库 下载解压数据集 untar_data 获取帮助文档 help() ? ?? doc 设置路径 get_image_files ...

  5. 深度学习学习指南-工具篇

    colab Colab是由Google提供的云计算服务,通过它可以让开发者很方便的使用google的免费资源(CPU.GPU.TPU)来训练自己的模型. 学习经验总结 如何使用命令行? 通过!+cmd ...

  6. Redis学习之路(一)--下载安装redis

    redis学习之路--下载安装redis windows安装redis 1.下载redis 2.安装 3.查看是否安装成功 windows安装redis 1.下载redis 网址:https://gi ...

  7. python内置库之学习configparser库(一)

    python内置库之学习configparser库(一) 1.引言 ini文件简介 [节] 键=值 注:节不能重复出现 2.自己封装了一个增删改查的类,可以参考一下 import configpars ...

  8. 前端Vue学习之路(二)-Vue-router路由

    Vue学习之路 (二) Vue-router(基础版) 一.增加静态路由 二.动态路由+路由嵌套+404页面 三. 编程式导航 四.命名路由 五.命名视图 六.重定向和起别名 1.重定向 2.起别名 ...

  9. 前端Vue学习之路(一)-初识Vue

    Vue学习之路 (一) 1.引言 2.更换npm国内镜像源 3.用npm下载Vue 4.Vue全家桶 5.使用命令创建项目 5.推荐插件 6.推荐网站 7.学习扩展 1.引言 先安装node.js环境 ...

最新文章

  1. 5个在线调试代码的网站
  2. OSChina 周六乱弹 —— 这辈子最丢脸的事
  3. Linux 计算某文件夹下的所有文件的md5值
  4. filter solutions安装教程
  5. Java单层循环实现输出九九乘法表
  6. 金色装饰素材,用这个技巧创造节日的感觉,完美
  7. 全国院线总票房破 50 亿!影院复工后,哪些电影最受欢迎?
  8. AIR切换SDK版本时遇到的问题
  9. HBase笔记整理(二)
  10. linux ping不允许的操作,Alpine ping:不允许操作
  11. java 插件开发教程_Eclipse插件开发的详细教程
  12. 模块化编程(C语言)
  13. 中国城市公园规划建设行业运行状况与趋势预测展望报告2022-2028年版
  14. 维修系统php源码,v3.4.0智睿报修管理系统
  15. Chrome网页观看百度云视频加速
  16. NCEPU-EDM使用说明
  17. Fullpage.js version 3 has changed its license to GPLv3 and it requires a `licenseKey` option ...
  18. 奔驰c260语言设置方法图解,奔驰C260L灯光使用方法,C260L灯光开关图解说明
  19. PTK(Pulmonarytoolkit)环境搭建与 ITK4.13+VS2015的配置
  20. vue设置网页title

热门文章

  1. springboot通过ITextPDF写入模板并下载
  2. ZLG 开源 GUI 引擎 AWTK 1.6 发布
  3. php修改excel表格数据,php修改excel表格数据-php怎么导入Excel表格到数据库,根据表格内的字段......
  4. 安道拓Adient EDI 830物料需求预测报文详解
  5. Vue CLI 官方文档(一)@vue/cli、@vue/cli-service、插件和 Preset
  6. JEDEC79-4翻译告一段落
  7. 【python】随机数的生成
  8. html5 点灯游戏,夜点灯剧情讲了什么 夜点灯游戏剧情背景介绍-游侠网
  9. 《飞机大战小游戏(Java)》
  10. 加载.node文件报错:no suitable image found. unknown file type, first eight bytes