有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

什么是Lightwings

Lightwings 是一款腾讯云自研的应用开发工具,通过提供模块化开发能力以及代码管理能力,让您更专注于代码的编写,快速构建自己的应用。
目前支持 golang-http、python3-http、java11、node17、php8 5种语言。如果想要更多的应用代码模板可加入官方交流群联系我们。


如何使用 Lightwings 开发





功能介绍

新增应用

进入 Lightwings 卡片详情页,单击 Lightwings 应用管理,单击新增应用,即可开始第一个 Lightwings 应用的部署。







下载代码模板

根据业务选定的编程语言,在控制台中下载对应的代码模板。目前支持 golang-http、python3-http、java11、node17、php8等5种语言,将代码模板下载至本地后进行编写调试。
如果想要更多的应用代码模板可加入官方交流群联系我们。

编写业务代码

代码模板下载至本地后,为.zip格式;
解压后,所有的业务代码都在代码模板文件夹下的 function 文件夹中,修改 function 文件夹内的代码即可。
上传时只需提供 function 文件夹的zip压缩文件,所有在 function 文件夹下的文件修改才会生效。所有的模板都有固定的入口。
编写代码示例可参见:快速使用LightWings构建应用

golang-http

golang-http 模板使用的 golang 版本为1.18,通过go mod进行包管理。目录结构如下。应用入口为 function/handler.go 下的 handle 方法。
golang-http
├── Dockerfile
├── function # 只需修改此处的代码
│ ├── go.mod
│ ├── go.sum
│ └── handler.go #入口方法 func Handle(req handler.Request) (handler.Response, error)
├── go.mod
├── go.sum
├── main.go
├── modules-cleanup.sh
└── template.yml

python3-http

python3-http 模板使用的python版本为3.7,目录结构如下。应用入口为 function/handler.py 下的 handle 函数。
python3-http
├── Dockerfile
├── function # 只需修改此处的代码
│ ├── handler.py #入口方法 def handle(event, context):
│ ├── handler_test.py
│ ├── requirements.txt
│ └── tox.ini
├── index.py
├── requirements.txt
└── template.yml

java11

java 模板使用的jdk版本为 openjdk11.0.16,使用 gradle 进行依赖管理,目录结构如下。应用入口位于 function/handler.py 中的 handler 方法。
java11
├── build.gradle
├── Dockerfile
├── function # 只需修改此处的代码
│ ├── build.gradle
│ ├── gradle
│ │ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── settings.gradle
│ └── src
│ ├── main
│ │ └── java
│ │ └── com
│ │ └── openfaas
│ │ └── function
│ │ └── Handler.java #入口方法 public IResponse Handle(IRequest req)
│ └── test
│ └── java
│ └── HandlerTest.java
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── README.md
├── settings.gradle
└── template.yml

node17

node17模板使用的 node17版本为17。目录结构如下。应用入口为 function/handler.js 下的方法。
node17
├── Dockerfile
├── function # 只需修改此处的代码
│ ├── handler.js #入口方法
│ └── package.json
├── index.js
├── package.json
└── template.yml

php8

php8 模板目录结构如下。应用入口为 function/src/Handler.php 下的 handle 方法。
php8
├── Dockerfile
├── function # 只需修改此处的代码
│ ├── composer.json
│ ├── php-extension.sh
│ └── src
│ └── Handler.php #入口方法 public function handle(string $data): string
├── index.php
├── php-extension.example.sh
├── readme.md
└── template.yml

保存打包代码并准备上传

本地编写代码调试完毕后,将编写完业务代码之后的 function 文件夹重新打包为.zip格式,并选择对应代码模板后,准备上传代码。

发布应用

输入应用名称,上传打包好代码文件,输入应用访问地址后,单击确定,完成应用部署。
如果勾选创建成功后自动运行该应用,即可在构建成功后自动运行。



应用名称:您的应用名称,不可重复,只支持小写字母、数字和链接符号“-”,必须以字母或者数字开头和结尾,最长128个字符,应用创建后不可修改。
应用模板:一定要与您的代码语言保持一致,否则无法新增成功。
选择文件:即选择您本地已经编辑好且打包好的代码文件,只支持.zip格式。
应用访问地址:格式为 ip/lightwings/api/v1/func/hello,应用运行成功后即可通过该地址进行外网访问调用。
应用描述:描述该应用的备注,最多可输入1024个字符。
自动运行:勾选后创建应用成功后自动运行,否则不会自动运行,需要手动运行。

运行应用

应用创建后可在应用操作事件TAB页查看应用的操作历史和操作结果。如果没有勾选自动运行,则需要等应用构建成功后,选择第一个版本运行函数。




新增版本

想要修改应用时,可以选择新增一个应用版本。每个应用最多拥有5个版本。新增的应用版本可直接在控制台上进行调试。
一个应用同一时间只能运行一个版本。







调试应用

当应用创建完毕并发布成功之后,可以在线调试该应用。







删除应用

删除应用会将其所有版本全部删除,删除后不可恢复。
删除应用必须要将其所有版本全都停止,方可删除;如果有某个应用或者应用版本处于运行中/部署中等非未部署状态,则无法删除该应用。

删除应用版本

删除某个特定的应用版本,删除后不可恢复。
当把一个应用的所有版本都删除后,该应用也将被删除。
删除应用版本必须要将该应用版本停止,方可删除,否则无法删除该应用版本。

Lightwings官方交流群

欢迎各位交流反馈。