学习目标
完成本单元后,您将能够:
- 给出两个为什么导入/导出模式文件很重要的原因。
- 列出通常导入的两种数据。
- 描述两种导入/导出模式。
- 描述导出过程。
- 解释为什么增量供稿很重要。
介绍
大多数商人都有后端系统,这是他们的记录系统。Salesforce B2C Commerce应用程序环境具有其自己的数据库和服务器,旨在支持店面。B2C Commerce导入/导出功能弥合了差距。
考虑一下数据流:从记录系统到B2C Commerce,从B2C Commerce捕获到记录系统。产品详细信息(例如SKU编号,产品描述,尺寸,图像,价格和视频)在记录系统中开发,然后导入B2C Commerce。购物者创建的订单将导出到外部系统进行处理。尽管可以将优惠券代码导入B2C Commerce,但购物者兑换优惠券的行为会创建导出的数据。
导入使用来自外部文件的数据来填充B2C Commerce数据库。导出使您可以从B2C Commerce数据库中提取数据并创建可用作外部系统供稿的XML文件。提要是特定的导入或导出过程。
数据从生产中导出。
这些不是店面数据导入/导出过程。
- 数据复制是指您将代码和数据从一个实例复制到另一个实例。我们将在下一个单元中讨论数据复制。
- 业务管理器目录提要功能处理第三方文件(例如Certona)。
- 站点导入/导出将特定于站点的配置和设置信息从一个实例移动到另一个。
模式
架构文件指定B2C Commerce导入和导出所需的文件结构。B2C Commerce仅接受以这些模式格式化的XML导入文件。架构还记录了所需的数据属性。导入的数据必须与架构匹配,否则将不会导入。
B2C Commerce以XML格式导出,但优惠券代码除外,后者以CSV格式导出。我们建议您使用第三方程序将.csv文件处理为所需的XML格式。使用纯.NET或Java平台(为处理分配了大量内存)来转换文件要快得多,效率也更高。
那么这些架构文件是什么?事实证明,其中有很多。这里有些例子:
- sort.xsd
- 优惠券
- 优惠券兑换
- order.xsd
- Promotion.xsd
模式
您可以指定导入模式来定义B2C Commerce如何解释导入供稿中的数据。该模式适用于提要中的所有对象以及模式定义的所有导入文件。
这些是导入模式。
模式 | 说明 |
---|---|
合并 | 如果对象不存在,则会创建一个对象,并对该对象执行更新。 |
更新资料 | 现有对象被修改。如果不存在,则不会创建。提要中提供的对象属性将更新。Feed中未提供的对象属性保持不变。 |
更换 | 将使用提要中提供的数据重新创建对象。该对象不必已经存在。导入期间,将删除Feed中未提供的现有属性。替换模式与删除然后合并的模式相同 |
删除 | 从数据库中删除了一个对象。提要中仅必须提供对象ID。其他对象属性将被忽略。 |
删除导入中的对象时要小心。删除模式将删除提要中的对象。同样,替换模式将删除提要,然后重新创建提要中的对象。仅执行更改导入即可更改一个对象,这会删除整个对象集。
某些模式在导入元素级别支持属性模式。在这种情况下,唯一支持的模式是删除,其中可以为特定元素覆盖流程的导入模式。这对于更改的信息很有用,在此情况下,单个导入过程可以创建,更新和删除对象。
生产提要
我们建议生产提要仅包含对先前提要的更改。这些称为增量供稿。它们较小,可以存档,可以更快地导入,并且更易于排除故障。但是,某些架构的元素会覆盖全局导入模式,并且始终使用替换模式。这些元素不能包含在增量Feed中,因为它们要求在每次导入中都包含完整的对象集。
列表类型元素
XML文件中列表类型元素的标准行为是替换整个列表,而不管导入方式如何。如果导入文件中未包含list元素:
- 在合并模式下,列表保留。
- 在替换模式下,列表被删除。
导入/导出过程
这是一个典型的导入过程。
- 使用WebDAV,SFTP或HTTPS将XML文件从后端系统传输到B2C Commerce实例。
- 对于登台或生产实例,请建立用于文件传输的安全连接。沙箱不需要它。
- 使用业务管理器将XML文件导入实例,或创建自定义控制器。B2C Commerce为大多数标准导入提供了导入管道,这些导入管道可以处理大型数据集,快速可靠,有效地使用系统资源。我们建议在必须将业务对象加载到B2C Commerce中时使用它们,而不是对B2C Commerce脚本或管道使用自定义逻辑。
这是典型的导出过程。
- 使用模式将数据库对象导出到XML文件。通过业务管理器或通过创建自定义控制器手动执行此操作。您可以对大多数出口使用B2C Commerce出口管道。在某些情况下,它们在对象方面比Business Manager更细化。您必须创建一个控制器以自动执行数据导出。
- 将文件从实例传输到商家后端系统。
- 如果需要满足PCI-DSS(安全性)要求以传输数据或满足后端系统要求,请配置安全连接。
实例特定的详细信息
根据实例类型,您将以不同的方式使用B2C Commerce导入/导出。我们分别探索每种实例类型。
沙盒
开发网站时,每个开发人员都使用一个单独的沙箱。您可以创建一个初始沙箱,用作其他沙箱的模板,这样站点配置只需完成一次。
您首先将数据文件从本地计算机传输到实例。然后,使用业务管理器将数据导入实例数据库。当第一个沙箱具有开发团队所需的配置和数据时,请使用“网站导出”导出网站内容和配置,然后将其下载到开发人员计算机。
在开发过程中,您可以将新产品和价格Feed直接导入每个沙箱。每个沙箱使用相同的导入文件,但必须独立地导入它们。您还可以创建自定义控制器以自动执行数据导入,通常需要执行此步骤以支持登台和生产系统的自动数据导入。然后,另一个沙箱可以使用“站点导入”来获取配置和内容。
注意
某些对象只能使用网站导入/导出来导入。在执行此操作之前,请确保这些对象存在。如果导出网站的用户或权限设置,则将覆盖要导入到其上的沙箱上的数据信息。
分期和生产
主实例组(PIG)包含开发,登台和生产实例。使用自定义控制器通过安全连接将数据从后端系统移动到这些实例类型之一。对于不频繁的提要,仅将它们导入到暂存中,然后将其复制到生产中。这样可以保护您的生产实例免受导入数据问题的影响。
某些提要可能需要在Business Manager中进行其他增强。例如,如果您要手动添加仅网络描述或其他信息。需要增强的Feed在登台中进行更新,然后将数据复制到生产中。
暂存和复制必须经常更改的数据是不切实际的,因此频繁的提要直接导入到生产中。频繁的提要同时导入到暂存和生产中,因此实例保持同步。请记住,您的登台实例应始终反映生产情况。
使用控制器可增加导入/导出的灵活性。将业务逻辑添加到控制器中,以将值添加到导入文件中,自动更新搜索索引,或存档导入文件。从生产中导出数据时,可以将业务逻辑添加到控制器中,以更改导出文件的格式,添加值或进行其他处理。
发展历程
开发实例是生产实例的测试环境。您可以执行从站点到开发实例的初始站点导入/导出来进行设置。之后,使用数据复制来更新该实例上的数据和代码。