如何在Palantir Foundry动作中设置对象属性为未来相对时间?
Palantir Foundry 工单延期动作实现方案
问题说明
针对工单类对象的「延期」动作,需完成两项属性更新:
- 将
Last Checked At设置为当前时间(NOW) - 将
Snoozed Until设置为当前时间后7天
通过Action Rules UI仅能完成第一项配置,无法直接实现相对时间的第二项需求。
可行实现方案
1. 函数支持的动作(Function-backed Action)
这是本体层面通用的标准实现方式,步骤如下:
- 在Code Repos中创建Python/Scala函数,接收工单对象作为输入,计算并更新属性:
from datetime import datetime, timedelta from foundry import OntologyObject def snooze_ticket(ticket: OntologyObject) -> OntologyObject: current_time = datetime.utcnow() ticket.last_checked_at = current_time ticket.snoozed_until = current_time + timedelta(days=7) return ticket - 将函数关联到本体的「延期」动作,配置好输入输出对象类型,即可在本体或所有关联应用中调用该动作完成批量属性更新。
2. Workshop应用专属方案(如你已实现的方式)
若仅需在特定Workshop应用中实现该逻辑,可创建函数支持的变量:
- 编写函数计算「当前时间+7天」的结果
- 在Workshop的动作配置中,将
Snoozed Until属性绑定到该变量,同时直接设置Last Checked At为内置的当前时间变量,即可完成需求。
总结
如果需要在本体层面实现可复用的延期动作,优先选择函数支持的动作;若仅需在单个Workshop应用中使用,函数支持的变量是更轻量的替代方案。
内容的提问来源于stack exchange,提问作者stevenc
相关产品推荐
相关产品推荐

