上周五我们给开发者带来了一个好玩还有奖的游戏 —— 《Serverless 有一百种玩法,比好玩更好玩》。
礼品已经到位!为了让大家能更好地玩转 Serverless,拿走我们的大奖,我们特意为新手/初学者准备了一则极其简单的教程指引。
毕竟,我们是 Serverless
—— 让开发者能轻而易举地写出一个自己的应用,更专注于拿奖(自己的代码)。
以云函数 SCF 为例,一个 HelloWorld 的应用复用如下:
使用者可以直接体验组件模版:快速获取到组件或者模版的信息,并支持项目源代码的下载复用,完成项目的快速部署。
新手友好度 +100 ?
1. 使用应用
当您的本地环境无目标应用,可以通过 sls init
指令快速完成应用初始化,init 后加上您需要使用的模版名称,以云函数 SCF 模版为例,指令如下:
sls init scf-demo
cd scf-demo
2. 模版快速部署
初始化完成后,您可以在本地项目文件夹内完成您的项目开发,再通过 sls 指令完成云端快速部署:
sls deploy --debug
三步开发自己的第一个程序是什么体验 ?
1. 创建配置文件
在您的项目目录下,新建 src
文件夹,完成您的应用开发,此处以一个最简单的定时触发 HelloWorld 为例,入口函数 index.js
代码如下:
'use strict';
exports.main_handler = async (event, context) => {
console.log("Hello World")
console.log(event)
console.log(event["non-exist"])
console.log(context)
return event
};
在相同目录内,创建配置文件 serverless.yml
,按如下示例填入您的应用配置信息:
app: my-firstdemo # 应用名称
component: scf # 组件名称,在该实例中为scf
name: serverless-demo # 该实例名称
#实例参数
inputs:
name: helloworld #函数名称
src: ./ #上传的项目代码路径
handler: index.main_handler #入口
runtime: Nodejs10.15 # 云函数运行时的环境
region: ap-guangzhou # 云函数所在区域
events: # 触发器
- timer: # 定时触发器
name: #触发器名称,默认timer-${name}-${stage}
parameters:
cronExpression: '*/30 * * * * * *'
enable: true
注意:如果您的应用包含多个函数,请为每个函数配置对应配置文件,并使用相同的 app
参数
2. 配置应用信息
回到项目根目录下,创建模版配置文件 serverless.template.yml
,配置您的项目模版信息(Registry 里的项目模版名不能重复,如果发布失败请更换模版名称)
name: my-demo-xxx # 项目模板名称,只支持英文与符号'-',后缀请填入您的appid,保证 demo 名称唯一性
author: # 作者的名字
description: This is helloworld function # 英文描述
description-i18n:
zh-cn: helloworld 空白模板函数 # 中文描述
type: template #类型:模版
keywords: tencent, scf, Nodejs10.15, helloworld # 关键字
repo: # (可选)源代码仓库地址
readme: # (可选)readme地址
license: MIT # 版权声明
src: # 描述项目中的哪些文件需要作为模板发布
src: ./src # 指定具体的相对目录,此目录下的文件将作为模板发布
exclude: #描述在指定的目录内哪些文件应该被排除
# 通常你希望排除
# 1. 包含secrets的文件
# 2. .git git源代码管理的相关文件
# 3. node_modules等第三方依赖文件
配置完成后,项目目录结构如下:
|-- my-demo
|-- serverless.template.yml
|-- src
| |-- index.js
| |-- serverless.yml
3. 发布应用
npm install -g serverless
sls publish
sls registry my-demo-xxx
对照上述代码跑一遍,你也可以写一个 Serverless 应用。参与活动,还有大奖拿! ?《Serverless 有一百种玩法,比好玩更好玩》
点击「阅读原文」,转发评论有奖!?
截止时间:10.24 24:00
本文分享自 ServerlessCloudNative 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!