Palantir中能否通过一次按钮点击触发两个动作?
在Palantir Foundry中实现单次点击完成两项操作的方案
要实现一次点击同时完成「调用场景计算函数」和「保存KPI到对象」两个动作,核心是把这两个逻辑封装到自定义Action中,通过服务器端脚本按顺序执行,再将Action绑定到页面按钮上触发。具体步骤如下:
1. 创建自定义Action
在Foundry中通过Action Builder或代码仓库创建一个自定义Action:
- 若操作针对特定对象类型,选择「Object Action」并关联目标对象;若为全局操作,选择「Global Action」。
- 配置触发方式为「按钮点击」,后续可将该按钮添加到对象详情页或全局工具栏。
2. 编写顺序执行的脚本逻辑
在Action的服务器端脚本(支持Python/Scala)中,按先后顺序实现两个动作:
示例Python脚本:
from foundry import functions, objects def run(input_object_rid): # 第一步:调用场景计算函数 # 获取当前操作的对象(若为Object Action) target_object = objects.get_object(input_object_rid) # 调用预先定义的场景计算函数,传入必要参数(如对象的场景配置) scenario_calculation = functions.call( function_rid="ri.foundry.main.function.your-scenario-function-rid", parameters={"scenario_config": target_object.properties["scenario_settings"]} ) # 第二步:更新并保存对象的KPI属性 # 从计算结果中提取目标KPI值,更新对象属性 target_object.properties["monthly_revenue_kpi"] = scenario_calculation["revenue"] target_object.properties["customer_retention_kpi"] = scenario_calculation["retention_rate"] # 保存对象修改 objects.save(target_object)
关键说明:
- 替换
function_rid为你场景计算函数的实际RID; - 根据实际业务调整参数传递和KPI属性的字段名;
- 若无需关联特定对象,可去掉
input_object_rid相关逻辑,直接调用函数并更新指定对象。
3. 配置权限与触发位置
- 确保Action拥有调用目标函数和修改目标对象类型的权限(在Foundry权限中心配置);
- 在对象详情页的布局编辑器中,添加该Action按钮,设置合适的显示条件(如仅对具备编辑权限的用户可见)。
4. 测试验证
点击按钮后,通过以下方式验证:
- 检查对象属性是否已更新为计算后的KPI值;
- 在Foundry的「Action Execution History」中查看执行日志,排查可能的报错(如权限不足、函数调用参数错误)。
内容的提问来源于stack exchange,提问作者Monsta
相关产品推荐
相关产品推荐

