在架构中对数据进行建模

在本课程中,您将将Luma的数据建模为架构。 这是教程中最长的课程之一,所以喝杯水吧!

标准化和互操作性是Adobe Experience Platform背后的关键概念。 体验数据模型(XDM)致力于标准化客户体验数据并定义用于客户体验管理的架构。

XDM是一个公开记录的规范,旨在提高数字体验的强大功能。 它提供通用结构和定义,供任何应用程序用于与Platform服务通信。 通过遵守XDM标准,所有客户体验数据都可以纳入到通用表示中,从而以更快、更集成的方式提供见解。 您可以从客户操作中获得有价值的见解,通过区段定义客户受众,并表达客户属性以进行个性化。

XDM是一个基础框架,它允许Adobe Experience Cloud由Experience Platform提供支持,在正确的时间通过正确的渠道向正确的人员传递正确的信息。 构建Experience Platform所基于的方法​ XDM System ​可使Platform服务使用的Experience Data Model架构可操作化。

数据架构师 ​需要在本教程之外创建架构,但​ 数据工程师 ​将与数据架构师创建的架构密切合作。

在开始练习之前,请观看此简短视频,详细了解架构和Experience Data Model (XDM):

TIP
若要更深入地探讨Experience Platform中的数据建模,我们建议观看播放列表使用XDM对您的客户体验数据进行建模,可在Experience League上免费观看!

所需的权限

配置权限课程中,您已设置完成本课程所需的所有访问控制。

通过UI创建忠诚度模式

在本练习中,我们将为Luma的忠诚度数据创建一个架构。

  1. 转到Platform用户界面,并确保已选择您的沙盒。

  2. 在左侧导航中转到​ 架构

  3. 选择右上方的​ 创建架构 ​按钮。
    具有OOTB字段组的 架构

  4. 在创建架构工作流中,选择​ 个人资料 ​作为架构的基类,因为我们将为单个客户的属性(点、状态等)建模。

  5. 选择​ 下一步
    选择基类

  6. 在​ 架构显示名称 ​文本字段中输入Luma Loyalty Schema。 在以下画布中,您还可以查看和验证所选类提供的基本架构结构。

  7. 选择​ 完成 ​以创建您的架构。
    完成创建忠诚度架构

添加标准字段组

创建架构后,您将被重定向到架构编辑器,您可以在其中向架构添加字段。 您可以直接将单个字段添加到架构或使用字段组。 请务必注意,所有单个字段仍与类或字段组相关联。 您可以从Adobe提供的大量行业标准字段组中进行选择,也可以创建自己的字段组。 当您开始在Experience Platform中对自己的数据进行建模时,最好熟悉Adobe提供的行业标准字段组。 最佳实践是尽可能使用它们,因为它们有时支持下游服务,例如客户人工智能、Attribution AI和Adobe Analytics。

处理您自己的数据时,重要的一步是确定应在Platform中捕获您自己的哪些数据以及应如何对其进行建模。 播放列表使用XDM对您的客户体验数据进行建模中将更深入地讨论这个大主题。 在本教程中,我将指导您完成一些预先确定的架构的实施。

要添加字段组:

  1. 在​ 字段组 ​标题下选择​ 添加
    添加新字段组

  2. 在​ 添加字段组 ​模式中,选择以下字段组:

    1. 人口统计详细信息,了解名称和出生日期等基本客户数据
    2. 个人联系人详细信息,了解电子邮件地址和电话号码等基本联系人详细信息
  3. 您可以通过选择行右侧的图标,预览在字段组中贡献的字段。
    选择标准字段组

  4. 选中​ Industry > Retail ​框以公开特定于行业的字段组。

  5. 选择​ 忠诚度详细信息 ​以添加忠诚度计划字段。

  6. 选择​ 添加字段组 ​以将所有三个字段组添加到架构。
    将标准字段组添加到忠诚度架构

现在,请花些时间探索架构的当前状态。 字段组已添加与人员、其联系人详细信息和忠诚度计划状态相关的标准字段。 在为自己公司的数据创建架构时,您可能会发现这两个字段组很有用。 选择特定的字段组行,或选中字段组名称旁边的复选框,以查看可视化图表的更改情况。

要保存架构,请选择​ 保存
保存架构

NOTE
如果字段组为未收集的数据点添加字段,这没有关系。 例如,“faxPhone”可能是Luma不为其收集数据的字段。 没关系。 仅仅因为在架构中定义了字段并不意味着以后必须​ 摄取该字段的数据。 您还可以从架构中删除字段。

添加自定义字段组

现在,让我们创建一个自定义字段组。

虽然忠诚度字段组包含loyaltyID字段,但Luma希望在一个组中管理其所有系统标识符,以确保其架构的一致性。

必须在架构工作流中创建字段组。 您可以:

  • 先向架构中添加新的自定义字段,然后创建自定义字段组,或
  • 先创建自定义字段组,然后向其添加字段。

在本教程中,我们首先会创建一个自定义字段组。

要创建字段组,请执行以下操作:

  1. 在​ 架构字段组 ​标题下选择​ 添加
    添加新字段组
  2. 选择​ 创建新字段组
  3. 使用Luma Identity profile field group作为​ 显示名称
  4. 使用system identifiers for XDM Individual Profile class作为​ 描述
  5. 选择​ 添加字段组
    添加新字段组

新的空字段组将会添加到您的架构中。+ ​按钮可用于向层次结构中的任何位置添加新字段。 在本例中,我们要在根级别添加字段:

  1. 选择架构名称旁边的​ +。 这会在您的租户ID命名空间下添加一个新字段,以管理自定义字段和任何标准字段之间的冲突。

  2. 在​ 字段属性 ​侧边栏中添加新字段的详细信息:

    1. 字段名称systemIdentifier

    2. 显示名称System Identifier

    3. 类型对象

    4. 在​ 字段组 ​下拉列表中,选择我们创建的​ Luma标识配置文件字段组

      添加新字段组

    5. 选择​ 应用

      应用新字段属性

现在,在systemIdentifier对象下添加两个字段:

  1. 第一个字段

    1. 字段名称loyaltyId
    2. 显示名称: Loyalty Id
    3. 类型字符串
  2. 第二个字段

    1. 字段名称crmId
    2. 显示名称CRM Id
    3. 类型字符串

您的新字段组应如下所示。 选择​ Save ​按钮以保存您的架构,但在下一次练习中保持该架构处于打开状态。
忠诚度字段组完成

创建数据类型

字段组(如新Luma Identity profile field group)可在其他架构中重用,从而允许您跨多个系统实施标准数据定义。 但它们只能在共享类​ 的架构中重用,在本例中为XDM个人资料类。

数据类型是另一个多字段构造,可在多个类​ 的架构 ​中重复使用。 让我们将新的systemIdentifier对象转换为数据类型:

Luma Loyalty Schema仍然打开的情况下,选择systemIdentifier对象并选择​ 转换为新数据类型

忠诚度字段组完成

如果您​ 从架构中取消 ​并导航到​ 数据类型 ​选项卡,您将看到新创建的数据类型。 我们将在本课程的后面部分使用此数据类型。

忠诚度字段组完成

通过API创建CRM架构

现在,我们将使用API创建架构。

TIP
如果您希望跳过API练习,则可以使用用户界面方法创建以下架构:
  1. 使用个人资料类
  2. 将其命名为Luma CRM Schema
  3. 使用以下字段组:“人口统计详细信息”、“个人联系人详细信息”和“Luma身份配置文件”字段组

首先,创建空架构:

  1. 打开Postman

  2. 如果您没有访问令牌,请打开请求​ OAuth: Request Access Token ​并选择​ 发送 ​以请求新的访问令牌。

  3. 打开您的环境变量,并将​ CONTAINER_ID ​的值从global更改为tenant。 请记住,当您想要与Platform中您自己的自定义元素交互时(例如创建架构),必须使用tenant

  4. 选择​ 保存
    将CONTAINER_ID更改为租户

  5. 打开请求​ Schema Registry API > Schemas > Create a new custom schema.

  6. 打开​ 主体 ​选项卡并粘贴以下代码,然后选择​ 发送 ​以进行API调用。 此调用使用相同的XDM Individual Profile基类创建一个新架构:

    code language-json
    {
      "type": "object",
      "title": "Luma CRM Schema",
      "description": "Schema for CRM data of Luma Retail ",
      "allOf": [{
        "$ref": "https://ns.adobe.com/xdm/context/profile"
      }]
    }
    
    note note
    NOTE
    此代码示例和后续代码示例(例如https://ns.adobe.com/xdm/context/profile)中的命名空间引用可以通过使用列表API调用和​ CONTAINER_ID ​以及接受标头设置为正确的值来获取。 部分内容还可在用户界面中轻松访问。
  7. 您应会收到201 Created响应

  8. 从响应正文中复制meta:altId。 我们稍后将在另一个练习中使用它。
    创建CRM架构

  9. 新架构应在用户界面中可见,但不包含任何字段组
    创建CRM架构

NOTE
通过将​ CONTAINER_ID ​设置为tenant并接受标头application/vnd.adobe.xdm+json的API请求​ Schema Registry API > Schemas > Retrieve a list of schemas within the specified container.,还可以获取meta:altId或架构ID。
TIP
此调用的常见问题以及可能的修复:
  • 无身份验证令牌:运行​ OAuth:请求访问令牌 ​请求以生成新令牌
  • 401: Not Authorized to PUT/POST/PATCH/DELETE for this path : /global/schemas/:将​ CONTAINER_ID ​环境变量从global更新为tenant
  • 403: PALM Access Denied. POST access is denied for this resource from access control:验证Admin Console中的用户权限

添加标准字段组

现在可以将字段组添加到架构中:

  1. 在Postman中,打开请求​ Schema Registry API > Schemas > Update one or more attributes of a custom schema specified by ID.

  2. 在​ 参数 ​选项卡中,将上一个响应中的meta:altId值粘贴为SCHEMA_ID

  3. 打开“正文”选项卡并粘贴以下代码,然后选择​ 发送 ​以进行API调用。 此调用将标准字段组添加到您的Luma CRM Schema

    code language-json
    [{
        "op": "add",
        "path": "/allOf/-",
        "value": {
          "$ref": "https://ns.adobe.com/xdm/context/profile-personal-details"
        }
      },
      {
        "op": "add",
        "path": "/allOf/-",
        "value": {
          "$ref": "https://ns.adobe.com/xdm/context/profile-person-details"
        }
      }
    ]
    
  4. 您应该会为响应获得“200 OK”状态,并且字段组应该作为架构的一部分显示在UI中

    已添加标准字段组

添加自定义字段组

现在,让我们将Luma Identity profile field group添加到架构中。 首先,我们需要使用列表API查找新字段组的ID:

  1. 打开请求​ Schema Registry API > Field groups > Retrieve a list of field groups within the specified container.

  2. 选择​ 发送 ​按钮以检索您帐户中所有自定义字段组的列表

  3. 获取Luma Identity profile field group$id值(您的值将与此屏幕快照中的值不同)
    检索字段组列表

  4. 再次打开请求​ Schema Registry API > Schemas > Update one or more attributes of a custom schema specified by ID.

  5. Params ​选项卡仍应包含架构的$id

  6. 打开​ 正文 ​选项卡并粘贴以下代码,将$ref值替换为您自己的Luma Identity profile field group$id

    code language-json
    [{
      "op": "add",
      "path": "/allOf/-",
      "value": {
        "$ref": "REPLACE_WITH_YOUR_OWN_FIELD_GROUP_ID"
      }
    }]
    
  7. 选择​ 发送
    添加标识字段组

通过检查API响应和界面中的字段组,验证该字段组是否已添加到架构中。

创建离线购买事件架构

现在,让我们根据​ Experience Event ​类为Luma的离线购买数据创建架构。 由于您现在已熟悉架构编辑器用户界面,因此我将减少说明中的屏幕截图数量:

  1. 创建具有​ Experience Event ​类的架构。
  2. 命名您的架构Luma Offline Purchase Events Schema
  3. 添加标准字段组​ Commerce详细信息 ​以捕获通用订单详细信息。 花几分钟研究一下里面有哪些东西。
  4. 搜索Luma Identity profile field group。 不可用! 请记住,字段组与类相关联,由于我们对此架构使用不同的类,因此我们无法使用它。 我们需要为包含标识字段的XDM ExperienceEvent类添加新字段组。 我们的数据类型会使其变得非常简单!
  5. 选择​ 创建新字段组 ​单选按钮
  6. 输入​ 显示名称 ​作为Luma Identity ExperienceEvent field group并选择​ 添加字段组 ​按钮
  7. 选择架构名称旁边的 +
  8. 作为​ 字段名称,输入systemIdentifier
  9. 作为​ 显示名称,请输入System Identifier
  10. 对于​ 类型,请选择​ 系统标识符,这是您之前创建的自定义数据类型。
  11. 作为​ 字段组,选择​ Luma标识ExperienceEvent字段组
  12. 选择​ 应用 ​按钮。
  13. 选择​ 保存 ​按钮。

请注意数据类型如何添加所有字段!

将数据类型添加到字段组

此外,在​ Class ​标题下选择​ XDM ExperienceEvent,并检查此类贡献的某些字段。 请注意,使用XDM ExperienceEvent类时需要_id和时间戳字段,使用此架构时摄取的每个记录都必须填充这些字段:

体验事件基本结构

创建Web事件架构

现在,我们将为Luma的网站数据再创建一个架构。 此时,您应该成为创建架构的专家! 使用这些属性构建以下架构

属性
体验事件
架构名称
Luma Web事件架构
字段组
AEP Web SDK ExperienceEvent
字段组
使用者体验事件

选择​ 使用者体验事件 ​字段组。 此字段组包含商业和productListItems对象,这些对象也在Commerce详细信息中。 事实上,使用者体验事件是另外几个标准字段组的组合,这些字段组也单独提供。 AEP Web SDK ExperienceEvent字段组还包含其他字段组,包括使用者体验事件中一些相同的字段组。 幸运的是,他们完美地融合在一起。

请注意,我们未将Luma Identity ExperienceEvent field group添加到此架构。 这是因为Web SDK具有不同的身份收集方式。 如果您在架构编辑器的​ 合成 ​区域中选择​ XDM ExperienceEvent ​类,您将注意到它默认添加的字段之一名为​ IdentityMap。 IdentityMap被各种Adobe应用程序用于链接到Platform。 您将在流摄取课程中看到如何通过identityMap将身份发送到Platform。

创建产品目录架构

通过使用Commerce详细信息和使用者体验事件字段组,Luma通过标准productListItems数据类型报告产品相关事件的某些详细信息。 但是,他们还希望将其他产品详细信息字段发送到Platform。 与其在销售点和电子商务系统中捕获所有这些字段,Luma更愿意直接从他们的产品目录系统中摄取这些字段。 “架构关系”允许您定义两个架构之间的关系,以进行分类或查找。 Luma将使用关系对其产品详细信息进行分类。 我们将立即开始此过程,并在下一课结束时完成此过程。

NOTE
如果您是现有Analytics或Target客户,则对具有架构关系的实体进行分类类似于SAINT分类或上传Recommendations的产品目录

首先,我们必须使用自定义类为Luma的产品目录创建架构:

  1. 选择​ 创建架构 ​按钮。

  2. 在创建架构工作流中,选择​ 其他 ​选项。
    创建新架构

  3. 选择​ 创建类 ​按钮

  4. 将其命名为Luma Product Catalog Class

  5. 将​ 行为 ​保留为​ 记录

  6. 选择​ 创建 ​按钮。
    创建新类

  7. 您创建的​ Luma产品目录类 ​出现在下面的“类”表中。 确保已选择类,然后选择​ 下一步
    新类已添加

  8. 命名架构Luma Product Catalog Schema

  9. 使用以下字段创建一个名为Luma Product Catalog field group的新字段组:

    1. productName:产品名称:字符串
    2. productCategory: Product类别:字符串
    3. productColor: Product Color:字符串
    4. productSku: Product SKU:字符串 | 必填
    5. productSize: Product Size:字符串
    6. productPrice: Product Price: Double
  10. 保存 ​架构

您的新架构应如下所示。 请注意productSku字段在必填字段部分中的列出方式:
产品架构

下一步是定义两个ExperienceEvent架构与Luma Product Catalog Schema之间的关系,但是,在可以执行该操作之前,我们必须在下一课程中执行一些其他步骤。

其他资源

现在您已拥有架构,可以映射身份

recommendation-more-help
513160b6-bf42-4c58-abdd-4f817b1cccad