Files
playbook/skills/tsl-api-reference/references/codegen/module/ts-opi-callback.md
T

2.1 KiB

第三方交互 / TS-OPI callback

本页记录框架函数通过 TS-OPI 与 TS-OPS 接收可执行回调的调用模式

PDF 没有声明名为 callback 的 TSL 函数;实际调用入口是 tenantCallopsCall 以及业务方发布的 service function,因此本页作为场景页保留,不把文档标题伪装成 API 声明

场景分类

场景 回调所在位置 调用方式
跨账号 OPI callback 其他租户的 TSL function tenantCall 调用租户公开接口
跨账号 OPS callback 其他租户授权的 OPS function tenantCall 调用 OPS/<function>
同账号 OPS callback 当前账号可访问的 OPS function opsCall 直接调用 OPS 服务

TSL 调用案例

跨账号调用 OPI 因子

// 需已为该 SESSION-KEY 配置目标函数的租户访问权限
session_key := "{9B687E49-******}";
return tenantCall(
    session_key,
    "MF_Demo_Data_YS_02",
    array("SH000300", 20260430T),
    5000
);

跨账号调用 OPS 因子

// 需目标租户已授权对应 OPS function
session_key := "{9B687E49-******}";
return tenantCall(
    session_key,
    "OPS/tfm_getlocalfactordataendt",
    array("A02001", 20260430T),
    5000
);

同账号直接调用 OPS 因子

// 需本地 OPS 服务已注册并保持运行
return opsCall(
    "tfm_getlocalfactordataendt",
    "",
    array("A02001", 20240131T),
    50000
);

将跨账号 function 作为 service callback

// 目标 service function 与租户接口需由业务方预先发布
factor_formula_daily := %%callback
tenantCall(
    "{9B687E49-******}",
    "MF_Demo_Data_YS_02",
    array("SH000300", endt),
    5000
)
%%callback;
factor_name := "账面市值比";
beg_t := 20240101T;
end_t := 20250101T;
cycle := cy_Month();
stock_zone := "SH000300";
index_id := "SH000300";
return trainVideo_TS04020_05(
    factor_formula_daily,
    factor_name,
    beg_t,
    end_t,
    cycle,
    stock_zone,
    index_id
);