Package Exports
- @tencent-sdk/faas
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@tencent-sdk/faas) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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()
- 设置地区 setRegion()
- 调用该函数 invoke()
- 获取函数 CLS 配置 getClsConfig()
- 获取 CLS 日志列表 getLogList()
- 获取日志详情 getLogDetail()
- 通过请求 ID 获取日志详情 getLogByReqId()
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 分钟日志。
通过 startTime
和 endTime
参数,获取时间段内日志:
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 是有时间延迟的,所以在实时获取日志是会存在最新的部分日志信息并不完整,如果需要过滤掉这些不完整的日志,可以通过传递参数 isFilterCompleted
为 true
来实现。
参数说明:
参数 | 描述 | 类型 | 必须 | 默认 |
---|---|---|---|---|
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