Skip to content

Latest commit

 

History

History
215 lines (163 loc) · 6.67 KB

README.md

File metadata and controls

215 lines (163 loc) · 6.67 KB

Tencent Cloud FaaS SDK

专门为 腾讯云云函数 提供的 SDK 工具.

安装

$ npm i @tencent-sdk/faas --save
# 或者
$ yarn add @tencent-sdk/faas

使用

初始化实例:

import { FaaS } from '@tencent-sdk/faas';

const client = new FaaS({
  secretId: 'Please input your SecretId',
  secretKey: 'Please input your SecretKey',
  token: 'Please input your Token',
  region: 'ap-guangzhou',
  debug: false,
});

参数说明

参数 描述 类型 必须 默认值
secretId 腾讯云 API 密钥 ID string ''
secretKey 腾讯云 API 密钥 Key string ''
token 腾讯云临时鉴权密钥 Token string ''
region 请求服务地域 string ap-guangzhou
debug 是否打印调试信息 boolean false

支持方法

getRegion

获取当前地区配置:

const region = client.getRegion();

setRegion

配置服务地区:

client.setRegion('ap-guangzhou');

invoke

调用函数:

const res = await faas.invoke({
  name: 'serverless-test',
  namespace: 'default',
  qualifier: '$LATEST',
});

参数说明:

参数 描述 类型 必须 默认
name 函数名称 string
namespace 命名空间 string default
qualifier 函数版本 string $LATEST
event 触发参数 object {}

event 为触发函数的事件对象的。

如果函数是 web 类型,event 对象参数如下:

参数 描述 类型 必须 默认
method 请求方法 string get
path 请求路径 string /
data 请求数据 object {}

getClsConfig

获取函数 CLS 配置:

const res = await faas.getClsConfig({
  name: 'serverless-test',
  namespace: 'default',
  qualifier: '$LATEST',
});

getLogList

获取日志列表:

const res = await faas.getLogList({
  name: 'serverless-test',
  namespace: 'default',
  qualifier: '$LATEST',
});

注意: 默认获取最近 10 分钟日志。

通过 startTimeendTime 参数,获取时间段内日志:

const res = await faas.getLogList({
  name: 'serverless-test',
  namespace: 'default',
  qualifier: '$LATEST',
  startTime: '2021-04-30 14:00:00',
  endTime: '2021-04-30 14:15:00',
});

注意:时间必须是 UTC+8 (亚洲/上海时区)时间。

由于云函数是流失日志,日志落盘到 CLS 是有时间延迟的,所以在实时获取日志是会存在最新的部分日志信息并不完整,如果需要过滤掉这些不完整的日志,可以通过传递参数 isFilterCompletedtrue 来实现。

参数说明:

参数 描述 类型 必须 默认
name 函数名称 string
namespace 命名空间 string default
qualifier 函数版本 string $LATEST
startTime 开始时间,支持格式化的时间和时间戳 string|number
endTime 结束时间,支持格式化的时间和时间戳 string|number Date.now()
reqId 请求 ID string
status 日志状态 string
interval 时间间隔,单位秒 string 600s
limit 获取条数 string
isFilterCompleted 是否过滤掉不完整的日志 boolean false

getLogDetail

获取指定请求 ID 日志详情(日志元数据):

const res = await faas.getLogDetail({
  name: 'serverless-test',
  namespace: 'default',
  qualifier: '$LATEST',
  logsetId: 'xxx-xxx',
  topicId: 'xxx-xxx',
  reqId: 'xxx-xxx',
});

参数说明:

参数 描述 类型 必须 默认
name 函数名称 string
namespace 命名空间 string default
qualifier 函数版本 string $LATEST
logsetId 日志集 ID string
topicId 日志主题 ID string
reqId 请求 ID string

getLogByReqId

通过请求 ID 获取日志详情(组装日志数据):

const res = await faas.getLogByReqId({
  name: 'serverless-test',
  namespace: 'default',
  qualifier: '$LATEST',
  reqId: 'xxx-xxx',
});

参数说明:

参数 描述 类型 必须 默认
name 函数名称 string
namespace 命名空间 string default
qualifier 函数版本 string $LATEST
reqId 请求 ID string

错误码

类型 错误码 描述
API_FAAS_get 1000 查找函数其他错误信息
API_FAAS_get 1001 无法找到制定函数
API_FAAS_getClsConfig 1002 无法获取函数的 CLS 配置
API_FAAS_getLogByReqId 1003 无效的请求 ID
API_FAAS_getTriggers 1004 无法获取函数的触发器列表
API_FAAS_getNamespace 1005 未找到制定的 namespace
API_FAAS_getQualifier 1006 未找到指定的 qualifier

License

MIT