前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >创建一个 Serverless 应用,真的没有这么难!

创建一个 Serverless 应用,真的没有这么难!

作者头像
腾讯云serverless团队
发布2020-10-21 10:40:54
8660
发布2020-10-21 10:40:54
举报
文章被收录于专栏:Tencent Serverless 官方专栏

上周五我们给开发者带来了一个好玩还有奖的游戏 —— Serverless 有一百种玩法,比好玩更好玩

礼品已经到位!为了让大家能更好地玩转 Serverless,拿走我们的大奖,我们特意为新手/初学者准备了一则极其简单的教程指引。

  1. 如何复用现成 demo:两步完成应用初始化,并实现云端的快速部署!
  2. 快速开发一个 Serverless demo,简单的三步实现自己的第一个程序。

毕竟,我们是 Serverless 

—— 让开发者能轻而易举地写出一个自己的应用,更专注于拿奖(自己的代码)。

模板下载与复用

以云函数 SCF 为例,一个 HelloWorld 的应用复用如下:

使用者可以直接体验组件模版:快速获取到组件或者模版的信息,并支持项目源代码的下载复用,完成项目的快速部署。

新手友好度 +100 ?

1. 使用应用

当您的本地环境无目标应用,可以通过 sls init指令快速完成应用初始化,init 后加上您需要使用的模版名称,以云函数 SCF 模版为例,指令如下:

代码语言:javascript
复制
sls init scf-demo
cd scf-demo

2. 模版快速部署

初始化完成后,您可以在本地项目文件夹内完成您的项目开发,再通过 sls 指令完成云端快速部署:

代码语言:javascript
复制
sls deploy --debug

创建与发布应用

三步开发自己的第一个程序是什么体验 ?

1. 创建配置文件

在您的项目目录下,新建 src 文件夹,完成您的应用开发,此处以一个最简单的定时触发 HelloWorld 为例,入口函数 index.js 代码如下:

代码语言:javascript
复制
'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,按如下示例填入您的应用配置信息:

代码语言:javascript
复制
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 里的项目模版名不能重复,如果发布失败请更换模版名称)

代码语言:javascript
复制
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等第三方依赖文件

配置完成后,项目目录结构如下:

代码语言:javascript
复制
|-- my-demo
    |-- serverless.template.yml
    |-- src
    |   |-- index.js
    |   |-- serverless.yml

3. 发布应用

  • 安装 Serverless Framework
代码语言:javascript
复制
npm install -g serverless
  • 进入项目根目录下,完成项目发布,发布后的项目完全公开,所有用户都可以下载复用
代码语言:javascript
复制
sls publish
  • 发布完成后,运行以下指令查看应用部署信息,如果可以返回应用信息,则应用已发布完成
代码语言:javascript
复制
sls registry my-demo-xxx

对照上述代码跑一遍,你也可以写一个 Serverless 应用。参与活动,还有大奖拿! ?《Serverless 有一百种玩法,比好玩更好玩

One More Thing

点击「阅读原文」,转发评论有奖!?

代码语言:javascript
复制
截止时间:10.24 24:00
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-19,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 模板下载与复用
  • 创建与发布应用
  • One More Thing
相关产品与服务
云函数
云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。云函数是实时文件处理和数据处理等场景下理想的计算平台。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档