云函数操作指引
1.编写云函数
本地开发云函数 2.0 可以参考以下文档:
2.部署云函数
2.1. 下载自定义代码发布上传工具
需要下载云函数发布上传工具private-cloud-function(简称 pcf)
# 1. linux系统
## 1.1 下载地址:https://software-1302110647.cos.ap-guangzhou.myqcloud.com/rc/lastest/tools/amd64/linux/pcf
## 1.2 使其可执行:
chmod +x pcf
# 2. windows 系统
## 2.1 下载地址:
https://software-1302110647.cos.ap-guangzhou.myqcloud.com/rc/lastest/tools/amd64/windows/pcf.exe
# 3. macOS 系统
## 3.1 下载地址:
https://software-1302110647.cos.ap-guangzhou.myqcloud.com/rc/lastest/tools/amd64/macOS/pcf
## 3.2 使其可执行:
chmod +x pcf
说明
对于 windows 系统, 可以按住键盘的 win+r 打开命令行, 下载 windows 命令行工具 pcf.exe:执行时./pcf 换成.\pcf.exe(请在命令行所在目录下执行)
2.2. 添加登录信息
aliasname 为 host 的别名, 如果不填写则为默认主机 default【微搭访问地址, 不同的主机代表不同环境下 weda 环境
./pcf add-host <aliasname> --host=<登录地址> --username=<用户名称> --password=<密码>
# 例如:./pcf add-host --host=http://192.135.35.80 --username=admin --password="Weda@xxx"
2.3. 上传云函数
提示
funcname 为函数的识别名
./pcf func push <funcname> --alias=<aliasname> --path=<代码路径>
# 示例:https://github.com/TencentCloudBase/func-v2-template将其下载下来, 本地测试通过后,上传至软件化, 即执行下面命令:
# ./pcf func push test1 --path="/data/code/func-v2-template"
2.4. 发布云函数
./pcf func deploy <funcname> --alias=<aliasname>
# 返回: 部署成功或者失败
## 示例:funcname 为 test1
# ./pcf func deploy test1
3 APIs 中调用云函数
3.1. 选择 APIs 类型
APIs 方法请求类型选择 HTTP 请求
3.2. 创建 APIs 方法
1) URL:填写 http://func-server:3000
2)Method:选择你编写的接口对应的方法:例如: POST/GET 等(取决于云函数代码中定义的方法)
3.3. 方法测试
4.其他子命令使用方法
4.1. 删除登录信息
./pcf del-host <aliasname>
4.2. 查询云函数列表
./pcf func list --alias=<aliasname>
# 返回: 返回函数列表,通知只能有一个函数生效[已发布,其他的都为未发布]
4.3. 删除云函数
./pcf func del <funcname> --alias=<aliasname>
5 排查问题
5.1. 查看服务级别日志
如果云函数语法错误则发布后,在 2.5.3 会报错,此时则需要查看 func-server 容器的日志:
单机版:
查看报错日志
docker logs -f -n 100 func-sevrer
集群版:
kubectl -nsoftware logs -f --tail=100 <func-server>
### func-server 可以通过下面的命令查看具体名称:
kubectl -nsoftware get po | grep func-server
例如:语法或者缺少依赖时报错, 这个错是缺少依赖, 需要在上传代码时,在本地运行通过【必然下载依赖】:
5.2. 查看用户级日志
登录 func-server 容器, 在下面两个目录中:
/workspace/logs/accesslog*.log
/workspace/logs/usercodelog*.log
如何进入容器中?
- 单机版:
docker exec -it func-server bash
- 集群版:
### 1 首先:func-server 可以通过下面的命令查看具体名称:
kubectl -nsoftware get po | grep func-server
### 2 执行:
kubectl -nsoftware exec -it <1 中查出来的名称> -c func-server bash