学习目标
完成本单元后,您将能够:
- 描述实例之间的流程。
- 列出三种要复制的数据。
- 列出导入/导出和复制过程之间的两个区别。
- 描述两种控制复制的方法。
- 解释复制任务的好处。
介绍
复制是Salesforce B2C Commerce流程,它以受控的方式将数据和代码从暂存实例推送到开发或生产实例,从而最大程度地降低了错误风险。复制仅发生在主实例组(PIG)中的实例上,而不发生在辅助实例组(SIG)或沙箱中。
源和目标
复制期间,将更改从复制源推送到复制目标。复制源始终是登台实例。复制目标可以是开发或生产实例。尽管复制的主要目标是将变更从阶段推向生产,但第一步是将相同的变更推向开发。这使您可以验证复制是否成功。
复制控制
首先在Business Manager(用于站点配置和管理的B2C Commerce工具)中创建复制过程开始。复制过程是复制任务的集合,这些任务指定自上次复制以来的更改。更改可以是数据(例如产品数据,内容和图像文件)或代码。
您可以定义多个复制过程,并指定每个复制过程中要包括的复制任务。这使您可以控制每次推送的粒度级别。您可以推送整个站点或选定的子集;例如,仅网站的自定义对象。您在组织级更改方面具有类似的灵活性。
在流量较低的时间安排开始日期和结束日期,因此不会影响您网站的性能,也不会对购物者的体验产生不利影响。
两步发布
您可以通过两步发布来复制数据,这可以帮助您避免仅因失败而运行整个过程。如果您刚刚开始复制和传输过程,并且需要对结果进行更多控制,则此过程会有所帮助。
- 传输-创建新的复制,为您的站点配置它,然后选择“ 传输”作为复制类型。如果传输失败,请找出问题所在。修复后,请重试。
- 发布-创建另一个名为“ 数据发布”的任务以发布数据。对于数据复制,传输和发布任务中的数据必须匹配。例如,您不能传输目录,索引和促销数据,然后只能发布目录数据。
资料复制
因为数据复制旨在将最新版本的店面推入生产环境,所以它是替换操作,而不是 merge。数据复制首先在目标实例的新位置从源实例创建数据的副本,而不替换原始数据。该过程完成后,您可以从目标系统中的现有数据切换到新数据,从而有效地替换数据。它是无缝且瞬时的。
第一次复制数据时,将包含所有数据。对于后续复制,可以在粒度级别进行复制。例如,您可以复制单个站点及其关联的目录:所有目录,一个目录或标准目录。
选择要复制的数据
B2C Commerce数据可以具有组织或站点范围。在组织级别,所有站点都共享数据。在站点级别,数据仅由单个站点使用。在每个范围内,您可以选择要复制的不同数据集,例如组织的所有目录或特定店面的促销和优惠券。这是所支持的最低级别的数据复制粒度。当某些数据准备好复制而有些则不能复制时,此功能很有用。例如,新的内容资产可能已准备好投入生产,而新的目录定义尚未准备就绪。
有一些限制。您不能从要复制的数据集中的目录或促销中选择单个产品。数据复制不会从分段复制这些内容:
- 命令
- 库存清单
- 业务管理器用户配置文件和登录凭证
计划数据复制
您可以通过四种方式安排复制过程。
- 自动 -默认情况下,或者在您定义复制过程之后,在指定的日期和时间
- 手册—准备由具有适当权限的用户在Business Manager中启动
- 定期 -按每日,每周或每月的时间表
- 工作步骤 -由工作触发时
复制时请小心。如果重复数据复制失败,则该作业的后续重复将不会运行。复制通常会清除页面缓存,这可能会对店面性能产生重大影响。
最佳实践
以下是一些数据复制最佳实践。
- 首先测试从暂存到开发的复制过程。
- 在开发中测试结果配置,以确保其按预期工作。
- 始终运行传输,然后再发布,以便您可以验证传输过程。
- 识别不同数据复制组之间的依赖关系。
- 始终使用目录复制搜索索引。
- 当店面活动最少时,执行转移到生产步骤。
- 禁用增量索引和计划索引,并在复制数据时停止其他作业。尽管无需为传输禁用增量索引,但是在发布之前必须禁用增量索引。您可以复制搜索索引,也可以在目标实例上手动构建它。
- 在B2C Commerce标准维护窗口期间,避免主要数据复制。
- 使用业务管理器权限来限制谁可以执行数据复制。
代码复制
使用业务管理器代码复制,可以在源实例和目标实例之间复制代码版本。代码版本是包含自定义墨盒的文件夹。一个实例可以具有多个代码版本,但只能使用活动代码版本。
在沙盒中完成开发后,请使用UX Studio创建新的服务器连接并将代码上载到暂存。服务器连接应该是安全的。
在生产实例上,将自动创建一个新版本,命名为原始版本名称和时间戳的组合。您可以在不激活代码的情况下将其复制到生产环境,也可以在激活时将其复制。如果您需要还原到以前的代码版本,B2C Commerce会知道以前使用的是哪个版本,然后重新激活它。我们建议您在生产实例上执行以下操作。
- 在登台时部署代码版本。
- 复制代码(和数据)以进行开发以测试过程。
- 将代码复制到生产中。
复制类型
配置目标系统以手动,自动或作业步骤开始创建代码复制过程。这些是复制类型。
复制类型 | 描述 |
---|---|
代码转移 | 源系统上当前激活的代码版本已传输到目标系统。每次复制都会在目标系统上创建一个新的代码版本,即使该版本中所有文件的名称都与已安装的版本匹配。与数据复制不同,它没有同步,因为这可能会影响目标上现有的甚至活动的版本。 |
代码传输和发布 | 进行代码传输后,立即激活新版本。 |
代码发布 | 没有转移。先前传输的版本已激活。仅当先前的复制类型为Code Transfer时,此模式才可用。由于版本名称可以在两个系统之间更改,因此附加逻辑可确保正确处理。如果此版本不再存在,则发布失败。如果已被激活,则什么也不会发生。 |
撤消代码 | 这类似于代码发布 (不进行数据传输),但是它回滚先前激活的版本。先前的过程必须是“ 代码传输和发布”或 “代码发布”。如果要还原的版本不再处于活动状态,则不会发生任何事情。如果该版本不再存在或不存在要回滚的版本,则该过程将失败。 |
电子邮件通知
您可以使用逗号分隔的收件人列表为代码复制配置电子邮件通知。该过程完成或失败后,将发送一封电子邮件。如果该过程挂起,则不会发送电子邮件。
复制组
复制组(或任务)使您能够以可管理的方式组织数据和流程。您还可以在站点级别,组织级别或同时在两者上复制数据。例如,可以在组织级别和站点级别上复制自定义对象。
业务管理器将复制在一起的多个对象分组。花时间检查对象之间的关系以了解它们的复杂性。
数据/代码复制与导入/导出
同时使用导入/导出和数据复制来填充实例数据库。
- 一旦数据已经存在于B2C Commerce数据库中,则复制会将数据从一个实例移动到另一个实例。
- 导入和导出将数据与B2C Commerce数据库之间的外部系统移动。