变更集

已完成

通常,当您构建云端流时,流中的每个步骤都是一个独立的事务。 例如,如果流中的第一个操作步骤使用添加新行在 Dataverse 表中创建行,但一个后续步骤失败,流终止,新行仍保留在 Dataverse 表中。 您可以通过处理流中的错误来处理这种情况,在处理错误时,可通过在流终止之前删除新行对失败做出补偿。 这种方法可将系统保持在流运行之前的状态。

Dataverse 连接器提供了一种替代方法,适用于必须确保完成两个或多个 Dataverse 操作,否则就回滚的情况。 使用执行变更集请求,您可以将两个或多个 Dataverse 操作合并到单个变更集或事务中。 通过执行变更集请求操作,您可以在变更集中只包含 Dataverse 添加新行删除行,以及更新行操作。

包含在变更集中的操作可以使用动态内容,它们需来自执行变更集请求操作之前的步骤,但不能包含变更集中其他操作的动态内容。 例如,如果您在变更集中的第一个操作中创建一个“客户”表行,则无法使用此行 ID 将其与创建“联系人”行的第二个操作相关联。

我们来看一个使用此功能的示例。 我们的场景中有一个奖励帐户,客户可以赚取积分。 当他们兑换奖励积分时,我们需要在“奖励兑换”表中创建一行,并从“奖励帐户”表中的行中扣除相应积分。

以下是在不使用变更集的情况下实现此目标的方法。 一个操作接着另一个操作进行。 如果第二个操作失败,您已经扣除了积分,而奖励永远不会交付。

显示奖励流程的屏幕截图。

除了以上方法,我们还可以使用执行变更集请求操作,并将更新和创建包含在变更集中。

显示“执行变更集请求”操作的屏幕截图。

使用这种方法,两项操作要么都完成,要么都不完成。