在软件包中定义微函数扩展业务逻辑,微函数可以以微服务的形式调用,也可以发布为标准的API接口。
在低代码平台中微函数是执行特定计算任务的代码,你可以有一个函数读取你的销售数据和计算销售税,或一个函数收集数据和生成一个格式化的PDF报告文件。
本协议约定在低代码平台编写微函数的规范,包括函数参数,返回值等规则。
export default async function (event, context, logger) {
logger.info(
`Invoking myfunction with payload ${JSON.stringify(event.data || {})}`
);
const results = await context.org.dataApi.query("SELECT Id, Name FROM Account");
logger.info(JSON.stringify(results));
return results;
}
支持从第三方包 import
,比如:
import { getCurrentData } from "yahoo-stock-prices";
export default async function (event, context, logger) {
logger.info("I'm logging stuff!");
return getCurrentData("CRM");
};
Ƭ Function<A, B>: (event: InvocationEvent<A>
, context: Context, logger: Logger) => Promise<B>
| B
微函数定义及其参数规范。
名称 |
---|
A |
B |
所有函数的参数规则统一,以下是参数清单。
名称 | 类型 |
---|---|
event | InvocationEvent<A> |
context | Context |
logger | Logger |
以下是微函数中传入的各种参数类型规范。
代表与事件发生相关的数据,并支持关于事件发生源的元数据,有以下属性规范。
随函数传入的事件 payload
。
事件 payload
的 media type
。
事件 payload
遵循的 schema
。
标识事件发生的唯一标识符。
标识事件发生的上下文的URI。
事件发生时的时间戳,默认为当前时间。
事件类型。
表示微函数执行环境中的上下文参数,有以下属性规范。
函数执行的唯一标识符。
调用函数时所属的公司信息,其规范见 Org。
调用微函数时的组织和用户的信息,有以下属性规范。
微服务Broker,用于调用微服务 Actions。
当前公司所使用的api版本号。
当前公司的 base URL。
供客户端调用的数据请求接口,其规范见 DataApi。
当前公司所属的域名地址。
当前公司唯一标识符。
当前登录用户信息,其规范见 User。
调用微函数时的组织和用户的信息,有以下属性规范。
用户的ID。
用户所代表的用户id。
用户的用户名。
输出不同级别的日志消息功能。
▸ debug(message: string): void
输出“调试”级别日志消息。
▸ error(message: string): void
输出“错误”级别日志消息。
▸ info(message: string): void
输出“信息”级别日志消息。
▸ trace(message: string): void
输出“跟踪”级别日志消息。
▸ warn(message: string): void
输出“警告”级别日志消息。