使用 Spark 集成规则,开发人员可以合并用于在两个 Vault 之间映射对象和文档字段的可配置规则,以便在 Spark 消息处理器中使用。当目标 Vault 从源 Vault 收到一条 Spark 消息时,目标 Vault 可能需要将所收到的数据从回调查询转换成它能够理解的一种格式。例如,当一个监管 Vault 向一个临床 Vault 发送研究方案标题字段时,临床 Vault 可能使用一条集成规则将此字段映射到其同等研究描述字段。

您完全可以在目标 Vault 上配置和评估集成规则,这意味着它的目标 Vault 需要负责处理所收到的 Spark 消息。

要使用集成规则,需要执行几个步骤:

  1. 在您的 Vault 内设置集成规则记录,以包含一组用于集成的规则。
  2. 创建字段规则查询对象规则,以定义一组应用于集成规则的规则。如果您在创建一个引用查找,请设置引用查找对象记录
  3. 开发一个 Spark 消息处理器,以使用您的集成规则。了解有关开发人员门户中的 Spark 消息处理器

访问集成规则管理

您可以从管理 > 连接 > 集成规则中查看和管理集成规则。您必须拥有一个能够授予应用程序:管理集成权限的安全配置文件,才能访问连接标签页中的集成规则。

关于标准集成规则

默认可以在 UI 中编辑标准集成规则,包括使用行内编辑功能激活和停用现有的规则。但 Veeva 提供的一些集成可能禁止激活或停用集成规则以及编辑字段规则默认值。

关于字段规则

字段规则定义了一组应用于集成规则的具体规则。通过选择目标对象和对象字段(或者目标文档和文档字段),Vault 将设置目标 Vault 中的字段的值。查询字段类似于回调查询中的 SELECT 部分,如果您需要更高的明确性,可以添加筛选器,例如具有查询对象规则的 WHERE

字段映射

字段映射根据源 Vault 中的字段来设置目标 Vault 中的字段的值。

例如,目标 Vault 通过一条 Spark 消息从源 Vault 收到一条消息,表明产品记录已更改。收到消息之后,目标 Vault 的 Spark 消息处理器会在这些记录上设置 country__v 字段。为此,目标 Vault 会使用一条集成规则回调源 Vault,并将源 Vault 的 country__v 字段值设置为目标 Vault 中的 country__v 字段值。

如果您映射的数据与外部键完全相同,您只需执行字段映射即可。但在大多数情况下,都需要使用引用查找将源 Vault 中的数据映射到目标 Vault 中的同等值。

引用查找

引用查找功能使用源 Vault 与目标 Vault 之间的一个预定义的同等值列表,为字段映射提供了额外的转换。例如,当从源 Vault 检索 country__v 字段值时,引用查找功能会执行一个额外的转换,以便将源 Vault 的“US”值映射到目标 Vault 的同等“美国”值。

引用查找支持所有单值字段类型的任意至任意映射。不支持多值字段。例如:支持是/否字段,不支持多值选项列表。

要创建引用查找,您必须首先连接记录定义引用查找值列表

静态字段默认值

静态字段默认值会将目标 Vault 中的字段值设置为字面量默认值。例如,从源 Vault 收到记录之后,目标 Vault 中的一条字段规则可以将 description__c 文本字段设置为“已从 Spark 集成收到”,或者将一个自定义优先级选项列表设置为“需要分类”。

您也可以将字段默认规则与字段映射或引用查找规则组合使用。例如,您可以指定一个“回退”或“默认”值,以便在对源 Vault 执行的查询未返回值时使用。为此,请设置一个字段默认值,并在您的字段规则上设置字段映射或引用查找值。

当您将一个对象字段设置为默认值时,可能还会配置其他的字段默认值。为了避免获得意外的结果,管理员应当熟悉对象字段默认值的运算顺序

关于查询对象规则

查询对象规则为您的字段规则提供了额外的一层明确性。字段规则提供了查询的 SELECT 部分,而查询对象规则提供了 WHERE 中的筛选功能。例如,一条字段规则可以在产品对象记录上选择国家/地区字段。使用查询对象规则时,您可以额外指定您只对状态活动的对象记录感兴趣。

查询对象规则与字段规则结合使用,而查询对象规则并不绑定到某一条特定的字段规则。例如,如果您将查询对象规则筛选子句定义为 status__v = 'active__v',那么您的 Spark 消息处理器开发人员可以将此查询对象规则应用于此集成规则中的所有字段规则。

请了解如何创建查询对象规则

关于主要查询对象

集成规则允许设置主要查询对象。通过在集成规则上设置主要查询对象,您可以将它的字段规则约束到特定的对象或文档,并且获得对此对象或文档上的关系的访问权限。

例如,一个 Spark 集成需要检索一个产品制造商的事件电话号码,而制造商显示为产品对象上的一个对象关系字段。通过将主要查询对象设置为产品,集成规则能够访问产品制造商之间的关系。

例如,疫苗产品具有一个值为 VeePharm制造商字段,VeePharm 是一个制造商对象记录,具有一个带有事件电话号码标签的文本字段。对于给定的疫苗产品,此 Spark 集成能够快速获取相关 VeePharm 制造商记录上的事件电话号码

设置主要查询对象会将所有字段规则查询约束到此对象。例如,将主要查询对象设置为产品之后,假设用户产品之间不存在任何关系,那么此集成规则上的字段规则无法查询将事件电话号码设置为其办公电话号码的那些用户对象记录。

如果没有在集成规则上设置任何主要查询对象,将不会约束字段规则,而且您将无法访问关系。

如何创建集成规则

要创建集成规则:

  1. 管理 > 连接 > 集成规则中,单击创建
  2. 为集成规则输入一个标签。Vault 管理员会在配置此规则时看到此标签。
  3. 为集成规则输入一个名称。如果您已经填充标签字段,Vault 会建议一个默认名称。开发人员将使用此名称在 Spark 消息处理器中引用此规则。
  4. 选择一个应当对其应用此集成规则的现有连接
  5. 可选:选择一个应当对其应用此集成规则的现有集成点
  6. 可选但建议:选择一个主要查询对象。如果设置了主要查询对象,它会将此集成规则的字段规则约束到所选的对象或文档,并且授权您访问此对象或文档上的关系。如果省略,将不会约束此集成规则的字段规则,而且您将无法访问关系。
  7. 单击保存

创建一个集成规则之后,创建字段规则,以便为此集成规则定义一组规则。

如何创建字段规则

要为集成规则创建字段规则:

  1. 管理 > 连接 > 集成规则中,选择要在其中创建字段规则的集成规则。
  2. 从集成规则详细信息页面中,选择字段规则节段中的 + 创建
  3. 为此字段规则选择目标对象
  4. 目标对象字段选项列表中,选择目标对象上的一个字段。
  5. 可选:更改标签名称。根据对象和字段名称,Vault 会为这些字段建议默认值。标签是指 Vault 管理员如何引用此规则,而名称是指 Spark 开发人员如何引用此规则。
  6. 可选:如果您在创建一个静态字段默认值,请输入字段默认值。如果指定了此值,而且在创建新的目标对象记录时没有指定任何值,此字段规则会默认将所选的目标对象字段设置为此值。您也可以设置此字段以及字段映射或引用查找字段,以便将此字段设置为一个“回退”值。
  7. 可选:如果您在创建一个引用查找,请选择一个引用查找类型引用查找对象。
  8. 可选:如果您没有在创建静态默认值,请指定查询对象。与当前 Vault 中的目标对象类似,这是源 Vault 中的对象。如果您为集成规则配置了一个主要查询对象,此字段将被约束到此对象。
  9. 可选:如果您指定了一个查询对象,请选择查询字段。与当前 Vault 中的目标对象字段类似,这是源 Vault 中的查询对象上的字段。
  10. 可选:如果您指定了一个查询字段,请选择查询字段类型。这是源 Vault 中字段的数据类型。
  11. 单击保存

如何创建查询对象规则

要为集成规则创建查询对象规则:

  1. 管理 > 连接 > 集成规则中,选择要在其中创建对象查询规则的集成规则。
  2. 从集成规则详细信息页面中,选择对象查询规则节段中的 + 创建
  3. 为此字段规则选择查询对象。例如 product__v
  4. 可选:更改标签名称。Vault 建议为这些字段设置默认值。标签是指 Vault 管理员如何引用此规则,而名称是指 Spark 开发人员如何引用此规则。
  5. 可选:更改此查询对象规则的状态。此状态目前没有任何功能,但 Spark 消息处理器开发人员可以使用规则状态创建自定义逻辑。
  6. 筛选条件下方,输入筛选子句。这是用于此查询对象规则的逻辑,是使用标准 VQL 编写的。如果源 Vault 可用,请使用令牌按钮输入查询对象上的字段。例如 status__v = 'active__v'
  7. 可选:使用 {{token}} 格式,手动输入任何自定义令牌。您的 Spark 消息处理器开发人员必须解析这些令牌。
  8. 使用验证链接检查 VQL 语法是否有效。但此链接只会检查用于当前目标 Vault 的 VQL 语法,如果源 Vault 和目标 Vault 位于不同的版本上,它们的正确语法可能有所不同。了解有关开发人员门户中的 VQL 语法
  9. 单击保存