Salesforce B2C Commerce按需沙盒 – 创建和监视按需沙箱

学习目标

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

  • 描述用于创建,启动和停止按需沙箱的工具。
  • 列出开发人员可能在自动化过程中包括的三个步骤。
  • 列出三种REST API操作。
  • 说明API客户端访问实例所需的业务管理器配置设置。

介绍

Cloud Kicks管理员Linda Rosenberg希望进行所有设置,以便她的开发人员可以正常工作。配置用户和客户端ID后,她想创建一个沙箱。首席开发人员之一Vijay Lahiri渴望创建一个新的过程来加快功能的推出。一旦他和开发团队启动并运行,Linda将监视信贷消耗并在出现问题时介入。

按需沙箱管理员和开发人员(例如Linda和Vijay)使用这些工具在其领域中创建,启动,停止,删除和管理沙箱。

  • REST API:在Swagger用户界面(UI)中公开
  • 基于社区的命令行界面(CLI):GitHub上的Commerce Cloud社区套件的一部分 。(您必须具有GitHub凭据)。

Linda希望首先探索REST API。然后她将帮助Vijay准备使用CLI。他想使用CLI创建类似于以下内容的自动化开发过程:

  1. 获取一个沙箱。
  2. 将代码部署到沙箱。
  3. 将测试数据部署到沙箱。
  4. 运行自动化测试。
  5. 删除沙箱。

REST API

Linda使用REST API创建按需沙箱。首先,她确保自己:

  • 可以访问已为按需沙箱启用的领域
  • 被分配沙盒API用户和业务经理管理员角色
  • 有客户编号

这是她访问REST API所采取的步骤。

  1. 打开浏览器。
  2. 输入此URL:https : //admin.us01.dx.commercecloud.salesforce.com/
  3. 单击授权以使用她使用帐户管理器配置的API客户端ID登录。REST API授权页面。
  4. 点击授权
  5. 输入客户端ID。
  6. 再次单击授权
  7. 单击关闭。授权锁定图标变为锁定。 REST API授权图标被锁定。

动作

REST API控制信用消耗。Linda使用它们来创建,启动,停止和删除沙箱。主页分为两部分,顶部是命令,底部是模型。

REST API命令。

她可以执行以下操作:

  • 对于通用API端点
  • 在领域级别
  • 在沙盒级别

她使用领域操作来获取有关其领域的信息或修补领域。

访问按需沙箱领域。

她可以使用多种沙箱操作,例如创建沙箱,运行沙箱操作,删除沙箱或显示沙箱使用情况。

按需沙箱操作。

Linda首先列出了沙箱,然后创建了一个新沙箱。拥有沙箱ID后,就可以管理各个沙箱。

楷模

琳达研究模型的详细信息,以便她可以理解其结果并正确指定请求。例如,这是StatusResponse模型。

REST API模型。

创建一个按需沙箱

现在Linda熟悉REST API,她创建了一个按需沙箱。这是她采取的步骤。

  1. 打开浏览器。
  2. 输入此URL:https : //admin.us01.dx.commercecloud.salesforce.com/
  3. 通过客户端ID授权。
  4. 单击/ sandboxes创建沙箱旁边的POST创建一个新的按需沙箱。
  5. 在<您的领域ID>和<您的客户ID>字段中输入详细信息。在REST API中,输入领域ID和客户端ID。
  6. 点击执行
  7. 在“响应”部分中查看结果。

在此示例中,生存时间(TTL)设置为24。此值定义沙箱需要生存多少小时。如果TTL设置为0或更小,沙盒将永远存在。

监控沙箱

为了使事情顺利进行,Linda会查看在专用日志中心收集的按需沙箱日志消息。她单击这样的链接以查看其领域的日志:https://logcenter.us01.dx.commercecloud.salesforce.com/

信贷使用

当Cloud Kicks达到其使用量消耗的85%时,按需沙箱系统会通知其Salesforce客户经理。由客户经理通知她的管理层。如果消费超过其公司购买的金额,则沙箱将继续运行并消费信用额,但会收取超额费用。

Linda可以轻松跟踪信贷使用情况。她将REST API中的GET使用情况请求API 用于领域(1)和沙箱(2)的使用情况数据。

数字1显示领域的REST API GET使用,数字2显示沙箱的REST API GET使用。

她可以查看模型以了解详细信息。这是领域使用模型。要跟踪的重要信息包括沙箱秒数,minutesUp和minutesDown(与她的管理层购买的商品相对应)。

REST API中的RealmUsageModel。

这是沙盒使用模型。它告诉Linda沙盒已运行了几秒钟,并且该时间已启动(正在运行)多少分钟,已关闭(未运行)了几分钟。请记住,实例运行时的成本要比不运行实例时的成本高。

REST API中的SandboxUsageModel。

删除沙箱

按需沙箱将消耗积分,直到将其删除。因此,只要Linda或开发人员不再需要它们,便可以迅速删除它们。

在某些情况下,她或Vijay使用POST /沙盒创建按需沙盒,并为沙盒存在的小时数配置可选的生存时间(TTL)设置。当他们仅需要短时间的沙箱时,他们会指定仅覆盖所需时间的TTL。

当Linda对于不确定最终计划的项目需要沙箱时,她无需配置TTL或指定一个非常大的TTL(例如2100小时),然后在项目完成后立即删除沙箱。TTL的最大值是2,160小时。创建沙箱后,可以使用PATCH / sandboxes命令更改TTL值。

准备好命令行界面(CLI)

Vijay准备使用CLI创建(CI / CD)开发过程。尽管此工具不是Salesforce的正式产品,但它是用于开发自动化流程的流行工具。它可以节省时间并消除通常由容易出错的手动过程引起的问题。通过这种类型的过程,他可以在其按需沙箱上自动执行Salesforce B2C Commerce代码验证和交付。

Vijay Lahiri,Cloud Kicks开发人员

他可以在本地的任何计算机上,也可以从Jenkins,Travis CI,Bitbucket Pipelines和Heroku CI等构建工具中使用CLI。CLI带有基本的JavaScript API,他可以使用它与Node.js上的更高级别的应用程序集成。

这是他可以执行的一些功能。

  • OAuth2交互式无头认证(无需Business Manager用户)
  • 创建,启动,停止和删除按需沙箱
  • 配置多个实例,包括别名
  • 使用代码版本管理部署代码和数据
  • 执行和监视系统作业
  • 执行和监视自定义作业
  • 通过WebDAV连接

Linda已经配置了供Vijay使用的API客户端ID。她还配置了重定向URI,默认范围,并为他提供了管理员级别的CLI访问权限。现在,他需要授予对实例的API客户端ID访问权限。

授予API客户端访问权限

对于某些CLI命令,Vijay需要对其他B2C Commerce实例进行API调用。这意味着Linda必须在Business Manager中授予全局访问权限。这是她的做法。

  1. 打开业务经理。
  2. 单击管理>网站开发>打开Commerce API设置
  3. 选择数据API全局
  4. 将客户端ID的权限集添加到设置中。
  5. 您可以复制此代码段并将其粘贴到设置字段中。将my_client_id替换为您的客户端ID。如果您已经具有OCAPI设置(用于其他API客户端ID),则将此权限集合并到现有列表中。
    { "_v": "19.5",
     "clients":
     [
       {
          "client_id": "my_client_id",
          "resources":
         [
            {
              "resource_id": "/code_versions",
              "methods": ["get"],
              "read_attributes": "(**)",
              "write_attributes": "(**)"
            },
            {
              "resource_id": "/code_versions/*",
              "methods": ["patch"],
              "read_attributes": "(**)",
              "write_attributes": "(**)"
            },
            {
              "resource_id": "/jobs/*/executions",
              "methods": ["post"],
              "read_attributes": "(**)",
              "write_attributes": "(**)"
            },
            {
              "resource_id": "/jobs/*/executions/*",
              "methods": ["get"],
              "read_attributes": "(**)",
              "write_attributes": "(**)"
            },
            {
              "resource_id":"/role_search",
              "methods":["post"],
              "read_attributes":"(**)",
              "write_attributes":"(**)"
            },
            {
              "resource_id":"/roles/*",
              "methods":["get"],
              "read_attributes":"(**)",
              "write_attributes":"(**)"
            },
            {
              "resource_id":"/roles/*/user_search",
              "methods":["post"],
              "read_attributes":"(**)",
              "write_attributes":"(**)"
            },
            {
              "resource_id":"/roles/*/users/*",
              "methods":["put","delete"],
              "read_attributes":"(**)",
               "write_attributes":"(**)"
            },
            {
              "resource_id":"/user_search",
              "methods":["post"],
              "read_attributes":"(**)",
              "write_attributes":"(**)"
            },
            {
              "resource_id":"/users",
              "methods":["get"],
              "read_attributes":"(**)",
              "write_attributes":"(**)"
            },
            {
              "resource_id":"/users/*",
              "methods":["put","get","patch","delete"],
              "read_attributes":"(**)",
              "write_attributes":"(**)"
            }
          ]
        }
      ]
    }
  6. 单击管理>组织> WebDAV客户端权限
  7. 将您的客户端ID的权限集添加到权限设置中。您可以复制此代码段并将其粘贴到设置字段中。将my_client_id替换为您的客户端ID。如果您已经为其他API客户端ID配置了WebDAV客户端权限,请将此权限集合并到现有列表中。
    {
     "clients":
     [
       {
         "client_id": "my_client_id",
         "permissions":
         [
           {
             "path": "/impex",
             "operations": [
                "read_write"
             ]
         },
         {
             "path": "/cartridges",
             "operations": [
                "read_write"
             ]
            }
          ]
        }
      ]
    }

Vijay准备使用按需沙箱创建自动化流程。有关设置和使用SFCC-CLI的说明,请参见B2C Commerce B2C Commerce GitHub存储库。他遵循Salesforce B2C Commerce Developers Trailhead模块的工具和资源中的说明, 以学习如何访问此存储库。

让我们总结一下

您学习了如何使用REST API创建和删除按需沙箱。您还学习了如何监视沙箱和信用使用情况。通过了解CLI的先决条件以及如何向其他实例授予API客户端访问权限,您已经准备好使用CLI。当您在B2C Commerce店面中推出令人惊叹的新功能时,这种级别的控制和访问可以使您超级高效。

现在测试您的知识并获得惊人的徽章。

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流程中使用按需沙箱。

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