具有相同来源 table 的多个 table 的事务更新策略

Transactional update policy for multiple tables with the same source table

假设我有两个 table,我在它们上面定义了两个不同的更新策略但具有相同的源 table。这两个更新策略都是事务性的。所以基本上这两个更新策略是这样的:-

.alter table Target1 policy update @'[{"IsEnabled": true, "Source": "MySource", "Query": "UpdatePolicy1_MySource()", "IsTransactional": true, "PropagateIngestionProperties": false}]'

.alter table Target2 policy update @'[{"IsEnabled": true, "Source": "MySource", "Query": "UpdatePolicy2_MySource()", "IsTransactional": true, "PropagateIngestionProperties": false}]'

现在,根据 documentation

,这两个更新策略都是事务性的

If transactional and the update policy fails, the source table is not updated

那么在我只有一个更新策略失败的情况下会发生什么?两个更新策略的源 table 在我的例子中是相同的,这是否意味着给定源 table 的所有更新策略必须在源 table 更新之前成功?

是的,如果更新策略是事务性的,则所有更新策略都必须成功才能提交。如果任何更新策略失败,将不会摄取任何表。