You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Foundry API将Writebacks编辑行恢复至BaseVersion?

Foundry Writeback已编辑行恢复解决方案

问题背景

我们在Palantir-Foundry场景下有一工作流,需将带Writeback的对象的底层数据集更新同步至Writeback,但该操作在已编辑行上执行失败。因Writeback采用“编辑优先(Edits-win)”模型,系统始终选择该行的编辑版本,这符合设计逻辑。在不重构整个应用的前提下,尝试通过Foundry REST API解决此问题:是否可将Foundry Writebacks中已编辑的行恢复为原始未编辑版本?已找到phonograph2 BaseVersion相关API文档,但未明确行恢复至BaseVersion的实现方法,需在特定事件触发时通过TypeScript函数仓库执行此操作。

可行方案:通过Phonograph2 API删除编辑记录

Phonograph2作为Foundry Writeback的底层服务,提供了删除指定行编辑记录的API。移除对应行的编辑条目后,系统会自动回退到底层数据集的原始版本,无需重构应用。

关键API端点

调用phonograph2/edit-contents:delete端点,可针对指定对象集和行ID删除编辑记录。

TypeScript函数实现示例

在Foundry函数仓库中创建如下函数,用于触发行恢复操作:

import { fetch } from "@foundry/functions-api";

export async function revertEditedRow(objectRid: string, rowId: string): Promise<void> {
    const apiEndpoint = `/phonograph2/edit-contents/${objectRid}/rows/${rowId}`;
    
    const response = await fetch(apiEndpoint, {
        method: "DELETE",
        headers: {
            "Content-Type": "application/json",
            "Accept": "application/json"
        }
    });

    if (!response.ok) {
        throw new Error(`恢复行失败: ${response.statusText}`);
    }
}

使用说明

  • objectRid:带Writeback配置的对象集RID(可在对象集详情页获取)
  • rowId:需恢复行的唯一主键值
  • 权限配置:需为函数分配phonograph2:edit-contents:delete权限,以及对应对象集的编辑权限

触发方式

将该函数绑定到Foundry事件(如数据集更新事件、自定义Webhook事件等),事件触发时先执行行恢复,再启动底层数据集到Writeback的同步工作流即可解决同步失败问题。

内容的提问来源于stack exchange,提问作者tessa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 13:26:00