动作类型详解

定时触发构建(Trigger a scheduled build)

让本体里的工作流"顺手"重新计算数据集:给动作配一条调度规则(schedule rule),动作一执行就触发一次构建(build),用户不必再跑到 Data Lineage 或 Builds 应用去手动跑。

原文 Palantir Foundry · Action types
本文来源 · Source 内容整理自 Palantir Foundry 官方文档:
https://www.palantir.com/docs/foundry/action-types/trigger-schedule-build/
原始标题:Trigger schedule build

一句话速览

定时触发构建(Trigger a scheduled build):让本体里的工作流"顺手"重新计算数据集:给动作配一条调度规则(schedule rule),动作一执行就触发一次构建(build),用户不必再跑到 Data Lineage 或 B…

1 它是什么
Schedule(调度)定义了一组 Foundry 会在一次 build(构建)里重新计算的数据资源
2 配置调度规则(schedule rule)
给动作类型加一条 schedule rule,并选择一个调度
3 从调度"委派"给动作
动作类型的 submission criteria(提交条件)管理着"通过动作触发调度"所需的权限
4 跟踪构建进度
调度规则触发后,这次调度运行由一个 schedule run RID 标识
1

它是什么

一条 schedule rule,让动作应用时自动触发一次构建。

Schedule(调度)定义了一组 Foundry 会在一次 build(构建) 里重新计算的数据资源。给一个动作类型加上 schedule rule(调度规则),就能在动作被应用时,触发该调度的构建。

By configuring a schedule rule on an action type, you can trigger a build of that schedule whenever the action is applied.给动作类型配置一条调度规则,就能在动作被应用时触发该调度的构建。

价值在于:本体里的最终用户工作流,可以直接重新计算数据集,而不用让用户切去 Data Lineage 或 Builds 应用手动触发。

2

编辑与构建的顺序

构建一开始,本体编辑就"之后"应用——动作不等待构建完成。

关键点:当一个动作类型含 schedule rule 时,它的本体编辑会在构建开始之后才应用,而且不会等构建跑完。动作的行为是:

触发构建(trigger the build)
动作应用 → 启动调度构建,并捕获 schedule run RID。
调度运行一旦启动,动作就拿到这次运行的 RID(schedule run RID),用于后续追踪。
立即应用其余规则(含本体编辑)
不等待构建完成,马上把本体改动等规则应用掉。
也就是说:用户几乎立刻看到动作成功,而底层数据集的重新计算在后台异步进行。
3

配置调度规则(schedule rule)

加一条规则、选一个调度;参数化调度要填参数值。

给动作类型加一条 schedule rule,并选择一个调度。注意两点:

  • 所选调度必须处于 project-scoped mode(项目作用域模式)
  • 如果选中的调度是参数化(parameterized)的,必须为每个调度参数提供一个值;动作应用时会把解析出的参数值传给调度,并转发给构建里底层的参数化转换(transform)。
进阶:调度规则尤其适合搭配并行化参数化调度(parallelized parameterized schedules),用本体里的动作来实现并行调度。详情见参数化文档。
4

权限:从调度"委派"给动作

满足动作的提交条件,就能跑调度,无需调度本身的直接权限。

动作类型的 submission criteria(提交条件) 管理着"通过动作触发调度"所需的权限。只要用户满足动作提交条件,就能运行该调度,无需在调度上有任何直接权限

Foundry 会在首次引用该调度时、以及每次编辑 schedule rule 时,检查用户是否有运行该调度的权限。从动作类型引用一个调度,等于把"运行它的控制权"从调度委派给了动作类型——任何能管理该动作类型上动作的人,就掌控了"谁能触发这个调度"。

点击揭晓:为什么"被动作引用"后,用户常无需调度的直接权限?
5

跟踪构建进度

把 schedule run RID 写进对象属性,并格式化成实时状态。

调度规则触发后,这次调度运行由一个 schedule run RID 标识。这个 RID 会作为一个值暴露出来,可供动作类型的本体编辑规则引用——你可以把它写进某个被编辑对象的字符串属性里,作为"这条对象触发了哪次构建"的记录。

  • 在同动作类型上配 Modify/Create object 规则把目标对象的某个字符串属性,映射到 schedule rule 提供的 schedule run RID 值。
  • 对该属性应用 resource RID 格式化启用后,Foundry 会把 RID 显示成一个带图标的链接,文字反映构建当前状态。
  • 状态会实时更新显示 Running / Ignored / Failed / Succeeded 之一。
提示:这样你就能在对象上直接看到一个"活的"构建状态指示,而不必去 Builds 应用里翻。

一页带走

① 一触即建
schedule rule 让动作应用即触发构建,省去手动去 Builds。
② 不等待
编辑在构建开始之后应用,动作不阻塞等构建完成。
③ 权限委派
满足动作提交条件即可触发;调度须 project-scoped。
④ 可见状态
把 schedule run RID 写进属性并格式化,看到实时构建状态。

延伸阅读 · 相关页面

按主题横向跳转,不必顺着目录一篇篇读。

常见问题速答 · FAQ

关于「定时触发构建(Trigger a scheduled build)」,读者最常问的几个问题。

它是什么?
Schedule(调度)定义了一组 Foundry 会在一次 build(构建)里重新计算的数据资源。给一个动作类型加上 schedule rule(调度规则),就能在动作被应用时,触发该调度的构建。
权限:从调度"委派"给动作是什么?
动作类型的 submission criteria(提交条件)管理着"通过动作触发调度"所需的权限。只要用户满足动作提交条件,就能运行该调度,无需在调度上有任何直接权限。
跟踪构建进度是什么?
调度规则触发后,这次调度运行由一个 schedule run RID 标识。这个 RID 会作为一个值暴露出来,可供动作类型的本体编辑规则引用——你可以把它写进某个被编辑对象的字符串属性里,作为"这条对象触发了哪次构建"的记录。