Salesforce B2C Commerce按需沙盒 – 配置按需沙箱

学习目标

完成本单元后,您将能够:

  • 列出按需沙箱使用的三种工具。
  • 描述分配帐户管理员角色时按需沙箱管理员和常规开发人员之间的区别。
  • 说明API客户端ID的用途。
  • 为按需沙箱用户逐项列出“帐户管理器”配置步骤。

介绍

Cloud Kicks管理层购买了一定数量的沙箱信用额的沙箱许可证。当他们下订单时,会向按需沙箱系统发送自动配置消息以启用领域。

要开始使用这些沙箱,Linda Rosenberg需要在帐户管理器(用于创建,维护和禁用Salesforce B2C Commerce网站的在线工具)中配置用户角色和API客户端ID。

她负责按需沙盒(从cloudkicks-1到cloudkicks-12编号)的使用,并使用这样的URL来访问它们上的业务管理器。

https://cloudkicks-12.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.store/Sites-Site

业务管理器是用于配置和管理B2C Commerce店面的Salesforce B2C Commerce联机工具。

当Linda(或授权的开发人员)发出API调用以创建按需沙箱时,跟踪信用的系统将确保Cloud Kicks许可证具有足够的信用。

商家购买积分后,Org62为领域设置按需沙箱。 管理员使用帐户管理器来配置用户和API客户端ID。

针对特定领域启用了按需沙箱。一旦Salesforce启用了领域,具有正确凭据的Account Manager用户就可以使用API​​并发出命令来创建,停止,启动和删除沙箱。他们还可以查看整个领域的沙箱使用情况。

Linda的工作是确保合适的人员拥有访问所需内容的正确凭据。

登录客户经理

帐户管理器中的每个帐户都分配有各种角色。某些角色(例如Linda的角色)需要两步授权才能登录帐户。如果您的站点需要两因素身份验证,则需要安装了Salesforce Authenticator应用程序的移动设备。您必须将移动设备与该帐户配对。有关详细信息,请参见 信息中心

在此模块中,我们假设您是B2C Commerce管理员,具有执行这些任务的适当权限。如果您不是B2C Commerce管理员,那就可以了。继续阅读以了解您的管理员如何在登台实例中执行这些步骤。不要尝试在您的Trailhead游乐场中遵循我们的步骤,因为Trailhead游乐场中没有B2C Commerce。如果您拥有B2C Commerce的暂存实例,则可以在实例中尝试这些步骤。

如果没有暂存实例,请询问您的经理是否有可以使用的实例。

Linda登录帐户管理器的方式如下:

  1. 在网络浏览器中,转到 https://account.demandware.com/。(您必须具有客户经理凭据)。客户经理登录对话框
  2. 输入密码。
  3. 单击登录。如果您需要双重授权,并且已经与移动设备配对,则帐户管理器系统会向您的配对设备发送授权请求。
  4. 如果授权请求发送到您的移动设备,请使用Salesforce Authenticator应用程序确认该请求。

创建用户帐户

Linda配置的用户权限包括对Open Commerce API(OCAPI)和WebDAV的访问。她还可以指定生存时间(TTL)值,以在指定的时间间隔后自动删除沙箱。对于希望使用持续集成和持续交付(CI / CD)开发过程的开发人员来说,这很方便。在本模块的后面,我们将详细讨论这些内容。

这是琳达创建帐户所采取的步骤。

  1. 在客户管理器中,点击用户
  2. 单击添加用户在帐户管理器中添加用户。
  3. 输入电子邮件地址,然后单击添加
    • 如果客户经理找到具有输入电子邮件地址的帐户,则将该用户添加到您的组织中。
    • 如果“帐户管理器”找不到帐户,则会打开“添加用户”页面,提示您提供更多信息。
  4. 在“添加用户”页面上,输入:
    • 电子邮件地址(自动填写)
    • 名字
  5. 输入或选择以下可选值:
    • 公司电话
    • 移动电话
    • 家庭电话
    • 首选语言
  6. 在“组织”部分中,单击“添加”以打开“分配组织”窗口。
    • 搜索组织,并检查帐户所属的每个组织。(每个帐户必须属于一个或多个组织。)
    • 单击添加将组织应用于用户。
  7. 在“主要组织”列表中,选择用户的主要组织。只有主要组织的帐户管理员可以管理用户的帐户。

现在,Linda将角色分配给按需沙箱开发人员用户。

配置用户角色

对于每个角色,她配置一个范围过滤器并将其设置为自己领域中的“所有沙箱”。

最重要的角色是Sandbox API用户。分配给该角色的用户可以创建按需沙箱并消费积分。因为此角色使他们与信贷消费(以及按需使用的沙箱的成本)直接相关,所以Linda限制了拥有信贷的人。被赋予此角色的用户被视为按需沙箱管理员。

Linda将所有其他角色分配给所有开发人员,以便他们可以完全访问按需沙箱功能。

这是她采取的步骤。

  1. 登录到帐户管理器。
  2. 导航到“用户”区域,然后选择要将角色分配给的用户。
  3. 在“角色”部分中,单击“添加”客户经理分配角色。(您的规则列表可以不同。)
  4. 对于按需沙箱管理员:
    • 搜索Sandbox API用户角色,然后点击添加
    • 单击过滤器图标 客户经理过滤器图标
    • 配置角色范围(访问特定沙箱或PIG实例所需)。
    • 在“添加实例过滤器”选项卡上,选择一个组织。
    • 输入您希望用户有权访问的实例的名称(例如,“所有”沙箱)。
    • 选择实例。
    • 点击添加
    • 返回到用户详细信息页面,然后单击保存
  5. 对于所有其他开发人员:
    • 搜索业务管理器管理员和LogCenter用户角色,然后单击添加。
    • 单击客户经理过滤器图标每个角色的过滤器图标 :Business Manager管理员LogCenter用户
    • 选择组织,领域和实例组(例如,All sandboxes)。
    • 点击添加
    • 返回到用户详细信息页面,然后单击保存

客户经理将消息发送到用户的电子邮件地址,用户可以单击该消息来激活其帐户。用户的电子邮件地址立即显示在用户的“帐户管理器”列表中。

Vpods不支持按需沙箱。vpod上的Account Manager没有沙盒API用户角色。

添加API客户端ID

Linda使用帐户管理器来创建API客户端ID。当她和管理员开发人员通过脚本自动执行API调用时,需要API客户端ID密码进行身份验证。他们还需要一个API客户端ID才能访问按需沙箱API。Open Commerce API(OCAPI)要求每个客户端都有一个客户端ID。您必须将此ID附加到用于与OCAPI交互的URL。

具有帐户管理员或API管理员角色的用户可以管理API客户端ID(也称为API密钥)。

要创建自动化流程(例如,构建服务器集成),您需要一个API客户端ID和一个用于身份验证的API密钥。

这是Linda添加API客户端ID的步骤。

  1. 打开客户经理。
  2. 单击API客户端
  3. 点击添加API客户端
  4. 输入客户端(用户)的显示名称。
    1. 要在交互模式下使用身份验证,请将重定向URI设置为http:// localhost:8080。
    2. 要管理沙箱,请将“默认范围”设置为“角色”,“ tenantFilter”,“配置文件”,每个都在不同的行上。
  5. 点击添加。客户经理创建一个客户ID,以确保您可以访问提供的显示名称。
  6. 再次单击添加
  7. 查看客户端ID列表,以验证您是否为刚输入的显示名称创建了客户端ID。默认情况下启用客户端ID。

下一步

在本单元中,您学习了如何登录到帐户管理器以创建用户帐户和分配角色。您还学习了如何在按需沙箱上访问Business Manager。接下来,您将学习如何启动,使用和监视按需沙箱。

Salesforce B2C Commerce按需沙盒 – 探索按需沙箱

学习目标

完成本单元后,您将能够:

  • 列出按需沙箱与基于pod的沙箱的三种不同方式。
  • 说明商家如何消费积分。
  • 详细点播沙箱管理员任务。
  • 描述管理员可以使用按需沙箱执行的三件事。

介绍

Linda Rosenberg是高端运动鞋和服装公司Cloud Kicks的管理员。她最近掌握了许多Salesforce B2C Commerce技能,以帮助管理Cloud Kicks店面。她本周想学习如何配置按需沙箱。

借助Salesforce B2C Commerce点播沙箱,她的公司可以:

  • 快速创新: 通过更快地开发和交付新创新来领先于业务需求。
  • 提高开发人员的生产力:在数分钟内启动沙箱,以便开发人员可以以干净,可预测的方式进行构建。
  • 通过持续的集成和交付更快地移动:通过减少构建,测试,部署和集成之间的时间来更有效地部署新代码。

琳达·罗森伯格(Linda Rosenberg),Cloud Kicks管理员

琳达很高兴她可以使用API​​调用获取基于公共云的沙箱,并控制其中有多少处于活动状态以及持续多长时间。随着开发人员需求的变化,能够扩展和收缩使用量使她对资源消耗的控制量达到惊人的水平。

尽管她每个域最多可以配置47个标准(基于POD的)沙箱(类似于Salesforce Org),但在配置站点时仅自动包括了五个。这足以进行维护开发周期。但是对于大型项目,她需要更多。支付额外的标准沙箱意味着大多数时间它们处于休眠状态,浪费资源。

她和她的开发人员宁愿拥有比需要更多的沙箱,然后再拨回沙箱以满足需求。这对于持续集成和持续交付(CI / CD)开发过程特别有用,在这些过程中,他们需要在完成工作后处置环境。

这就是按需沙箱的出现。

那么按需沙箱呢?

按需沙箱可帮助开发人员更快地开始编写代码,并简化功能要求的市场推广。

它们类似于POD沙箱,但具有这些附加功能。

  • 它们驻留在公共云中。
  • 它们集成在客户经理角色和权限处理中。帐户管理器是基于浏览器的B2C Commerce工具,管理员可以使用该工具创建,维护和禁用B2C Commerce帐户。
  • 它们通过API或基于社区的命令行工具(SFCC-CI)进行自助服务。
  • 创建它们时,可以将Open Commerce API(OCAPI)和WebDAV设置用作参数。
  • 您可以定义生存时间(TTL),以确保在指定时间后清除它们。

按需沙箱使Linda的生活变得更加轻松。这就是她可以做的。

  • 在数分钟内获得一个沙箱:管理层购买了按需沙箱信用后,使用API​​调用或命令行来获取新的沙箱需要数分钟。
  • 根据需要创建任意数量的沙箱: 适用于小型或大型项目。
  • 在持续集成和连续交付(CI / CD)开发过程中使用沙箱按需定义沙箱是短暂的。它们经过精心设计,因此用户可以获取,使用和丢弃它们。
  • 根据需要扩展其用途: Linda可以在需要时增加其沙箱使用率,而在不需要时可以将其回滚。
  • 控制成本: Linda的管理层喜欢他们只为使用的沙箱付款的方式。
  • 走向国际:北美,欧洲,中东和非洲以及亚太地区(日本)都可以使用此功能。

学分如何运作

琳达的管理层通过其Salesforce客户经理(AE)订购按需沙箱。按需沙箱基于使用情况,因此像Cloud Kicks这样的商人可以购买积分。目前,合作伙伴只能在商户按需沙箱上获得积分。

使用此模型,Linda可以使几个沙箱长时间运行,或者为短期项目创建多个沙箱。她可以使用积分消费正常运行时间或停机时间。删除的沙箱根本不会消耗任何积分。

此图说明了她和她的管理层如何随时间跟踪他们的消费情况。

跟踪一段时间内的信贷消费。

这就是信用的运作方式。

  • 创建: Linda创建或启动沙箱时,沙箱每分钟消耗1功劳的正常运行时间。少于一分钟算作分钟。
  • 停止:当她停止沙箱(或某个流程将其停止)时,它消耗的停机时间为每分钟0.3个积分。少于一分钟算作分钟。
  • 删除:当她删除沙箱(或进程将其删除)时,它将停止消耗积分。

琳达的管理人员请她和开发人员确定他们需要多少学分。Salesforce提供的 使用率计算器考虑了开发人员(包括合作伙伴开发人员)的数量,他们计划每天运行的CI流程的数量以及合同中的周数。这不是一个确切的数字,但是可以让他们很好地了解他们需要多少学分。她使用自己的工作表副本来监视团队的使用情况并适当调整信用额度,并使用REST API跟踪使用情况数据。我们将在以后的单元中解决这个问题。

要复制使用量计算器,请打开计算器,然后单击文件>进行复制

琳达(Linda)和她的团队对使用沙箱的方式拥有完全控制权。他们可以使用信用额度在较长时间内运行几个沙箱,也可以在短期内运行多个沙箱。她的管理层可以购买单个SKU来获得信用额度(50,000),也可以购买一个单独的环境。满足有关业务,项目和开发人员的要求。

谁做了什么?

Cloud Kicks拥有一支积极进取且勤奋的团队,涉及按需沙箱,其中包括来自采购,管理和开发的参与者。

按需沙箱涉及购买,管理和开发。

这就是他们的工作。

队员 行动
1个 购买者
  • 确定预算,合同和组织要求。
  • 查看法律条款和协议,并确定信贷购买需求。
  • 与Salesforce客户经理一起在Org62中下订单。
  • 从客户经理那里获取站点的领域ID。
  • 完成购买,然后自动调用沙箱系统的API启用该领域。
2 管理员
  • 获得新的客户经理角色。
  • 确认用户符合要求。
  • 通过Sandbox API或SFCC-CI工具启动所需的沙箱。
  • 管理沙箱使用率和正常运行时间。
  • 将沙箱访问信息转移给开发人员。
3 开发者
  • 访问沙盒以进行与开发相关的活动。

不要忘记店面代码和数据

新的按需沙箱不包含店面数据。这意味着Linda必须导入并上传它。您不能将代码和数据直接从基于POD的沙箱迁移到按需沙箱,但是可以从POD沙箱中导出数据和代码,然后使用按需沙箱API将数据和代码导入到按需沙箱。

下一步

在本单元中,您探索了B2C Commerce按需沙箱与基于POD的沙箱之间的区别,并学习了如何使用按需版本改进开发流程。您还了解了商人如何消费积分以及如何在CI / CD流程中使用按需沙箱。

接下来,您将学习如何获取和使用按需沙箱。

Salesforce B2C Commerce预定作业 – 从工作失败中恢复

学习目标

完成本单元后,您将能够:

  • 列出可用于检测作业问题的资源。
  • 列出常规问题类型。
  • 说明如何研究电子邮件通知错误。
  • 说明纠正生产实例上的工作问题的最佳方法。

介绍

Cloud Kicks的管理员Linda Rosenberg了解到,最好在运行作业时主动将其配置为自动故障排除。当工作开始失败时,该退后一步并收集数据了,这样她就可以快速了解发生了什么。

一切顺利,一切都取决于她!

检测工作问题

主动的方法意味着她将所有作业配置为在运行时间超过指定时间时向管理员发送电子邮件。这消除了意外的因素。

有时,作业存在Salesforce B2C Commerce在日志中记录但实际上并未停止该作业的问题。如果这些错误持续存在并且很严重,她可以将处理添加到其作业管道中以检测并停止该作业。

她了解到,定期检查日志以识别问题(长期或其他问题)是一种好习惯。

电子邮件通知

Linda可以通过在单个计划或作业配置中设置值来配置电子邮件通知。为了简单起见,她对所有电子邮件通知使用相同的电子邮件模板。B2C Commerce以标准文本文件发送通知,包括:

  • 发件人地址
  • 列出
  • 学科
  • 主体

如果未将邮件服务器配置为发送错误通知,则可以查看日志文件。B2C Commerce在系统错误日志和syslog中记录错误。

工作问题

如果作业处于“正在运行”状态并且已获得至少一个锁,则Linda需要释放锁,然后她才能再次运行该作业。要解除锁定,她将使用Control Center停止并重新启动实例。她必须具有适当的凭据才能访问控制中心。

网络问题

如果作业因实例故障而终止,或者作业在完成过程中终止了一部分,则数据可能是更新数据和旧数据的混合。她应该再做这份工作。

资料错误

为了解决数据错误,她尝试以下操作。

恢复方法 描述
从另一个实例复制数据 如果在导入到生产中时遇到问题,并且登台具有可以回滚的正确数据,则这是最有用的。
导入后端系统产生的新提要 这是最常用的恢复方法。通常,您必须在后端系统中修复数据并生成新的提要。
使用导入提要档案中的数据 如果后端系统在生成提要时出现问题,这将非常有用。为了使这些数据可用,您必须具有一个归档提要和清理旧的归档提要的系统。
使用来自常规出口的数据 这对于生产系统上的数据(例如产品可用性)或直接导入生产中的数据(例如价格表)最有用。为了使这些数据可用,您必须创建一个导出所需数据的作业。

这对于仅存在于Business Manager中而不存在于后端系统中的数据(例如特定于Web的属性或URL属性)也很有用。

生产实例

在大多数情况下,当Linda将数据传输到生产实例时,她从登台实例执行数据复制。但是,对于频繁导入的定价,库存或其他类型的数据,她使用作业将数据直接从外部来源转移到生产中。与分段一样,Linda的工作可能会中断,从而导致生产实例上的数据混合。

存档最佳做法

由于Linda不能自动回滚受工作问题影响的生产实例,因此她总是创建其现有站点的存档,如果作业失败,可以将其回滚。

总结一下

在这个部门中,Linda学习了如何在各种情况下解决作业错误。她还了解了归档过程和定期(频繁)错误日志检查的重要性。

现在该测试您的知识并获得一个崭新的徽章。

Salesforce B2C Commerce预定作业 – 创建和配置作业

学习目标

完成本单元后,您将能够:

  • 列出可以使用“作业”模块执行的三个任务。
  • 创建工作。
  • 将资源分配给作业。
  • 将作业步骤添加到一个或多个流程。
  • 创建一个全局参数。

介绍

既然Linda能够理解工作并了解系统和自定义工作步骤,那么现在该她创建和配置工作了。她需要访问业务经理工作模块才能执行此操作。通过“作业”模块,她可以创建和安排作业,为作业失败设置电子邮件通知,以及使用作业资源来防止冲突。

要访问业务管理器,您必须具有B2C Commerce实施。在此模块中,我们假设您是B2C Commerce管理员,具有执行这些任务的适当权限。如果您不是B2C Commerce管理员,那就可以了。继续阅读以了解您的管理员如何在登台实例中执行这些步骤。不要尝试在您的Trailhead游乐场中遵循我们的步骤。Trailhead Playground中不提供B2C Commerce。如果您拥有B2C Commerce的暂存实例,则可以在实例中尝试这些步骤。如果没有暂存实例,请询问您的经理是否有可以使用的实例。

创建工作

这是Linda如何创建作业以导入目录。

  1. 打开业务经理。
  2. 选择管理>操作>作业
  3. 单击新建作业(1)。业务经理职位页面
  4. 输入cloudkicks-catalog-data作为ID(1),输入Cloud Kicks的Catalog数据作为Description(2)。
  5. 忽略优先级功能。目前不支持。
  6. 单击创建(3)。业务经理职位新职位页面
  7. 单击计划和历史记录选项卡。
  8. 选择启用以按计划运行作业。如果未启用该作业,您仍然可以手动触发它。
  9. 选择一次以触​​发作业运行一次,或选择重复间隔
  10. 对于要定期运行的作业,请使用日历图标选择过去的日期。如果您不计划过去的日期,则必须等待为作业指定的日期。您还可以选择一周中的一天,一个时间,一个间隔以及该作业应运行的次数。

锁定资源

Linda可以锁定资源,以防止其他用户或作业在其上操作该资源时对其进行更改。例如,在更新目录时,她不希望其他工作或用户更新或更改目录,类别或产品。这是她锁定的方式。

  1. 单击资源选项卡(1)。
  2. 单击选择(2)。
  3. 选择系统资源(3)。
  4. 将作业更改或更新的对象添加为资源(例如,订单)。
  5. 单击选择(4)。作业资源页面

将作业步骤添加到流

琳达想增加工作步骤。

  1. 在新作业中,单击“作业步骤”选项卡。空流已经建立。第一个流程在“作业步骤”页面上以灰色矩形(1)表示。具有一个工作流程的“作业步骤”选项卡
  2. 单击配置步骤以在流程中创建新步骤。
  3. 在“选择和配置”步骤窗格中,选择要添加到流程中的系统或自定义作业步骤。琳达选择ImportCatalog
  4. 指定作业步骤参数。每个作业步骤都有其自己的唯一参数。将鼠标悬停在参数名称上可获得有关该参数的更多信息。这是示例中ImportCatalog作业步骤的参数。
    1. 输入唯一的步骤ID。
    2. 添加描述。这在工作流和作业上可见。
    3. 指定工作文件夹。这包含您要相对于IMPEX / src导入的目录文件。如果未定义此值,则B2C Commerce使用IMPEX / src作为工作文件夹。
    4. 输入FileNamePattern。这是您要导入的文件的名称。使用正则表达式(regex)指定多个文件。如果未定义此值,则Salesforce B2C Commerce会导入工作文件夹中的所有文件。
    5. 指定NoFilesFoundHandling,如果B2C Commerce没有找到要导入的任何文件会发生什么。
    6. 指定ImportFailedHandling,以防导入失败。
    7. 指定AfterImportFileHandling,以了解导入后文件的后果。
    8. 指定ArchiveFolder。如果将其设置为“存档”或“存档压缩”,则此设置定义B2C Commerce相对于IMPEX目录存储文件的位置。如果未定义,则B2C Commerce会将文件存档在IMPEX /存档中。
    9. 选择导入模式:
      • 删除: 删除对象。
      • 合并: 创建不存在的对象,然后进行更新。
      • 替换: 使用提供的数据重新创建对象。
      • 更新: 更新现有对象。
    10. 如果希望B2C Commerce失败重新启动作业,请选择“始终在重新启动执行”。即使B2C Commerce在重新启动之前完成了作业,此步骤也应始终包含在执行中。
    11. 指定错误处理,以了解系统应如何应对作业错误。
  5. 对于范围,将值保留为默认值Organization。ImportCatalog作业步骤必须在组织范围内运行。

添加新流程

琳达(Linda)创建工作时,已经为她配置了一个流程。她可以将所有工作步骤添加到该流程中。她还可以创建多达四个同级流程,Business Manager在“作业步骤”选项卡上并排表示。她可以将同级流配置为顺序运行或并行运行。

但是,正如您先前所了解的,如果没有足够的资源来执行并行执行,或者步骤类型不支持并行执行,则B2C Commerce会顺序执行同级流程。

下图显示了“作业”选项卡上的流程选项。

  1. 添加同级流程。
  2. 在同级流的顺序处理和并行处理之间切换。
  3. 添加一个新的顺序流。作业步骤选项卡上的流程选项

配置故障排除设置

Linda希望配置故障排除设置以帮助隔离问题。她采取了这些步骤。

  1. 单击“失败处理”选项卡,然后选择失败规则。如果作业步骤在发生错误时使用错误处理并将错误处理操作指定为STOP,则B2C Commerce会调用该规则。
  2. 如果您希望收到有关作业状态的通知,请单击“通知”选项卡。
    1. 选择启用
    2. 选择您要接收通知的事件。
    3. 输入所需的电子邮件信息。
    4. 在“长时间运行时检测”下选择“启用”,然后输入运行时阈值。

手动运行作业

有时Linda收到一项重要/紧急工作的请求,或者在进行故障排除时需要手动运行该工作。这是她的工作。

  1. 打开业务经理。
  2. 选择管理>操作>作业
  3. 选择您要运行的作业。
  4. 单击立即运行
  5. 检查页面底部的“历史记录”部分,以查看作业是否存在错误或问题。
  6. 您也可以选择管理>操作>作业历史记录以监视作业状态。

创建作业参数

Linda可以创建一个作业参数以用于不同的作业步骤。例如,她可以为ReplicationProcessID创建一个参数并将其设置为特定复制过程的ID。她可以在不同的工作步骤中使用该参数。如果她需要使用其他复制过程,则可以更改参数的值,然后B2C Commerce将更新所有包含该参数的步骤。

配置作业参数后,只能将其重用于以与原始参数完全相同的方式定义的步骤参数。

例子:

  • Linda为需要布尔值true / false的step参数创建一个job参数。她不能将其用于需要字符串的step参数。
  • 两个步骤都有一个带有模式约束* .xml的字符串参数FileName。她可以为两个步骤定义一个作业参数。
  • 第一步具有带模式约束.xml的字符串参数FileName,另一步具有带模式约束.txt的字符串参数FileName。她无法定义要在两个步骤中使用的作业参数。

如果要使用相同的job参数设置自定义作业步骤,则step参数在steptypes.json文件中必须具有相同的类型定义。换句话说,必须完全定义参数的所有属性。例如,Linda不能使用相同的job参数来设置以下两个自定义步骤参数,因为MyParameter1的@type属性为“ long”,而MyParameter2的@type属性为“ double”。

{
 "@name":"MyParameter1",
 "@type":"long",
 "@required":"false",
 "description":"An optional long parameter. The default value is 10 when not defined.",
 "default-value":"10"
},
 "@name":"MyParameter2",
 "@type":"double",
 "@required":"true",
 "@trim":"true",
 "description":"A required double parameter were the raw
  value is trimmed, value must be between -10 and +10.",
 "min-value":"-10",
 "Max-value":"10"
}, 

创建作业参数

琳达想创建一个工作参数。这是她的工作。

  1. 创建一个作业步骤或选择一个现有的步骤。
  2. 单击您要为其创建参数的字段。
  3. 单击作业参数
  4. 单击添加作业参数
  5. 输入参数的唯一名称。
  6. 输入参数的值。
  7. 单击保存。
  8. 点击分配
  9. 要在另一个作业步骤中使用参数:
    1. 单击您要使用参数的字段。
    2. 单击作业参数
    3. 选择要使用的参数。
    4. 点击分配

修改作业参数

修改作业参数:

  1. 在“作业步骤”选项卡上选择“作业参数”。
  2. 选择要更改的参数,然后输入新值。
  3. 点击保存

下一步

在本单元中,Linda学习了如何计划,创建和配置作业。接下来,她学习如何从工作失败中恢复。

Salesforce B2C Commerce预定作业 – 创建自定义作业步骤

学习目标

完成本单元后,您将能够:

  • 列出创建自定义作业所需采取的步骤。
  • 描述面向任务的脚本模块和面向块的脚本模块之间的区别。
  • 解释一下steptypes.json文件是什么。

介绍

Cloud Kicks的管理员Linda Rosenberg正在创建工作,并且找不到能完全满足她要求的系统步骤。她希望将数据直接从外部产品信息(PIM)系统导入生产实例。她需要自定义代码来执行此操作,因为她想导入目录数据,对其进行处理,然后将其保存在Salesforce B2C Commerce数据库中。这不是一个简单的导入。为了创建此自定义作业,她要求Cloud Kicks开发人员Vijay Lahiri执行这些步骤。

  1. 创建墨盒。盒式磁带是一种用于打包和部署B2C Commerce店面程序代码和数据的机制。
  2. 编写面向任务或面向块的脚本以运行流程步骤,例如读取产品记录,对其进行处理,然后将其写入数据库。
  3. 创建一个steptypes.json文件来描述自定义步骤,然后将该文件放在盒带的根目录中。
  4. 上载墨盒,并将其包括在墨盒路径中。

维杰很乐意提供帮助。

Vijay Lahiri,开发人员

完成后,琳达:

  1. 将代码复制到生产中,并激活包括新盒带的代码版本。
  2. 使用业务管理器中的自定义步骤创建作业。

面向任务的脚本模块

这将需要一些技术知识,但是Linda需要了解以下以开发人员为中心的概念和流程,以便她可以与Vijay合作,监视工作成功并计划未来需求。

面向任务的CommonJS脚本模块公开了一个功能,该功能称为作业步骤的主要功能。当Linda使用Business Manager创建作业时,她设置参数,这些参数可用作模块功能和dw.job.JobStepExecution对象的可编写脚本的对象。dw.job.JobStepExecution对象允许以只读方式访问有关当前步骤执行和作业执行的信息。

要控制退出状态,该函数可以返回dw.system.Status API对象。如果脚本以未处理的异常结束,则默认情况下,退出状态代码为ERROR,错误状态标志为true。如果没有返回状态对象并且没有发生异常,则默认情况下状态码为OK。

有关通过FTP连接然后下载数据的面向任务的脚本模块的示例,请参见 信息中心。Vijay使用此示例创建脚本模块。

面向块的脚本模块

面向块的CommonJS脚本模块读取并处理指定大小的块中的项目。如果列表中包含的项目超过了B2C Commerce可以处理的更多块,则它将启动一个新的块。面向块的脚本可以包括任何系列的处理步骤,而不仅仅是数据库事务。

使用面向块的脚本的作业步骤可进行细粒度的进度监控,因为B2C Commerce每次完成块时都会更新写入的元素数。

Vijay和Linda看了一个块处理示例。

假设您将八个订单的列表导出到一个文件中,并且一个块的大小为四个订单。脚本按此顺序处理块。

  1. 读取订单1,流程订单1,读取订单2,流程订单2,读取订单3,流程订单3,读取订单4,流程订单4
  2. 写入顺序1,写入顺序2,写入顺序3,写入顺序4
  3. 读取Order5,流程Order5,读取Order6,流程Order6,读取Order7,流程Order7,读取Order8,流程Order8
  4. 写入顺序5,写入顺序6,写入顺序7,写入顺序8

该示例以4个订单的块显示读取,处理和写入

块脚本功能

Linda在示例中注意到了三个功能。面向块的脚本模块公开了用于读取,处理和写入的功能。

  • 读取功能: 返回一项或什么都不返回。
  • 流程功能: 让您转换项目并将业务逻辑应用于它们。
  • 写功能: 接收项目列表。

您还可以在面向块的脚本模块中使用这些可选功能。

  • total-count-function: 返回在块处理开始之前可用的项目总数。
  • before-step-function: 在块步骤开始之前执行。
  • before-chunk-function: 在块开始之前执行。
  • after-chunk-function: 在块完成后执行。
  • after-step-function: 在块步骤成功完成后执行。

有关面向块的脚本模块的示例,请参见 信息中心

步骤类型文件

Vijay创建自定义步骤时,他必须创建一个steptypes.json文件来描述该步骤的元数据。该文件指定实现该步骤的脚本模块,该步骤所需的参数以及该步骤返回的退出状态。steptypes.json文件需要非常特定的语法。例如,一部分steptypes.json文件使用以下名称/值对:

"@name":"MyParameter1",
"@type":"boolean",
"@required":"true",
"description":"A required boolean parameter."

有关语法的详细信息和steptypes.json文件的示例,请参见 信息中心

对无效的steptypes.json文件进行故障排除

B2C Commerce解析并加载steptypes.json文件:

  • 服务器启动时。
  • 更改活动代码版本时。
  • 在沙盒上,每次运行步骤。

如果steptypes.json文件由于缺少属性或其他问题而包含错误,则B2C Commerce会将错误记录在错误文件中,并且不会注册自定义步骤。然后,B2C Commerce将从其他墨盒的steptypes.json文件加载步骤。

无效的steptypes.json文件导致这样的消息出现在业务管理器中:

Invalid step [Step1]! Type with id [custom.MyCustomStep1] is unknown!

注意

如果Linda导入了无效作业,则她会在导入/导出日志中得到警告,并在Business Manager中得到错误消息。如果Vijay更改steptypes.json从而创建了一个无效的作业,它将不再执行,除了作业日志中的条目外,什么也不会发生。

使用steptypes.xml

Vijay可以使用XML定义而不是JSON来定义自定义步骤。他必须调用文件steptypes.xml,并将其放在根文件夹中的自定义盒式磁带中。只要更改了活动代码版本,B2C Commerce就会解析并重新加载它。只能有一个steptypes.json或steptypes.xml文件。

下一步

在本模块中,Linda学习了如何在Cloud Kicks开发人员Vijay的帮助下创建自定义作业步骤。接下来,她学习如何创建和配置作业。

Salesforce B2C Commerce预定作业 – 探索预配置的作业步骤

学习目标

完成本单元后,您将能够:

  • 列出一些预配置的系统作业步骤。
  • 描述如何配置复制过程以在作业步骤中使用。
  • 解释为什么您可能要使用IncludeStepsFromJob系统步骤。

介绍

琳达很快就知道,没有工作步骤就没有什么工作。作业步骤是作业工作发生的地方。他们让她控制工作的实际执行情况。有两种工作步骤:系统和自定义。当她找不到能满足其要求的系统步骤时,便要求开发人员创建一个自定义步骤。

在本单元中,她专注于系统作业步骤。

系统作业步骤

这些是琳达创建作业时可以使用的即用型系统作业步骤。

系统步骤 目的
CreateSiteMap 创建一个站点地图。
ExecutePipeline(不建议使用) 执行旧版管道。不建议使用此作业步骤。我们建议您使用作业步骤重新创建管道。
ExecutePreconfiguredCodeReplicationProcess 执行代码复制过程。
ExecutePreconfiguredDataReplicationProcesss 执行数据复制过程。
ExecuteScriptModule(不建议使用) 执行脚本模块导出的功能。不建议使用此作业步骤。我们建议您创建一个自定义作业步骤来执行脚本。
出口目录 导出目录数据。
出口订单 导出订单数据。
出口价格手册 导出价格数据。
出口税表 导出税收数据。
导入目录 导入目录数据。
进口价格手册 导入价格数据。
ImportSiteArchive 将站点存档文件导入当前实例。
IncludeStepsFromJob 包括其他工作的步骤。
搜索索引 重建或更新搜索索引。
SiteExport 导出站点数据。
UndoPreconfiguredCodeReplicationProcess 撤消已经完成的预配置代码复制过程。
UndoPreconfiguredDataReplicationProcess 撤消已经完成的预配置数据复制过程。
UpdateStorefrontURLs 更新对象的店面URL,例如类别,产品,文件夹和内容资产。

如果她在工作中使用系统步骤,则无需进行任何编码。但是,她确实必须输入参数。每个作业步骤都有其自己的参数,适用于Salesforce B2C Commerce在该步骤中执行的任务。例如,当她将步骤ImportSiteArchive添加到作业时,她必须为要导入的文件的名称指定一个参数。作业步骤通常同时具有必需参数和可选参数。

现在,她深入研究系统步骤的细节。

执行或撤消代码或数据复制过程

创建作业的常见原因是管理数据或代码复制过程。为此,B2C Commerce提供了这四个系统步骤。

  • ExecutePreconfiguredCodeReplicationProcess
  • ExecutePreconfiguredDataReplicationProcess
  • UndoPreconfiguredCodeReplicationProcess
  • UndoPreconfiguredDataReplicationProcess

要使用这些复制系统步骤,Linda必须首先使用业务管理器来创建代码或数据复制过程。当她为作业步骤配置代码或数据复制过程时,她会像这样设置复制过程参数。

  • 进程ID: 输入一个有意义的名称,因为这是您用来配置作业步骤的值。
  • 类型: 对于数据复制过程,选择传输和发布。对于代码复制过程,选择“代码传输和激活”
  • 激活: 选择作业步骤

注意

仅当先前的复制过程成功后,才能执行撤消复制过程。

包括其他工作的步骤

Linda可以使用IncludeStepsFromJob系统步骤包括其他作业的步骤。在将IncludeStepsFromJob系统步骤添加到作业时,她必须配置JobID参数以指定其他作业的ID。这使得创建标准步骤集变得容易,她可以在任何时候运行这些步骤。

下一步

在本单元中,Linda了解了系统作业步骤。她还深入研究了一些系统步骤类型。接下来,她学习如何创建自定义作业步骤。

Salesforce B2C Commerce预定作业 – 了解B2C商务职位

学习目标

完成本单元后,您将能够:

  • 列出创建工作的三个原因。
  • 描述使用新作业框架的优势。
  • 解释重要的工作概念:流程,范围,锁和时间表。
  • 说明什么使工作成功。

介绍

Linda Rosenberg是高端运动鞋公司Cloud Kicks的新管理员。Linda最近掌握了许多Salesforce B2C Commerce技能,可帮助她管理Cloud Kicks店面。她本周想学习如何建立将多个任务结合在一起的复杂管理流程。最好的工具是B2C Commerce职位功能,她可以在其中安排以下任务:

  • 自动化进出口
  • 复制数据或代码
  • 建立搜寻索引
  • 执行自定义任务

Linda Rosenberg,管理员

B2C Commerce作业是一组执行长时间运行的操作的步骤,例如下载导入文件或重建搜索索引。Linda创建作业时,可以使用不需要任何编码的即用型系统作业步骤。如果没有可用的系统步骤来执行她想要的操作,则可以要求开发人员编写自定义作业步骤。

这些是使用作业的一些典型原因。

数据 应用
顾客 将客户记录导出到外部系统,如Marketing Cloud。
晋升 将促销数据导出到外部客户服务软件系统,以便致电客户服务代表(CSR)的购物者获得与在线销售相同的促销。
目录 对税收系统执行特殊的目录导出,以便税收软件知道要计算正确税收的产品类型。例如,在美国,马萨诸塞州不以一定价格对服装征税,但对电子产品征税。
目录 对Google Merchant执行特殊的目录导出,以便Google搜索结果显示产品的当前店面价格。
订购 执行自定义订单导出。一些订单管理系统不了解B2C Commerce order.xml要求。提要文件必须是定制的,并必须进行传输。

让我们开始吧。

新工作框架

Linda注意到Business Manager中的某些作业功能被标记为已弃用。

  • 职位(已弃用)
  • 作业记录(不推荐使用)

这些选项适用于较旧的B2C Commerce工作框架,她仍然可以使用该框架来管理旧工作。但是,存在一个新的和改进的工作框架,她想将其用于新工作。这是新工作框架的一些优点。

  • 您可以使用不需要编码的即用型系统步骤。
  • 开发人员可以使用其首选的IDE来创建自定义作业步骤,以编写CommonJS模块。
  • 您可以使用流程来设置作业步骤的并行执行。
  • 您可以使用Open Commerce API(OCAPI)启动和监视作业。
  • 您可以在业务管理器中监视作业的进度。

听起来不错?琳达也这么认为!她想学习如何使用这个新的工作框架。

重要的工作理念

在规划和创造工作之前,琳达需要了解这些关键概念。

  • 工作流
  • 工作范围
  • 作业锁
  • 工作时间表

工作流程

作业流程控制B2C Commerce执行作业步骤的顺序。每个作业必须至少包含一个流程。每个流程必须至少包含一个工作步骤。

Linda可以配置顺序流,一个接一个地执行。在Business Manager用户界面中,顺序流占据页面(1)的宽度,并按所示顺序从上到下执行。

要访问业务管理器,您必须具有B2C Commerce实施。在此模块中,我们假设您是B2C Commerce管理员,具有执行这些任务的适当权限。如果您不是B2C Commerce管理员,那就可以了。阅读以了解您的管理员将如何在沙盒实例中执行这些步骤。不要尝试在您的Trailhead游乐场中遵循我们的步骤。Trailhead Playground中不提供B2C Commerce。如果您具有B2C Commerce的沙盒实例,则可以在实例中尝试这些步骤。如果您没有沙箱实例,请询问您的经理是否有可以使用的实例。

“作业步骤”页面,并按顺序调出流程

Linda还可以配置可并行执行的同级流程。业务管理器彼此相邻显示同级流程(1)。

“作业步骤”页面,其中列出了一组四个同级流程

只要系统资源可用,同级流将同时运行。如果并行执行不可行(例如,当多个并行步骤需要同时访问外部资源时),她可以将兄弟流配置为顺序执行。顺序同级流程从左到右执行。

如果没有足够的可用资源,即使B2C Commerce将其配置为并行运行,也会按顺序执行同级流程。另外,某些作业步骤不支持并行执行,因此即使Linda将包含这些步骤的流程配置为并行同级流程,也始终按顺序执行。例如,B2C Commerce总是顺序执行ExecutePipeline系统步骤,该步骤支持执行遗留管道以避免数据库冲突。

当您配置一个顺序流以使其可以在多个站点上运行时(使用范围设置,Linda接下来将进行探讨),只要有足够的系统资源来容纳并行执行,B2C Commerce就会为不同站点并行执行该流。

使用同级流和顺序流,Linda可以配置具有多个流并重新合并为单个流的作业。这是一个示例:同级并行流下载目录文件,然后依次导入目录文件,接着是另一组同级并行流下载价格文件,然后又是另一个顺序流导入价格文件。这项工作可以通过重新编制索引并复制到生产的顺序流程完成。

下图显示了Linda配置三个流时发生的情况。

完成两个顺序的并行流集,然后另一个顺序的流完成。

工作流程范围

Linda必须将每个流分配给一个范围。范围可以是整个组织,也可以是一个或多个站点。默认情况下,流程为组织执行。某些作业步骤仅在特定范围内有效。例如,索引重建需要站点级范围,并且不能在组织范围内运行。

工作锁

当琳达(Linda)设置工作时,她可以为其分配某些资源。在作业执行期间,B2C Commerce锁定了该资源,而她和其他用户在作业对其执行操作时无法对其进行修改。这样可以保持数据完整性并防止数据冲突。

工作时间表

Linda可以手动运行作业,也可以安排它们在特定时间和间隔自动运行。如果同一作业的先前执行仍在运行,则该作业不会开始,因此对于她来说,重要的是要在计划作业之前了解执行作业需要花费多长时间。她安排作业的时间也很重要,这样多个作业就不要试图同时获取同一对象的锁。

通常,她可以同时执行多达15个工作。

模式

B2C Commerce的工作成功是什么?简而言之,这意味着B2C Commerce可以毫无错误地执行该工作,并且数据可以准确地按预期的位置和方式进行最终处理-例如,完全重新编制索引并可以进行店面搜索。如果作业失败,则B2C Commerce可能只完成了一部分新数据传输,结果是旧数据和新数据的混合。那就是“坏数据”。

什么是工作成功和工作失败?

作业由于其他原因而失败。通常,您将作业用于海量数据或长时间运行的操作,这些操作可能由于网络或电源波动而失败。

注意

注意

B2C Commerce会自动为已禁用站点或正在删除的站点禁用作业;禁用的作业不会出现在作业历史记录中。B2C Commerce不在沙盒实例上执行计划。

下一步

在这个部门中,Linda学习了何时使用工作以及新工作框架的优势。她还学习了一些重要的工作概念,包括流程,锁,范围和时间表。另外,她了解了使工作成功的因素。接下来,她了解工作步骤。

Salesforce B2C商业复制 – 复制疑难解答

学习目标

完成本单元后,您将能够:

  • 列出复制可能遇到的三种类型的问题。
  • 列出对复制失败进行故障排除时可以采取的三个步骤。
  • 说明复制撤消的工作方式。
  • 列出有助于复制故障排除的日志类型。
  • 描述可以用来对挂起的复制进行故障排除的三种方法。

介绍

自从学习复制以来,Linda Rosenberg一直在为Cloud Kicks运行许多数据和代码复制过程。

她遇到了一些测试她的故障排除技能的问题。由于各种原因,她不得不撤消复制。她有一些失败和复制挂起。她还需要清除缓存的帮助。让我们看看她如何解决这些问题。

发生任何故障的第一步是查看复制状态。

  1. 打开业务经理。
  2. 选择管理>复制>数据(或代码)复制
  3. 查看复制过程及其状态的列表。

让我们逐步了解一下Linda的工作。

复制后问题

当Linda遇到数据复制问题时,她会在登台实例和目标实例上的复制日志中查看错误消息。包含“失败”或“ ORA-”的条目可以提供她的线索。

  1. 如果复制日志没有提供有用的数据,她将检查错误日志。
  2. 如果复制包括多个任务,那么她将通过运行带有和不带有每个任务的测试,尝试隔离导致问题的任务。
  3. 如果多个对象的复制失败,她将尝试复制单个对象以缩小原因。
  4. 如果计划的复制未运行,则她尝试手动运行它。

撤消复制

如果数据或代码无法正确传输,或者不完整或有错误(对于代码而言),则可以撤消操作。

撤消数据复制

Linda可以回滚最新的传输和发布或发布数据复制过程。这是如何做。

  1. 打开业务经理。
  2. 选择管理>复制>数据复制
  3. 选择要撤消的复制。
  4. 点击编辑
  5. 选择无效
  6. 选择手动激活类型。
  7. 单击下一步
  8. 选择撤消复制类型。
  9. 单击下一步,然后查看流程详细信息。
  10. 点击创建
  11. 在列表中找到该过程,然后单击“开始”

撤消代码复制

Linda可以回滚最新的传输和激活或激活代码复制过程。这是如何做。

  1. 打开业务经理。
  2. 选择管理>复制>代码复制
  3. 选择要撤消的复制。
  4. 点击编辑
  5. 选择手动激活类型。
  6. 单击下一步
  7. 选择撤消复制类型。
  8. 单击下一步,然后查看流程详细信息。
  9. 点击创建
  10. 在列表中找到该过程,然后单击“开始”

复制日志

Salesforce B2C Commerce在源系统和目标系统上都记录复制过程日志文件。这些与常规错误日志是分开的。它们存在于:https://instance_address/on/demandware.servlet/webdav/Sites/Logs/中,文件名如staging-blade_name-appserver-yyyymmdd.log

Linda监视登台实例上的状态。如果某个过程失败,则她检查暂存日志。一条日志可能包含几天的事件,因此她会查找复制过程开始时的日志。日志文件的时间戳类似于数据复制任务。无论实例类型如何,所有日志文件名都包含暂存。这是Linda查看日志的方式。

  1. 打开业务经理。
  2. 选择管理>站点开发>开发设置业务管理器日志文件链接
  3. 单击日志文件链接。
  4. 查找登台日志。

这是一个日志条目的示例。

[2007-01-15 21:17:12.848 GMT] ISH-CORE-2250: New replication task "1168895828901"
in domain "Sites-Site" successfully created.

查看日志文件时,请重点关注某些项目。

  • 滚动浏览日志文件,其中包含该过程的步骤,以查找错误。
  • 登台实例的最后一步是移交给目标服务器。登台日志应具有与此相似的一行。[2019-01-15 21:27:09.783 GMT]实时系统中的登台管道已成功调用。
  • 如果缺少成功消息,请查找与此类似的错误。ISH-CORE-2491:将uuid =’dC8KAANna1111EOTN9h9md4’的进程状态从“ StartingStagingProcess”设置为“ ErrorAcquiringEditingLocks”
  • 如果发生此登台错误,请登录控制中心,然后停止并重新启动实例。然后再次运行相同的复制。控制中心是B2C Commerce工具,可用于监视B2C Commerce实例的状态并采取适当的措施。如果登台实例日志没有错误,请查看目标实例上的登台日志。https:// [target_instance_name] /on/demandware.servlet/webdav/Sites/Logs
  • 目标实例暂存日志以这样的消息开头。2019-01-15 20:29:30.321 GMT]使用uuid = bcFvkiaalTMxM444667bVYFqBX复制分段过程[2007-01-15 20:29:32.347 GMT]启动StagingResources-Acquire @ Sites-Site
  • 根据您复制的数据,日志中包含一个用于数据库副本开始的条目。检查错误。
  • 复制后,请检查整个日志中是否有错误。如果该过程成功完成,则日志末尾将显示以下消息。[2019-01-15 21:31:17.434 GMT] ReplicationPublication过程已完成,状态为“ StagingProcessCompleted”。

修复挂起的复制

一些数据库事务,特别是涉及目录数据的数据库事务,可能需要一段时间才能完成。当数据复制在运行状态中的停留时间超出预期时,Linda会检查其是否挂起。这意味着复制不再运行,或者复制受限或没有进展。琳达必须找出它是否挂着以及为什么挂起,这样她才能成功运行它。

检查登台

她检查登台实例上的最新复制日志。这是如何做。

  1. 确认其中包含“成功调用实时系统中的登台管道”行。如果没有,那就有问题了。
  2. 检查它是否包含状态设置为ErrorAcquiringEditingLocks的条目。如果是这样,则可能尚未释放来自先前复制过程的资源锁,这可能会挂起复制。

检查目标

她检查目标实例上的最新复制日志并滚动到末尾。

  1. 刷新视图几次以查看是否要添加新条目。如果过一会儿没有新条目出现,则复制可能会挂起。
  2. 检查它是否包含状态设置为的条目ErrorAcquiringLivelocs。如果是这样,则可能尚未释放来自先前复制过程的资源锁,这可能会挂起复制。
  3. 如果最后一个日志条目是数据库操作,例如INSERT或ALTER INDEX,请检查以前的日志以查看该操作花费了多长时间以及下一个条目是什么。
  4. 如果最后一个日志条目以Rsync开头,则延迟可能是由于大量更改的静态内容文件引起的。即使文件的内容相同,也将包含已移动到其他文件夹的文件。如果Rsync卡住,请联系客户支持以检查其状态。
  5. 如果日志显示状态ErrorLiveStagingProcessKilled,则说明复制可能由于并发部署或实例重新启动而挂起。

同时检查

有时,她同时处理两个实例。

  1. 如果任一日志包含类似于资源繁忙的行,并且指定了NOWAIT进行获取,请与客户支持一起打开故障单并提供您尝试的故障排除步骤。
  2. 如果复制过程在目标实例上显示“已完成”,但在暂存实例上其状态仍在等待或进行中,则复制完成后暂存实例可能已关闭。重新启动登台实例,然后再次检查状态。
  3. 如果确定复制已挂起,请使用控制中心重新启动登台实例。通过验证暂挂实例上的状态为“失败”,确保挂起的复制已停止。停止后,重新运行复制。
  4. 如果复制再次挂起,请尝试重新启动目标实例和源实例,然后重新运行复制。重新启动目标实例将中断所有正在运行的作业,为所有店面请求返回错误,并清除所有缓存。仅在不得已时才重新启动生产实例。
  5. 如果复制仍然挂起,请打开客户支持票证并提供您尝试的故障排除步骤。

对缓存清除进行故障排除

当Linda在页面缓存方面遇到问题时,她会考虑这些技巧。

  • 关闭浏览器并清除本地缓存,以确保问题不是系统本地的,然后再在Business Manager中手动清除缓存。
  • 若要手动清除嵌入式CDN(生产和开发实例)上的缓存,请对“站点的整个页面缓存”单击“无效”。您无需清除静态缓存。
  • 如果看不到预期的变化,请寻找可能指示更具体问题的模式。例如,图像不刷新吗?如果是这样,则图像提供程序可能会出现问题。如果内容资产引起问题,请确保已部署它。

总结一下

在本单元中,Linda学习了如何解决搬迁问题。她学习了如何撤消复制,查看复制日志,处理挂起的复制以及对缓存清除进行故障排除。

本模块向您展示了如何运行B2C Commerce复制过程并对其进行故障排除。现在参加最后的测验并获得您的徽章!

Salesforce B2C商业复制 – 配置代码复制

学习目标

完成本单元后,您将能够:

  • 列出四种代码复制过程类型。
  • 描述如何将新的代码版本从沙箱传输到开发实例。
  • 列出代码复制激活方法。
  • 列出手动代码复制过程中的三个步骤。

介绍

Cloud Kicks的新管理员Linda Rosenberg了解到该网站的开发人员已准备好推出一些很棒的店面功能。开发人员已经将代码从沙盒实例上载到暂存中,并且质量检查测试进展顺利。现在轮到琳达了。通过代码复制,她可以将新的代码版本从登台实例转移到开发实例,然后再转移到生产实例,然后激活它。

Linda Rosenberg,管理员

代码复制与数据复制一样,具有源和目标。但是,数据复制处理的是数据对象之间的依赖性,这会使事情变得复杂。代码复制非常简单。复制代码版本时,Salesforce B2C Commerce在目标实例上为该版本分配与暂存源版本相同的名称。如果名称已经存在,则会在名称后附加一个时间戳和索引号。

例如,Cloud Kicks的新代码版本的名称为version-19b。目标实例上已经存在具有该名称的版本,因此B2C Commerce将该新版本命名为version-19b_01202019-1

工艺类型

像数据复制一样,代码复制是一个两步过程。

  1. B2C Commerce将代码版本从登台转移到目标实例。
  2. 它在目标实例上激活代码。

Linda可以将两个步骤作为一个复制过程运行,也可以分别运行。单独运行它们可以帮助她确定故障的任何来源(如果发生)。所有代码复制过程都在登台实例上运行,甚至代码激活和撤消也仅影响目标实例。

有四种类型的代码复制过程。

  • 代码传输:  B2C Commerce会将源实例上的选定代码版本传输到目标实例,但不会激活它。
  • 代码传输和激活:  B2C Commerce将源实例上的选定代码版本传输到目标实例,然后将其激活。
  • 代码激活: 只有成功完成代码传输过程后,此过程才可用。激活使传输的代码版本成为目标实例上的活动版本。如果新的代码版本已经处于活动状态,则什么也不会发生。如果目标实例上不存在该复制,复制将失败。
  • 撤消: 仅在成功进行代码传输和激活或代码激活复制过程之后,此过程才可用。它将目标实例上的活动代码版本还原为上一次代码复制过程之前的活动版本。如果要还原的版本不再处于活动状态,则不会发生任何事情。如果目标实例上不再存在它,或者以前的活动代码版本不再存在,则复制过程将失败。

激活方式

Linda可以指定她希望如何运行复制过程。她的选择是:

  • 手动: 该过程在她触发时运行。
  • 自动: 她安排流程运行的日期和时间。
  • 重复执行: 她安排流程运行时的重复执行时间:
  • 作业步骤: 该流程可作为作业的一部分运行。我们在Salesforce B2C Commerce Scheduled Jobs模块中谈论工作 。

创建过程

Linda希望尽快发布新代码,而且要花几个小时—这是执行此类任务的好时机。这是她创建可以手动触发的代码复制过程的方式。

  1. 打开业务经理。
  2. 选择管理>复制>代码复制业务经理代码复制
  3. 点击新建。(您必须在暂存实例上才能看到此按钮。)
  4. B2C Commerce创建一个流程ID,或者您可以输入所需的文本。
  5. 选择开发目标实例。
  6. 输入可选说明。这可以帮助您以后找到它。
  7. 对于激活类型,选择手动
  8. 选择一个通知电子邮件触发器,然后输入多个目标电子邮件地址,以逗号分隔。该电子邮件包含流程的开始和结束时间,目标系统,复制类型和复制任务。如果该过程失败,则电子邮件通知中将包含错误代码。周期性系列中的每个进程都会发送自己的通知。
  9. 指定这些事件发生的情况。
    • 流程结束: 无论流程成功还是失败,B2C Commerce都会向该地址发送电子邮件。如果挂起,则不会发送电子邮件。
    • 流程失败:如果流程失败,  B2C Commerce会向该地址发送一封电子邮件。如果该过程成功或挂起,则不会发送电子邮件。
  10. 单击下一步。
  11. 对于复制类型,选择代码传输和激活
  12. 单击下一步,然后查看流程详细信息。一旦创建了流程,就无法对其进行更改。
  13. 单击开始以创建过程并立即运行。

Linda和开发人员在开发实例上测试新代码。当看起来不错时,她会将相同的代码版本从登台实例复制到生产环境。现在,Cloud Kick的购物者可以使用令人敬畏的新功能!

下一步

在本单元中,Linda知道代码复制非常简单,并且只需要一个唯一的版本号。在开发人员将代码上传到登台实例之后,她将其从登台复制到开发再生产。她还了解了代码复制过程类型和激活方法。她进行了手动代码复制,将许多新功能推向了店面。

Salesforce B2C商业复制 – 配置代码复制

学习目标

完成本单元后,您将能够:

  • 列出四种代码复制过程类型。
  • 描述如何将新的代码版本从沙箱传输到开发实例。
  • 列出代码复制激活方法。
  • 列出手动代码复制过程中的三个步骤。

介绍

Cloud Kicks的新管理员Linda Rosenberg了解到该网站的开发人员已准备好推出一些很棒的店面功能。开发人员已经将代码从沙盒实例上载到暂存中,并且质量检查测试进展顺利。现在轮到琳达了。通过代码复制,她可以将新的代码版本从登台实例转移到开发实例,然后再转移到生产实例,然后激活它。

Linda Rosenberg,管理员

代码复制与数据复制一样,具有源和目标。但是,数据复制处理的是数据对象之间的依赖性,这会使事情变得复杂。代码复制非常简单。复制代码版本时,Salesforce B2C Commerce在目标实例上为该版本分配与暂存源版本相同的名称。如果名称已经存在,则会在名称后附加一个时间戳和索引号。

例如,Cloud Kicks的新代码版本的名称为version-19b。目标实例上已经存在具有该名称的版本,因此B2C Commerce将该新版本命名为version-19b_01202019-1

工艺类型

像数据复制一样,代码复制是一个两步过程。

  1. B2C Commerce将代码版本从登台转移到目标实例。
  2. 它在目标实例上激活代码。

Linda可以将两个步骤作为一个复制过程运行,也可以分别运行。单独运行它们可以帮助她确定故障的任何来源(如果发生)。所有代码复制过程都在登台实例上运行,甚至代码激活和撤消也仅影响目标实例。

有四种类型的代码复制过程。

  • 代码传输:  B2C Commerce会将源实例上的选定代码版本传输到目标实例,但不会激活它。
  • 代码传输和激活:  B2C Commerce将源实例上的选定代码版本传输到目标实例,然后将其激活。
  • 代码激活: 只有成功完成代码传输过程后,此过程才可用。激活使传输的代码版本成为目标实例上的活动版本。如果新的代码版本已经处于活动状态,则什么也不会发生。如果目标实例上不存在该复制,复制将失败。
  • 撤消: 仅在成功进行代码传输和激活或代码激活复制过程之后,此过程才可用。它将目标实例上的活动代码版本还原为上一次代码复制过程之前的活动版本。如果要还原的版本不再处于活动状态,则不会发生任何事情。如果目标实例上不再存在它,或者以前的活动代码版本不再存在,则复制过程将失败。

激活方式

Linda可以指定她希望如何运行复制过程。她的选择是:

  • 手动: 该过程在她触发时运行。
  • 自动: 她安排流程运行的日期和时间。
  • 重复执行: 她安排流程运行时的重复执行时间:
  • 作业步骤: 该流程可作为作业的一部分运行。我们在Salesforce B2C Commerce Scheduled Jobs模块中谈论工作 。

创建过程

Linda希望尽快发布新代码,而且要花几个小时—这是执行此类任务的好时机。这是她创建可以手动触发的代码复制过程的方式。

  1. 打开业务经理。
  2. 选择管理>复制>代码复制业务经理代码复制
  3. 点击新建。(您必须在暂存实例上才能看到此按钮。)
  4. B2C Commerce创建一个流程ID,或者您可以输入所需的文本。
  5. 选择开发目标实例。
  6. 输入可选说明。这可以帮助您以后找到它。
  7. 对于激活类型,选择手动
  8. 选择一个通知电子邮件触发器,然后输入多个目标电子邮件地址,以逗号分隔。该电子邮件包含流程的开始和结束时间,目标系统,复制类型和复制任务。如果该过程失败,则电子邮件通知中将包含错误代码。周期性系列中的每个进程都会发送自己的通知。
  9. 指定这些事件发生的情况。
    • 流程结束: 无论流程成功还是失败,B2C Commerce都会向该地址发送电子邮件。如果挂起,则不会发送电子邮件。
    • 流程失败:如果流程失败,  B2C Commerce会向该地址发送一封电子邮件。如果该过程成功或挂起,则不会发送电子邮件。
  10. 单击下一步。
  11. 对于复制类型,选择代码传输和激活
  12. 单击下一步,然后查看流程详细信息。一旦创建了流程,就无法对其进行更改。
  13. 单击开始以创建过程并立即运行。

Linda和开发人员在开发实例上测试新代码。当看起来不错时,她会将相同的代码版本从登台实例复制到生产环境。现在,Cloud Kick的购物者可以使用令人敬畏的新功能!

下一步

在本单元中,Linda知道代码复制非常简单,并且只需要一个唯一的版本号。在开发人员将代码上传到登台实例之后,她将其从登台复制到开发再生产。她还了解了代码复制过程类型和激活方法。她进行了手动代码复制,将许多新功能推向了店面。