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店面中推出令人惊叹的新功能时,这种级别的控制和访问可以使您超级高效。

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

发表回复