使用配置迁移数据包,您可以在两个 Vault 之间迁移配置更改或测试数据。当您的组织需要在沙盒 Vault 中进行配置和测试,然后将这些配置迁移到生产 Vault 中时,此功能尤其有用。在此示例中,您将在沙盒 Vault 中创建并导出一个出站包,然后导入、审查此数据包并将其部署到生产 Vault 中。
如何启用配置数据包
您可以从管理 > 设置 > 常规设置启用此功能。这里涉及两个设置:
- 允许出站包:必须为源 Vault 打开此设置。此设置将使管理 > 部署标签页可见。
- 允许入站包:必须为目标 Vault 打开此设置。此设置将使管理 > 部署标签页可见。
启用之后,您可能需要注销并重新登录,以显示部署标签页。
关于出站包类型
您可以选择创建一个迁移或测试数据包。
- 迁移数据包可能包含组件、数据和 Vault Java SDK 代码,用于在 Vault 之间迁移配置和引用对象数据。
- 测试数据包只包含数据,特别适合在刷新沙盒 Vault 时保留对象数据。
如何创建和导出数据包
当创建出站包时,您需要从当前 Vault 导出配置元素。要创建出站包:
- 导航到管理 > 部署 > 出站包,然后单击创建。
- 选择一个出站包类型。请参阅关于出站包类型。
- 输入一个摘要,以帮助您和其他用户了解此数据包的目的和内容。
- 可选:选择一个用户作为所有者。如果将此字段留空,它将使用您作为默认设置。当导入数据包时,如果数据包出现问题,所有者信息将出现在目标 Vault 中,以提供一个联系人。
- 对于迁移数据包可选:选择一个目标 Vault。此选项允许 Vault 对照目标 Vault 检查数据包的依赖关系。您可以选择父级生产 Vault 以及父级、子级或同级沙盒 Vault 作为目标 Vault。
- 单击保存。Vault 会打开数据包详细信息页面。
- 如果您正在创建一个迁移包,请导航到组件节段。单击添加,以便为此数据包指定组件。在该对话框中,使用复选框添加或删除组件。您可以为单个数据包添加最多 200 个组件。
- 导航到数据节段。单击添加,以便为此数据包指定一个新的数据步骤。输入一个设置标签。如果将此字段留空,Vault 会根据所选的对象自动生成一个标签。从主要对象选项列表中,选择一个数据对象。要添加一个相关数据对象,请单击添加相关对象,然后选择一个相关对象。您可以为每个数据集添加最多九 (9) 个相关对象。单击保存,以返回到出站包页面。
- 对于迁移包可选:导航到代码节段。选择是否包含 Vault Java SDK 代码。是会默认将 Vault Java SDK 部署选项设置为全部替换。
- 对于迁移数据包可选:在“选项”菜单中,选择查看/添加依赖关系。在随后出现的对话框中,会显示您数据包中不符合目标 Vault 条件的所有组件依赖关系。检查要添加到数据包的依赖关系,然后单击保存。您必须在步骤 5 中选择一个目标 Vault,才能添加依赖关系。
- 可选:导航到数据包节段。单击上传,以存储所导出的 VPK。
- 打开操作菜单,然后选择导出。当导出完成后,您的通知页面中会显示一条通知,Vault 会向您发送一封电子邮件。通知中包含一个用于下载您的 VPK 的链接;Vault 不会自动将 VPK 下载到您的机器中。
数据包和依赖关系
数据包将只包含所选组件的配置详细信息。一个组件的配置有时取决于另一个组件。例如,对于类型为选项列表的文档字段受众,如果不首先创建此字段所使用的选项列表,您将无法创建此字段。建议将整个配置作为单个数据包导出并部署,以防止依赖关系出现问题。如上述步骤所示,您可以在导出一个迁移数据包之前查看和添加它的依赖关系。您还可以使用 Vault API 来验证一个数据包,以了解有关依赖的组件的信息以及它们是否存在于数据包或目标 Vault 中。
从“Vault Compare”功能创建数据包
对于同一个域中的 Vault,Vault Compare 功能可以根据源 Vault 与目标 Vault 之间的差异,自动创建出站包。
关于数据集
通过为出站迁移包添加数据集,您可以同时包含组件和对象数据,以便将它们作为一个组在 Vault 之间移动。数据集由对象和相关对象数据组成。每个数据集最多可以包含十 (10) 个数据对象,包括一 (1) 个主要对象和多达九 (9) 个其他相关对象。每个出站包都可以包含最多 100 个数据对象。
您可以使用出站测试数据包来迁移对象数据,包括对象关系。例如研究、国家/地区和机构之间的祖父级、父级和子级关系。测试数据包利用全局 ID 和链接字段来迁移数据。
尽管用户对象在迁移和测试数据包中都可用,但不同的 Vault 中的用户数据不太可能相同,尤其是位于不同域中的 Vault。因此,建议在大多数情况下使用 Vault 加载程序来提取用户记录,并将它们移动到另一个 Vault 中。
选择对象
要为数据集添加对象,请在数据集配置页面中:
- 从您 Vault 中的所有可用对象的列表中选择一个主要对象。此列表不含对象类型以及具有系统管理的记录的对象。
- 可选:单击添加相关对象,以便从适用的出站和入站关系中进行选择。
- 单击保存。
编辑数据集
要编辑现有的数据集,请从出站包详细信息页面中的数据集旁边的操作菜单中选择编辑,或者单击数据集配置页面上的编辑。
编辑数据对象的默认设置
要编辑数据对象的默认设置:
- 从出站包详细信息页面中,单击数据集。
- 从所需对象的操作菜单中,选择编辑。
- 可选:从操作选项列表中,选择更新和插入、创建、删除或更新。这将决定用于部署的默认操作。Vault 将更新和插入设置为默认操作。
- 可选:从关键字段选项列表中选择一个字段。这是唯一字段,用于为更新和插入的更新部分、更新或者删除操作查找记录。创建操作不需要唯一字段即可执行查找。
- 可选:选中记录迁移模式复选框。使用记录迁移模式,您可以为具有生命周期的对象迁移处于非初始状态的记录。此外,在迁移模式下创建记录时,Vault 会绕过验证规则和引用约束。记录迁移模式只能与创建操作结合使用。
- 可选:通过输入VQL WHERE 子句,展开筛选器部分以应用筛选器。此字段用于过滤您想要移动的记录,使用与Vault LoaderWhere 子句字段相同的语法。如果对象与另一个对象之间具有入站子级关系,Vault 会自动包含
status__v='active'
筛选器,您不应删除此筛选器。单击验证以检查是否有语法错误。了解有关开发人员门户中的 VQL 的更多信息。 - 可选:展开列节段,以修改所选对象的列。系统会默认选择所有可编辑的列。您可以取消选择要包含的列,以选择不移动某些字段值。您可以选择使用任何其他唯一的引用字段替换出站关系的默认引用字段,但每个出站关系只能包含一个引用字段。如果没有任何可用的有效唯一引用字段,Vault 将排除这些列。如果对象与另一个对象之间具有入站子级关系,Vault 将排除 status__v 列。
- 单击保存。
如何导入和验证数据包
注意:当完成以下任务时,建议启用配置模式。
要导入和验证数据包:
- 导航到管理 > 部署 > 入站包,然后单击导入。
- 在您的计算机上,查找并选择所导出的 VPK 文件。
- Vault 会异步导入和验证数据包,并在完成后通过电子邮件向您发送通知。单击通知电子邮件中的链接,以打开导入内容的验证日志。
- 要验证一个现有的入站包,请从入站包名称旁边的操作菜单中选择验证。
关于验证日志
验证日志中包含有关入站包中的每个数据包步骤的部署状态和依赖关系详细信息。在部署之前,请记得为您的数据包添加任何缺失的依赖关系,它们将出现在依赖关系列表中,并具有缺失 – 阻止状态。整体入站包的包状态反映了步骤级别的部署状态,后者进而反映了来自依赖关系的状态。如果任何必要的依赖关系缺失,则会将步骤的部署状态以及据其得出的整个数据包的部署状态设置为阻止。
验证状态
Vault 会为数据包步骤的列表中的每个依赖关系分配一个状态。
- 目标中:依赖的组件已经存在于目标 Vault 中。
- 数据包中:依赖的组件存在于数据包中。
- 缺失 – 忽略:依赖的组件缺失,Vault 将忽略此组件。
- 缺失 – 创建:依赖的组件缺失,Vault 将创建此组件。
- 缺失 – 阻止:依赖的组件缺失,Vault 将禁止部署 VPK。
- 数据包中 – 忽略:依赖的组件位于数据包中,阻止类型为“忽略”。
- 数据包中 – 创建:依赖的组件位于数据包中,阻止类型为“创建”。
- 数据包中 - 顺序错误 - 阻止:依赖的组件的顺序不正确,阻止类型为“阻止”。
如何部署数据包
- 从操作菜单中,选择审查和部署。Vault 会显示数据包中的所有组件的列表。
- 审查每个项的部署状态和部署操作。要排除特定的步骤,请清除它们的复选框。
- 可选:要对步骤重新排序,请单击重新排序,在步骤字段中输入所需的步骤编号,然后单击保存。
- 单击下一步。根据您 Vault 的配置,如果一个数据包步骤的部署状态为已阻止,Vault 可能不允许单击下一步。
- 在确认页面上进行审查,然后单击完成。
如何导出数据包组件比较
数据包组件比较导出内容 (XLSX) 可以帮助您了解给定数据包中的组件、这些组件与您 Vault 的当前配置的比较,以及有关数据包本身的详细信息。此选项在部署之前或之后导入的任何数据包中可用。
要导出比较:
- 导航到管理 > 部署 > 入站包。
- 从数据包名称上的操作菜单中或数据包详细信息页面中,选择数据包组件比较。
- Vault 会开始执行比较过程,并在完成后向您发送一个通知。通知中包含一个用于下载数据包比较报告的链接。
要比较两个 Vault 的配置,请使用 Vault Compare 功能。
注意:数据包组件比较导出内容不会显示与工作流相关的详细信息,也不包含数据比较。
部署状态
Vault 会首先(通过校验和)验证数据包中的每个步骤(组件或数据)是否与源 Vault 中的步骤匹配,以确定入站包的部署状态。当您查看入站包时,以及在审查和部署过程中执行审查和选择步骤和确认步骤时,都会显示此状态。部署之后,此状态会更新,以反映所发生的情况。部署状态存在于每个步骤上以及整体数据包上。如果个别步骤遇到错误,数据包的状态也会显示错误。
- 已导入:已成功导入 VPK。
- 已验证:数据包的步骤与源 Vault 匹配,但尚未部署。
- 未验证:表明已更改 VPK 或步骤。
- 已部署:Vault 在目标 Vault 上成功部署了组件的配置。
- 部署中:正在进行 VPK 部署。
- 已部署:已成功部署 VPK,且未出现警告或错误。
- 已部署,但失败:Vault 已完全部署 VPK,但出现了一些失败。
- 已部署,但出错:Vault 在部署过程中发现了错误,但仍然能够成功部署一些组件和数据。
- 已部署,但出现警告:Vault 在部署过程中发现了某种问题,但仍然能够成功部署。示例:数据包包含引用了对象生命周期的一个对象,但目标 Vault 中不存在此对象生命周期。创建一个占位符生命周期后部署能够继续。此状态只适用于组件。
- 已跳过:当进行部署时,用户选择跳过此步骤,或者 Vault 由于组件已经存在于目标 Vault 中而跳过了此步骤。
- 错误:Vault 在部署数据包时遇到了一个错误。请参阅错误详细信息。
- 已阻止:Vault 无法部署 VPK,因为依赖关系缺失或者顺序不正确。
部署操作
Vault 会将已经存在于目标 Vault 中的步骤与数据包中的步骤进行比较,以确定入站包的部署操作。部署操作会显示在审查和部署过程中的审查和选择步骤和确认步骤上。与部署状态不同,对于数据包的每个步骤,部署操作只存在于步骤级别。
- 添加:这是新的组件,数据包会将其添加到目标 Vault 中。
- 创建:这是新的数据步骤,数据包会将其添加到目标 Vault 中。
- 更新和插入:此操作会将一个数据步骤添加到目标 Vault 中(如果它尚未存在),或者更新此数据步骤(如果它已经存在)。
- 更新:此组件已经存在于目标 Vault 中,但其配置并不相同。数据包将更新要匹配的现有组件。此操作会保留对组件的所有引用(例如审计跟踪)。
- 无更改:数据包中的组件与已经存在于目标 Vault 中的组件相同。
单击一个部署操作,以便在一个弹出式查看器中查看每个组件的详细比较和依赖关系。
部署通知
如果 Vault 正在审查和部署期间处理组件配置更新,在审查和选择步骤和部署确认页面上显示警告消息。
在 Vault 处理组件配置更新时,部署操作和状态可能不准确,在处理完成之前部署包可能会导致部署错误。我们建议等到配置更新完成处理后,再完成部署。
如何解决部署错误
尽管可以通过查看验证日志和数据包组件比较来避免大多数部署错误,但仍然可能发生部署错误。当在数据包部署过程中遇到错误时,Vault 会停止部署,但不会回滚已经进行的任何配置更改。
要解决错误并完成部署:
- 查看部署日志,以了解导致错误的原因。通知中会显示一个指向此原因的链接。此日志还会附加到入站包中。您可以从入站包详细信息页面下载此日志。
- 解决导致错误的原因。根据错误,您可能需要部署另一个包含所需组件的数据包,或者手动进行配置更改。请参阅用于解决特定错误和警告的详细信息。
- 在入站包中,返回到出现错误的数据包。从操作菜单中,选择部署。
- Vault 会从在上次部署时停止的位置重新开始此过程。
组件部署顺序
如果您在构建单个配置迁移数据包,Vault 会自动对组件排序。但当构建多个配置迁移数据包时,必须按正确的部署顺序构建这些迁移包,才能成功迁移项目。如果您无法解决排序问题,请联系 Veeva 托管服务团队。
组件类型
请参阅组件类型,以获得 Vault 配置迁移功能支持的配置元素的列表。
组件名称
在部署数据包时出现的错误和警告消息中,将按组件的名称而不是它们的标签来引用组件。名称通常基于标签,而且它们之间的关联应当显而易见。但名称有时并不明确。
在这些情况下,您可以在组件的配置详细信息中查看组件的名称。例如,您可以在管理 > 配置 > 文档字段中找到文档字段的名称,或者在管理 > 配置 >对象工作流 > 详细信息中找到对象工作流的名称。
注意:对于文档类型,无法通过 UI 了解名称。如果名称并不明确,您或许只能通过 API 找到组件标签。
用于文档字段迁移的详细信息
当迁移文档字段时,Vault 不会在配置迁移数据包中包含引用了自动管理组的安全覆盖,但会包含并不基于自动管理组的任何其他安全覆盖。
用于文档生命周期迁移的详细信息
当迁移文档生命周期时,请记住下列规则:
- Doclifecycle 组件类型中并不包含生命周期角色分配规则。您需要使用生命周期角色分配规则 API 来迁移默认规则和覆盖规则。
用于文档工作流迁移的详细信息
当迁移工作流时,请记住下列规则:
- 您只能迁移处于活动状态的工作流。如果工作流当前在源 Vault 中处于编辑模式,出站包将包含工作流的最后一个活动版本。
- 您只能在同一个版本的 Vault 之间迁移工作流,而无法在限定版 Vault 与正式版 Vault 之间迁移工作流。这种情况只发生在正式版刚刚推出之后。
- 您无法将工作流从一个生命周期迁移到另一个生命周期。可能无法在申请系列之间执行配置迁移,因为它们取决于组件的名称,这些名称在所有的系列中可能并不相同。在进行配置更改之前,建议刷新沙盒和与生产环境完全相同的测试环境。
用于对象类型迁移的详细信息
当迁移对象类型时,请记住下列规则:
- 必须为对象启用了对象类型,才能将对象类型添加到数据包中。
- 添加对象类型之后,可以设置一个新的默认对象类型。
- 当使用对象类型从一个 Vault 迁移时,请从数据包中排除基础 (base__v) 对象类型。Vault 会自动创建此对象类型。
用于对象生命周期迁移的详细信息
当迁移具有关联对象生命周期的对象时,Vault 会在目标 Vault 中创建临时的占位符生命周期。此占位符与此对象关联,并具有与源 Vault 的对象生命周期相同的公钥,但占位符处于非活动状态。当导入此对象生命周期时,Vault 会覆盖此占位符生命周期,并激活新的对象生命周期。
要迁移一个对象生命周期,您必须在 VPK 中包含 Lifecyclestatetype 组件和生命周期的 Lifecyclestatetypeassociation 组件。如果不包含这些组件,您会在创建对象记录时看到一个错误。您需要在目标 Vault 中手动将对象状态类型与生命周期状态关联。
用于对象工作流迁移的详细信息
当迁移对象工作流时,请记住下列规则:
- 迁移的对象工作流将在目标 Vault 中具有非活动状态。部署之后,您必须手动将它们激活。
- 如果要从 17R3 Vault 中导入包含对象工作流和电子签名的 VPK,您首先需要在目标 Vault 中对此对象启用电子签名。
用于已保存视图迁移的详细信息
您只能迁移被标记为必要的已保存视图。
关于可搜索对象字段迁移的详细信息
当迁移对象时,将包含可搜索对象字段。您只能在数据包中包含自定义字段。
组迁移详情
当迁移组时,请记住下列规则:
- 您只能使用迁移或测试数据包中的数据集迁移组。Vault 不支持组的相关对象迁移。
- 您不能创建系统管理的组,但可以更新现有的系统管理的组。
- 您不能在迁移或测试数据包内导出组成员。然而,Vault 可能会自动添加或删除组成员,这取决于被迁移组所包含的安全配置文件。
相关权限
以下权限控制着用于配置迁移数据包的操作:
类型 | 权限标签 | 控制 |
安全配置文件 | 管理:迁移包:创建 | 能够创建配置迁移数据包;您需要对源 Vault 拥有此权限。 |
安全配置文件 | 管理:迁移包:部署 | 能够部署配置迁移的数据包;您需要在目标 Vault 中拥有此权限。 |
安全配置文件 | 管理:各个 | 能够创建或编辑各个组件。当部署数据包时,您需要拥有手动创建组件时所需的相同权限,例如拥有管理 > 选项列表 > 编辑权限以部署包含选项列表组件的数据包。 |
安全配置文件 | 对象:出站包:读取 | 能够查看出站包对象。您还必须对此对象的所有字段拥有读取权限。 |
安全配置文件 | 对象:入站包:读取 | 能够查看入站包对象。您还必须对此对象的所有字段拥有读取权限。 |
安全配置文件 | 对象:入站包步骤:读取 | 能够查看入站包步骤对象。您还必须对此对象的所有字段拥有读取权限。 |
安全配置文件 | 对象:入站包数据:读取 | 能够查看入站包数据对象。您还必须对此对象的所有字段拥有读取权限。 |
安全配置文件 | 对象:入站包组件:读取 | 能够查看入站包组件对象。您还必须对此对象的所有字段拥有读取权限。 |
标准 Vault 所有者和系统管理员安全配置文件拥有所有的必要权限。