春节前“摸鱼”指南——SCA命令行工具助你快速构建FaaS服务

春节将至,身在公司的你是不是已经完全丧失了工作的斗志? 但俗话说得好:“只要心中有沙,办公室也能是马尔代夫。”
职场人如何才能做到最大效能地带薪“摸鱼”,成为了一项证明工作效率的学问。正所谓“授之以鱼,不如授之以摸鱼。”
今天就让我们来看看什么叫做开发人员职场“高效”摸鱼工具!
Serverless 架构(无服务器架构),是云计算时代一种全新的、革命性的架构模式。它意味着开发者无需关心底层服务器等基础设施,平台会根据业务请求量自动调度资源的弹性伸缩,且所有资源按需付费,没有请求和资源占用不收取费用,在降低成本的前提下极大降低运营复杂度。
2014 年,Serverless 架构进入大众视线,当时业界普遍认为,Serverless 化可大幅降低 IT 成本,将云的费用减少 10%-90%,同时还能提高服务部署效率。经过这几年的沉淀,部分公司已经在实践 Serverless,取得的效果也很明显。FaaS (Functions as a Service)函数即服务作为 Serverless 架构中的核心计算组件,通过将各个其他产品或服务粘合起来,应用被解耦成细粒度函数,所有逻辑都可以在函数内完成这样可以使工程师能够更专注于开发优异的新功能,快速构建应用与服务,而不是编写那些冗余而又不得不写的代码。
什么是 SCA CLI ?
SCA(Serverless Cloud Application,SCA)CLI 是京东云无服务器云应用命令行工具。通过SCA,用户可以快速生成function函数项目并基于项目模板进行自主开发,便捷完成函数的本地调试、打包、部署等操作,大大提高开发者的开发效率。
SCA CLI 是做什么的?
通过SCA命令行工具,用户可以:
- 快速初始化函数服务项目
- 本地开发、测试函数代码
- 将服务打包、部署云端
- 调用云端函数执行
- 管理云端函数、查询云端函数日志
支持命令如下:

SCA 正确的打开姿势
SCA CLI 支持Linux、Mac运行。同时,由于 SCA CLI 是基于go开发完成的,因此用户只需下载安装包,即可使用。
以Linux环境为例,跟着我们一起来快速创建部署test-function
Step 1安装
执行以下命令一步完成下载安装:
·curl -Ohttps://raw.githubusercontent.com/jdcloud-serverless/sca/master/hack/install.sh && chmod +777 install.sh && sh install.sh && source ~/.bashrc
验证:

Step 2配置账号信息
SCA安装完毕后,通过config命令将JDCloud账号信息同步至SCA中:
#sca config
[>] JDCould accountid = xxxx (your acount id)
[>] JDCould region = cn-north-1
[>] JDCould access-key = 0123abcd (your AK)
[>] JDCould secret-key = abcd0123 (your SK)
Step 3初始化项目
通过初始化项目,用户可快速创建一个项目模板,主要包括代码文件:index.py、配置文件:template.yaml,基于模板可进一步进行自主配置及开发。
在当前目录初始化function项目:

- 项目名称(默认): testproject;
- 函数名称(默认): test-function;
- 运行时(默认): python3.6
初始化test-function项目如下:

函数模板配置文件 template.yaml 是函数资源描述文件,SCA基于配置文件将本地代码及配置部署到云端。

Step 4代码开发及上传
此时,将您开发完成的代码及依赖库上传至CodeUri位置。此处,我们使用默认test-function函数目录下的index.py函数。
Step 5配置函数及验证
完成test-function函数配置后,您可以通过validate命令对template.yaml模板进行验证:

Step 6本地测试
(local执行需安装docker)测试默认当前目录下template.yaml文件中的test-function函数,event测试事件默认为 key:value 字符串:

Step 7打包部署
将当前目录template.yaml配置中的函数部署至云端,默认覆盖云端重名函数:

Step 8查询云端函数

以上,快速完成了test-function函数的本地创建、测试及部署。通过SCA您还可以对云端函数进行管理、测试及查询日志等。
看了上述内容,您有没有对SCA CLI有了大概的了解,如果您想了解更多关于京东云SCA CLI 相关信息,请点击“阅读”,进入京东云开发者社区查看~
欢迎点击“京东云”了解更多精彩内容


春节前“摸鱼”指南——SCA命令行工具助你快速构建FaaS服务的更多相关文章
- react.js 之 create-react-app 命令行工具系统讲解
react.js 教程之 create-react-app 命令行工具系统讲解 快速开始 npm install -g create-react-app create-react-app my-app ...
- 寒武纪加速平台(MLU200系列) 摸鱼指南(二)--- 模型移植-环境搭建
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- 寒武纪加速平台(MLU200系列) 摸鱼指南(四)--- 边缘端实例程序分析
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- 从零开始打造个人专属命令行工具集——yargs完全指南
前言 使用命令行程序对程序员来说很常见,就算是前端工程师或者开发gui的,也需要使用命令行来编译程序或者打包程序 熟练使用命令行工具能极大的提高开发效率,linux自带的命令行工具都非常的有用,但是这 ...
- JVM调优前戏之JDK命令行工具---jhat
在JDK的命令行中,一般开发人员最耳熟能详的肯定就是java,javac,javap等常用命令,不过在jdk/bin下还有许多其他的命令行工具,它们被用来监测JVM运行时的状态,下面我们来详细解读一下 ...
- JVM调优前戏之JDK命令行工具---jstack
在JDK的命令行中,一般开发人员最耳熟能详的肯定就是java,javac,javap等常用命令,不过在jdk/bin下还有许多其他的命令行工具,它们被用来监测JVM运行时的状态,下面我们来详细解读一下 ...
- Windows 编程,程序编译使用的命令行工具。
Windows 编程,程序编译使用的命令行工具. 1.cl.exe文件是Visual C\C++的编译器,它将程序源代码文件编译为obj文件. 2.rc.exe文件是资源编译器.工程项目中的.rc文件 ...
- nodejs 编写(添加时间戳)命令行工具 timestamp
Nodejs除了编写服务器端程序还可以编写命令行工具,如gulp.js就是Nodejs编写的. 接下来我们来实现一个添加时间戳的命令: $ timestamp action https://www.n ...
- MySQL 命令行工具之 mysqldump 深入研究
mysqldump 是MySQL的一个命令行工具,用于逻辑备份.可以将数据库和表的结构,以及表中的数据分别导出成:create database, create table, insert into的 ...
随机推荐
- 第一个Vue.js案例
第一个Vue.js案例 使用Vue有如下几步 引入文件头 加入数据输出框 创建Vue对象,定义数据 案例: <!DOCTYPE html> <html lang="en&q ...
- LINQ---查询语法和方法语法
namespace ConsoleApplication45 { class Program { static void Main(string[] args) { , , , , , , }; va ...
- 最新获取 QQ头像 和 昵称接口
网上找来的测试可用... 获取QQ头像 http://q2.qlogo.cn/headimg_dl?bs=QQ号&dst_uin=QQ号&dst_uin=QQ号&;dst_ui ...
- windows系统下使用mycat实现mysql数据库的主从复制,从而实现负载均衡
在之前有记录过在一台系统中安装多台数据库,同时实现主从复制,但是那个主从复制只是一个基于dosc命令的,再实际的开发中我们不会去直接连接数据库,一般情况下我们也是通过间接的采用一些中间件去连接,本来是 ...
- memortstream Base64编码和filestream base64编码不同
memorystream base64 function BaseImage(fn: string): string; var m1: TMemoryStream; m2: TStringSt ...
- JAVA CookieUtil
package com.itheima.shop.utils; import java.io.UnsupportedEncodingException; import java.net.URLDeco ...
- Mysql多对多关系的查询
1.创建user表 2.创建gateway表 3.创建user_gateway表 4.创建device表 5.创建gateway_device表 6.创建一个实体类 public class Devi ...
- 提升Windows系统舒适度软件
1.Geek Uninstaller 卸载软件 2.PotPlayer 无广告播放器
- Python 编写代码 检查是否遵循PEP 8标准
实际上并非必须遵守PEP 8,但是它已经成为一个默认的.约定俗成的规则,可以使代码风格更统一,提高可读性. 由于最近一直在学习Ubuntu,因此此处仍然以Ubuntu为例,介绍一下规则检查工具,它能帮 ...
- RadioButton之互斥选择和Toast显示
前言: RadioButton用来单选并且用Toast来进行提示所选内容 RadioButton标签单独写的时候不能出现互斥现象,代码如下 <RadioButton android:layout ...