函数(Functions):把业务逻辑写成可复用的代码
当规则复杂到没法用配置表达,就需要写代码。函数让代码作者把逻辑写在 本体之上,在运营场景里被快速执行。这一篇讲清它是什么、能做什么、怎么用。
https://www.palantir.com/docs/foundry/functions/overview/
原始标题:Functions · Overview
一句话速览
函数(Functions):把业务逻辑写成可复用的代码:当规则复杂到没法用配置表达,就需要写代码。函数让代码作者把逻辑写在 本体之上,在运营场景里被快速执行。这一篇讲清它是什么、能做什么、怎么用。
一句话:function 是"在本体上跑的可复用逻辑"
Functions enable code authors to write logic executed quickly in operational contexts.
函数(function)让代码作者把一段逻辑写出来,在 运营场景(operational contexts)——比如仪表盘、辅助决策的应用——里被快速执行。
一句话区分它和动作类型:函数是一段"计算逻辑",负责读、算、甚至改; 而动作类型(action type)是"人/系统做出的一次受治理的改动"。函数常被动作类型调用。
一等公民:对本体的原生支持
读属性、遍历链接、灵活编辑,都是内建能力。
函数最值得强调的特性是:它对本体(Ontology)是一等公民(first-class)级别的支持。也就是说,写函数时能直接:
常见用途清单
从展示、聚合到实时流式,覆盖面很广。
原文列出了一长串常见用法,挑重点记:
- 返回对象集合 / 变量值给 Workshop 使用。
- 显示换算后的值:通过 Workshop 的"函数支撑列(function-backed columns)"在派生表里展示。
- 聚合对象值:作为 Workshop 图表的来源。
- 表达复杂编辑:通过"函数支撑的动作(function backed action)"一次性更新大量对象。
- 后端跑逻辑、返给前端:在 Slate 中返回要展示的信息。
- 计算自定义指标 / 聚合:在 Quiver 中展示。
- 查外部系统丰富本体:通过 external functions(外部函数 / webhooks)。
- 实时流式结果:增量返回,尤其配合语言模型(language models)。
- Python 作旁路容器:在 Pipeline Builder 里使用。
支持哪种语言?
TypeScript 与 Python。
函数支持两种语言:TypeScript 与 Python。 原文还提示:不同语言、不同版本的功能支持程度不同,选择前应先参考 「language feature support(语言功能支持规格)」。
函数和动作类型怎么配合?
函数算/改,动作类型收口成"一次受治理的改动"。
一个很常见的组合是 function backed action(函数支撑的动作): 复杂编辑的逻辑写在函数里,动作类型负责把它包装成"用户可触发、带权限校验、带副作用"的一次提交。
动手:这段代码该放哪儿?
判断每一项最适合落在 函数 / 动作类型 / 数据集成管道。
从哪里上手?
点开看函数"跑在哪里"。
原文推荐的入门路径(均可在官方文档找到):
- Getting started with TypeScript v1 functions
- Getting started with TypeScript v2 functions
- Getting started with Python functions
- 速通课程:Speedrun: Your first Ontology function(learn.palantir.com)
一页带走
延伸阅读 · 相关页面
按主题横向跳转,不必顺着目录一篇篇读。
常见问题速答 · FAQ
关于「函数(Functions):把业务逻辑写成可复用的代码」,读者最常问的几个问题。