数据摄取与存储

322 阅读37分钟

在上一章中,我们介绍了23种不同的数据云菜单选项,并将其归纳为五种核心能力。本章将深入探讨其中的第一种,即Salesforce数据云的数据摄取与存储能力。我们将探索与以下数据摄取和存储能力相关的三个菜单选项:

  • 数据探索器(Data Explorer)
  • 数据流(Data Streams)
  • 数据湖对象(Data Lake Objects)

首先,我们将了解数据探索器工具,因为它将在整章中被引用。接下来,我们将学习如何创建数据流。在构建数据流的过程中,你将观察到一些数据云对象类型。在数据云中,对象类型包括DSO(数据存储对象)、DLO(数据湖对象)、DMO(数据模型对象)、非结构化数据湖对象(UDLO)、非结构化数据模型对象(UDMO)以及外部数据湖对象。第2章对这些数据云对象类型提供了详细的解释。本章的大部分讨论集中在结构化数据的数据摄取和存储上。有关如何处理非结构化数据,我们将在第13章中进行讨论。

数据湖对象的创建

使用Salesforce CRM连接器时,可以自动创建所需的DLO。当使用其他连接器处理结构化数据时,例如Amazon S3存储连接器,你需要手动创建新的DLO。UDLO需要手动创建以访问非结构化数据,并且它们总是会自动映射到UDMO。

一旦数据被摄取并存储在DLO中,它将被映射到DMO。创建之后,可以使用数据探索器工具查看DLO和DMO;DLO还有自己的菜单标签,你可以在其中更详细地探索这些对象。

在了解数据探索器工具和如何设置连接器以摄取数据之后,我们将讨论另一种访问数据的方法,这种方法不需要连接器。本章的最后一部分将专注于Salesforce数据云的数据共享能力。本章还将详细解释近实时和批量摄取连接器,并提供有关通过数据共享访问数据源的高层次概述。有关后者的更多细节将在第13章中介绍。

开始使用

本节包含了开始本章之前所需的前期准备工作和重要事项。

前期准备

在尝试数据摄取之前,请确保完成以下要求:

  • 完成“连接到相关Salesforce云”中的步骤,连接所有将要摄取数据的Salesforce云。
  • 获取你将使用的任何云存储、外部平台和连接器服务的编程凭证。

对于实际实施,你需要完成以下数据发现活动并准备必要的事项,以便提前掌握重要细节:

  • 数据源资产清单,包括数据位置,如Salesforce CRM、Marketing Cloud、电子表格、云存储等。
  • 对每个数据源的数据质量进行评估。例如,是否有单词经常拼写错误,或某些字段中是否缺少重要数据?
  • 描述如何在每个数据源中识别个体。例如,是否使用电子邮件或姓名,还是使用唯一的系统标识符,如联系人键、线索ID或订阅者键?
  • 常见数据的清单,如电子邮件地址和名字,这些数据在系统间始终保持一致。
  • 对客户旅程的理解,包括互动点。

即使你计划最初只摄取数据的一个子集,捕捉所有数据的全面图景仍然很重要。这将帮助你确认是否已经识别所有重要数据,并为未来的数据云用例实施打下成功的基础。

你需要知道的事项

对于Salesforce核心和近核心平台源,在建立与相关Salesforce云的数据连接后才能创建数据流。因此,你需要完成第4章中的首次数据云平台设置。对于第三方数据源,你需要配置本地连接器或使用其他连接器,如MuleSoft。

单一连接器框架

本章提供了在发布时可用的连接器和集成的详细信息。然而,Salesforce正在构建一个强大的单一连接器框架,并且持续快速增加新的连接器和集成。

使用Salesforce CRM连接器创建数据流时,尽可能使用启动数据包进行数据摄取,因为这是最简单的入门方式。作为替代方案,你可以使用直接对象摄取和/或数据包。有关启动数据包和数据包的更多详细信息,请参见第2章。

使用Amazon S3存储连接器或其他本地连接器创建数据流时,你需要决定选择哪个摄取数据类别。摄取数据类别是数据类型分组,在Salesforce数据云中的数据模型使用方式中发挥重要作用。在第7章中,我们将深入探讨Salesforce Customer 360数据模型,这将帮助你理解如何尝试直接对象摄取Salesforce对象。

摄取后不可编辑

在摄取时选择正确的数据摄取类别非常重要,因为摄取后无法编辑数据类别。替代方法是断开源连接并创建一个新的连接,选择所需的数据类别。然而,这样做很困难,尤其是在映射已完成并且已经使用摄取的数据构建了组成部分的情况下。重新进行摄取不仅耗时,而且成本高昂。每次重新摄取数据时都会消耗积分。

有三种摄取数据类别选择:Profile(个人档案)、Engagement(互动)和Other(其他)。Profile数据提供有关个人的信息,包括标识符、人口统计和个人档案相关属性,以及联系方式,如电子邮件和电话号码。在Salesforce数据云中,Profile数据仅按ID索引。需要注意的是,Profile类别数据可以进行分段,这是三种类别中唯一可以用于分段的类别。Profile类别数据还用于计算使用Salesforce CDP SKU的客户的统一个人档案计数。

Engagement数据类别用于时间序列数据点,如客户交易和网页浏览历史。在Salesforce数据云中,Engagement数据按事件日期索引,并且要包括在此类别中,互动相关数据必须具有不可变的日期值。此类别由于Engagement类别要求应用索引的日期而具有特殊性。如我们稍后将学习的那样,只有Engagement数据DLO可以映射到具有继承的Engagement类别的DMO中。这样,未来可能会创建不同的索引以支持查询优化。例如,基于二进制数据进行索引将使得可以立即丢弃匿名数据,从而减少查询中处理的行数。

Other数据类别是一个杂项类别。Other数据的示例包括商店位置、产品信息和忠诚度计划细节。在Salesforce数据云中,Other数据仅按ID索引。重要的是,存储在具有继承Other数据类别的DMO中的数据不能用于定义统一个人档案,也不能用于分段。

可变日期字段

Other摄取数据类别可以包括具有可变日期字段的互动相关数据。

数据可以通过数据摄取或联合访问在数据云中访问。数据摄取可以通过批处理、流处理和实时摄取模式来实现,而联合访问不会导致数据实际摄取并存储在Salesforce数据云中。数据共享,也称为零副本,在第13章中进行讨论。

对于所有数据摄取,Salesforce数据云是一个参考系统,这与记录系统不同,因为它从所有不同来源中收集和组织数据。另一方面,记录系统是输入新数据或编辑现有数据的地方。

公式字段可以生成唯一标识符

每当记录输入Salesforce CRM云时,会分配两个版本的唯一标识符(UID)。首先,分配一个15位数字的区分大小写的UID版本,该UID可以在Salesforce UI中查看。此外,还有一个18位数字的不区分大小写的UID版本,这个版本在API中引用。18位UID版本实际上是UID的前15位,加上3位校验和,以使UID在不区分大小写的情况下唯一。

由于数据云是一个参考系统,因此它不会为摄取的记录生成自己的唯一标识符。相反,它使用来自源数据的UID。对于从Salesforce云中摄取到数据云的数据,记录的18位不区分大小写的UID被引用作为该记录的唯一标识符。可以通过数据探索器在数据云中查看记录的18位UID。

所有摄取的记录都需要有唯一标识符。对于没有唯一标识符的外部来源的记录,你需要使用公式字段在摄取外部数据的数据流中生成一个。

在连接到外部服务如Amazon S3、GCS、Azure Blob存储、Snowflake或SFTP时,有特别的考虑因素。对于这些类型的连接,如果你的安全策略要求严格的网络访问控制列表,你需要在允许列表中包括数据云服务使用的IP地址。

现在,我们准备开始了!

通过数据探索器查看数据云对象

数据探索器工具使你能够深入浏览Salesforce数据云中的各种DMO(数据模型对象)。通过这一功能,你可以个性化你的数据云对象视图,使其更便于验证数据和公式的准确性,这些数据和公式在任何给定时间对你来说都是相关的。

点击数据探索器菜单选项后,你需要从数据探索器仪表板中选择一个对象(见图6-1)。起初,在选择对象类型后没有可选的对象,因为你还没有摄取数据。然而,随着数据摄取的进展,你将看到如何在选择对象类型后选择一个对象。

image.png

你可以使用“编辑列”(Edit Columns)按钮来选择列,并使用“过滤列表”(Filter List)图标(见图6-2)来筛选列表,从而个性化我们的数据探索器视图。一旦创建了个性化视图,我们可以使用“复制SOQL”(Copy SOQL)按钮生成SOQL查询,这些查询可以用来导出指定的数据。

image.png

我们将在数据探索器工具中深入查看DLO(数据湖对象)和DMO(数据模型对象),一旦这些对象创建完成。你可以在数据探索器中查看数据图表,相关内容在第13章中描述。数据探索器工具还可以查看CI(客户交互)对象。CI对象是唯一可以在数据探索器中以图表形式查看的对象。选择在筛选图标右侧出现的饼图图标,以查看你的CI对象。CI将在第11章中讨论。

数据无法通过数据云UI进行编辑

你可以在数据云中探索数据,但用户无法通过数据云UI对数据进行更改。

Salesforce数据云被构建为参考系统,而非记录系统,这就是为什么你从源系统如Salesforce CRM、Salesforce Marketing Cloud和/或外部源中摄取数据的原因。在数据云中,摄取的数据不会被用户在数据云UI中编辑或更改。相反,当源系统的数据通过新增记录或更新现有记录进行修改时,这些更新会传递到数据云中。

虽然无法直接编辑数据云中的数据,但可以删除数据云中的记录。有关数据云记录删除的讨论将在本章后面进行。

通过数据流摄取数据源

数据可以通过四种摄取模式在Salesforce数据云中访问:

  1. 批处理摄取模式,用于计划的传输
  2. 流处理摄取模式,延迟低于五分钟
  3. 实时摄取模式,延迟低于200毫秒
  4. 零副本模式,用于虚拟化数据而不移动数据

在查看文档时,“批处理处理”(batch processing)和“大批处理”(bulk processing)这两个术语通常可以互换使用。在描述这种摄取模式时,我们将使用“批处理处理”这一术语。你也会发现“流处理”(streaming)、“实时”(real time)和“近实时”(near real time)这几个术语常被互换使用。在大多数情况下,我们将使用“近实时”这一术语,但需要理解流处理和实时摄取模式之间的延迟差异。

之前我们了解了Salesforce云连接器及其相关的启动数据包。在本章中,我们将讨论这些Salesforce云连接器,但有关详细信息,你可以在第4章中找到。有关这些连接器附带的启动数据包的更多信息,也可以在第2章中找到。

启动数据包只能摄取一次

你需要逐个摄取启动数据包,每个数据包只能摄取一次。如果你决定在最初摄取数据包时排除某些对象或字段,将来如果你决定再次摄取这些数据,你需要手动摄取并映射这些数据。

使用启动数据包时,你不需要手动创建DLO(数据湖对象)或手动将DLO数据映射到DMO(数据模型对象)。这一切都会自动完成。然而,对于所有没有启动数据包或数据包可用的数据源,需要手动创建DLO。有关数据包的更多信息,请参见第2章。

在本章稍后,我们将学习如何使用Salesforce云连接器和原生连接器将数据摄取到Salesforce数据云中。我们的示例将探索Salesforce CRM连接器和Amazon S3存储连接器,这两个连接器都是具有批处理模式的集成连接器。

除了这两个集成连接器,还有其他多个API和连接器可以与Salesforce数据云一起使用(见图6-3)。数据云访问还可以通过MuleSoft Anypoint等连接器服务构建。也可以访问存储在其他地方的数据,而无需将数据摄取到数据云中。这种通过零副本模式的访问是通过数据联合实现的,作为数据云中BYOL(Bring Your Own License)能力的一部分。我们将在第13章中详细讨论BYOL。

image.png

你会注意到,摄取API可以用于近实时和批处理摄取。Salesforce的产品MuleSoft Anypoint利用了摄取API,此外,还提供了主要云服务提供商(如Amazon S3、GCS、Microsoft Azure和Heroku Postgres)的批量加载原生连接器。这些连接器支持结构化数据的文件摄取,但也可以摄取存储在blob存储中的非结构化数据。

我们之前讨论的五个Salesforce云批处理连接器在图6-3中展示了。每个连接器都有附带的启动数据包。在本章后续部分,我们将探讨如何使用启动数据包与Salesforce CRM连接器。其他Salesforce云连接器的使用方法类似。

本章将提供许多近实时和批处理摄取连接器及API的详细解释。当我们讨论通过联合数据访问访问数据源时,将提供一个高级概述。

成本考虑

在最终确定架构决策之前,评估利用这些不同类型连接器的总成本是一个重要的考虑因素。一些连接器,例如MuleSoft Anypoint,要求额外的Salesforce许可证,还需要考虑存储费用和数据出口费用,尤其是对于存储在第三方提供商(如Amazon S3和GCS)中的数据。此外,不同类型的摄取方法会导致Salesforce数据云的成本差异。目前,将数据流入Salesforce数据云的成本是每处理一百万行数据的批处理摄取成本的两倍半。有关数据云的消费费用的更多讨论,请参见第2章。在评估Salesforce核心平台之外的数据摄取成本时,建议还要考虑是否可以使用数据共享功能;如果可以,这将允许你访问存储在外部位置的数据。

图6-3中显示的数据云源和集成是本书撰写时可用的常见连接示例。Salesforce持续快速增加更多连接器和集成。你应查阅Salesforce的数据云源、目标和集成的最新文档,以获取最新信息。

不同的数据流类型可以在不同的刷新计划上操作,Salesforce也在不断改进刷新计划。有关数据云数据流刷新计划的最新信息,请参阅相关文档。

近实时摄取连接器

有五个API和连接器可以用于将数据以近实时方式摄取到Salesforce数据云中:

  1. Salesforce Interactions SDK
  2. Salesforce Web和移动应用SDK
  3. Amazon Kinesis
  4. 摄取API
  5. MuleSoft Anypoint(使用摄取API)

我们现在来逐一回顾这些连接器。

Salesforce Interactions SDK

Salesforce Interactions SDK是一个可扩展的数据捕获和收集框架,可以用来跟踪你网站上不同类型的客户互动。这些互动可以被传送到你的Salesforce数据云,并用于构建行为档案。Salesforce Interactions SDK附带了即用型事件数据模型。除了跟踪客户互动外,SDK还提供以下互动的详细信息:

  • 匿名和已命名身份跟踪的身份和cookie管理
  • 同意管理集成钩子
  • 基于配置的仪器配置与网站地图
  • 添加自定义功能的集成钩子

一个重要的要求是,网站客户的浏览器必须能够运行ECMAScript 6(ES6)兼容的代码,才能充分利用Salesforce Interactions SDK。

Salesforce Web和移动应用SDK

Salesforce Web和移动应用SDK使你能够从移动应用程序和网站中以近实时方式创建数据云数据流。使用这个连接器,可以摄取参与相关数据和个人资料相关数据。参与数据每15分钟摄取一次,而个人资料数据每小时摄取一次。

如果你对Salesforce数据云管理员设置近实时连接器所需的内容感兴趣,以下是需要采取的步骤:

首先,点击屏幕右上角的齿轮图标,进入Data Cloud Setup → Websites & Mobile Apps。

接下来,点击“新建”按钮以连接网站或移动源(将你的在线源连接以导入数据),填写连接器名称,然后选择“移动应用”或“网站”作为连接器类型(见图6-4)。然后,点击“保存”按钮。

image.png

你会注意到,移动应用连接需要提供一个模式(schema),所以你需要提供这个模式。模式是你从开发者那里获得的,作为回报,你需要将连接器的租户特定端点和源ID(见图6-5)的详细信息提供给开发者。这些信息都是由Salesforce自动生成的。

image.png

对于网站连接,你需要上传一个网站地图(sitemap),除了模式(schema)之外。模式和所需的网站地图是你从开发者那里获得的,作为回报,你需要将内容交付网络(CDN)脚本提供给开发者。一旦你选择了网站连接器类型并点击“保存”按钮,Salesforce将自动生成CDN(见图6-6)。

image.png

一旦你从开发者那里收到网站连接的 JSON 事件类型模式和网站地图,你可以在“模式”区域点击“上传文件”,在“网站地图”区域点击“上传网站地图”。确保在确认所有事件和字段已正确填充后保存你的工作。你可以通过添加新事件或字段来更新模式,但模式必须保留所有以前的事件和字段。为你刚刚添加到连接器中的网站或移动源输入一个描述性名称。

Amazon Kinesis

Amazon Kinesis 是一个完全托管的无服务器流数据服务,旨在以近实时的方式摄取和处理大量数据流。要在 Data Cloud 中使用此连接器,你需要提供连接名称、连接 API 名称、认证和连接详情,包括你的 AWS Kinesis 所在的区域。使用 Amazon Kinesis 连接器,你可以摄取与个人资料相关的数据和事件相关的数据。

使用 Amazon Kinesis 连接器有一些重要的限制。它不能读取嵌套的 JSON 数据,模式中只能有一个对象,并且只能包含在数据流创建时选择的数据类型。设置数据流时,你需要识别主键。如果数据中没有主键,你需要使用公式字段创建一个。

摄取 API 连接器

摄取 API 连接器让你通过摄取 API 将外部系统连接到 Salesforce Data Cloud。摄取 API 是一种 REST API,支持批量和流式模式的数据加载。有趣的是,单个数据流可以同时接受来自流式和批量交互连接器的数据。

设置和配置 Salesforce Data Cloud 中的摄取 API 需要 Data Cloud 开发者的协助。Data Cloud 管理员负责设置摄取 API 连接器和配置连接的应用程序,因此管理员需要从开发者那里获得用于连接 API 的开放授权(OAuth)流程的详细信息,并提供连接器端点的详细信息给开发者。

摄取 API 连接器的限制

有两个限制与流式摄取 API 连接器相关。该连接器仅支持插入语句,单个请求的数据不能超过 200 KB。

摄取 API 连接器流式模式接受对数据集的增量更新,随着这些更改的捕获进行更新。

MuleSoft Anypoint 连接器

MuleSoft Anypoint 连接器可以用于将任何第三方源的数据摄取到 Data Cloud 中。你可以通过首先设置摄取 API 然后设置 MuleSoft Anypoint 连接器来自动化从遗留系统到 Data Cloud 的数据摄取。

目前,Salesforce CDP API 的连接器是 Salesforce CDP Connector 1.1 – Mule 4。这个 MuleSoft Anypoint 连接器使用标准的 OAuth 授权流程,允许你自动化从第三方的数据摄取。该连接器支持批量和流式数据加载模式,还支持删除操作。总的来说,连接器支持查询 API、流式摄取 API、批量摄取 API、个人资料 API、CI API 以及来自 Salesforce Data Cloud 的数据操作。

MuleSoft Anypoint 连接器提供的功能:

  • 读取 DMOs 和 DLOs 的访问权限
  • 读取以检索客户个人资料信息的元数据和对象记录的权限
  • 读取以检索 CIs 的元数据和对象记录的权限
  • 消耗 CDP 数据操作事件的 Webhook 监听器事件源

Anypoint Exchange 预构建连接器可用于连接一些流行的 SaaS 应用程序,与常见的云基础设施和服务集成,并通过 Java 数据库连接(JDBC)和其他开放协议连接到许多不同的外部数据库。

将 MuleSoft 与 Data Cloud 结合使用,使你能够访问原生连接器不存在的遗留系统和平台。使用 MuleSoft 可以提高这些用例的效率,因为你可以在一个地方管理整个 API 生命周期。这使 MuleSoft 成为大规模连接遗留系统的绝佳选择。另一个使用 MuleSoft 的好处是它能够使用强大的脚本语言在数据摄取到 Data Cloud 之前执行数据转换。

批量数据源摄取连接器:Salesforce 云

在本节中,我们将探讨如何使用我们在第4章中设置的 Salesforce CRM 连接器来构建数据流。营销云连接器、B2C 商务连接器、营销云参与连接器以及营销云个性化和全渠道库存连接器都与 Salesforce CRM 连接器功能相似。然而,要获取这四个连接器中的任何一个,需要额外授权的 Salesforce 近核心云平台。

让我们花一点时间了解不同的 Salesforce 云、如何访问它们以及每个云的数据存储位置。在第2章中,我们学习了 Data Cloud 的架构以及数据如何在数据湖仓中以持久存储的方式存储,称为 DLOs。在第4章中,当我们配置 Data Cloud 时,我们发现访问 Data Cloud 是通过登录 Salesforce CRM 并使用 Salesforce CRM 应用启动器访问 Data Cloud 应用程序来实现的。这样,对于最终用户来说,体验是无缝的,无需担心数据实际存储的位置。

一些其他 Salesforce 云,称为 Salesforce 近核心平台(见图6-7),无法通过 Salesforce CRM 应用启动器访问。这些平台有不同的登录 URL,用户界面也有所不同。然而,无论你需要访问存储在核心、近核心还是离核心的 Salesforce 数据,Einstein Trust Layer 都能为你提供安心保障。

Salesforce 核心平台包括销售云、服务云、忠诚度管理云等。每个这些云都是记录系统,你可以在其中添加新记录并更新现有记录。所有近核心平台也是记录系统,而 Data Cloud 是你将不同 Salesforce 云平台的数据汇聚在一起的地方。此外,正如我们在第2章中看到的,您可以从多个 Salesforce CRM 组织中将 CRM 数据带入 Data Cloud。这对于那些进行大量并购活动的行业尤为有用。

image.png

图6-7 还展示了可以用于 Data Cloud 数据摄取的不同本地 Salesforce 云连接器。目前,存在六种 Salesforce 本地云连接器:

  • Salesforce CRM
  • 营销云参与(Marketing Cloud)
  • B2C 商务
  • 营销云账户参与(以前称为 Pardot)
  • 营销云个性化(以前称为 Interaction Studio)
  • 全渠道库存(Omnichannel Inventory)

这六种本地连接器中的每一种都包括对启动数据包的访问。请参阅 Salesforce 的“启动数据包”参考指南,以获取所有数据包的完整列表。

Salesforce CRM 连接器

使用 Salesforce CRM 连接器,可以通过启动数据包、直接对象摄取或使用数据包来摄取数据。在我们的示例中,我们将利用 Sales Cloud 和 Service Cloud 数据包。如果您拥有忠诚度管理平台的许可证,还可以使用 Salesforce CRM 连接器提供的忠诚度管理启动数据包来摄取数据。

要使用 Salesforce CRM 连接器创建新的数据流,请确保您已登录到 Salesforce 核心平台。使用应用启动器访问 Data Cloud 应用程序,然后按照以下步骤操作:

  1. 点击“数据流”选项卡,然后点击屏幕右上角的“新建”按钮。您将看到可用的 Salesforce CRM 连接源。一旦选择了连接器,框的右上角将被蓝色高亮并显示一个勾选标记(见图6-8)。点击屏幕右下角的“下一步”按钮。如果没有看到 Salesforce CRM 连接器,您需要返回“连接到相关 Salesforce 云”部分以设置连接。

image.png

您可以选择数据包或 Salesforce 对象。您会注意到,Sales Cloud 和 Service Cloud 提供了标准数据包(见图6-9)。

image.png

如果您点击“数据包”按钮右侧的“所有对象”按钮,而不是选择一个数据包,您将看到当前所有可供选择的 Salesforce 对象的列表(见图6-10)。目前,我们不会对单个对象或字段进行数据摄取。我们将在“扩展 Data Cloud 标准数据模型”中重新讨论这个选项。

image.png

在选择了“数据包”按钮的情况下,选择“Sales”标准数据包。您会注意到框的右上角会以蓝色突出显示,并带有一个勾号(见图6-11)。右侧,您会看到此销售数据包中包含了 Account、Contact 和 Lead 对象。请确保点击“下一步”按钮以继续。

image.png

在左侧,您会看到这个数据包中包含的三个销售平台对象:Contact、Lead 和 Account。尝试选择左侧的不同销售对象,看看右侧字段如何变化。右侧会显示所选对象的字段列表。销售数据包的默认对象是 Contact 对象(见图6-12)。请记住,此数据流数据包需要先行安装,否则在点击“下一步”按钮时会收到错误信息

image.png

在右侧,标准字段已被选中。自定义字段包含在列表中,但默认情况下未被选中。您可以选择或取消选择大多数字段,但有些必需字段会在“必需”列中标有勾选标记,您无法取消选中这些字段。您还会注意到,可以通过右上角的“新建公式字段”按钮创建新的公式字段。在屏幕上进行任何必要的更改,包括创建新的公式字段,然后点击右下角的“下一步”按钮。公式字段是可选的,但它们对标准化格式、添加帮助连接和映射数据的键,以及为符合某些标准的数据添加标志非常有用。我们将在第7章中进一步了解公式字段。

现在,您将看到将要创建的三个新数据流的预览。所有三个数据流都被归类为“Profile”数据。默认的刷新模式是 Upsert,默认的刷新计划是 Batch(见图6-13)。还可以为数据空间设置过滤器。

image.png

点击屏幕右下角的“部署”按钮。创建新的数据流只需几分钟时间。

现在,我们可以看到刚刚创建的数据流。在“数据流”选项卡中,使用下拉箭头选择“所有数据流”列表视图(见图6-14)。

image.png

确保在设置连接器时,如第4章所述,您已经安装了Sales和Service的初始数据包。如果没有,您将无法部署您的初始数据包。如果不确定数据包是否已安装,可以导航到设置 → Salesforce CRM,确认安装是否完成(见图6-15)。

image.png

此外,如果在设置数据流时遇到因权限不足而导致的错误(见图6-16),您需要采取相应的措施。

image.png

由于权限不足而导致的错误需要解决,具体是在 Data Cloud Salesforce Connector 权限集中。请从设置中访问权限集,然后通过选择“对象设置”选项来编辑 Data Cloud Salesforce Connector 权限集,授予所需的任何对象和/或字段的权限。需要授予的权限包括“读取”和“查看所有”对象权限,以及对特定字段的读取权限。

批量数据源摄取连接器:云存储

在这一部分,我们将了解如何使用 Amazon S3 存储连接器来构建数据流。GCS 连接器和 Microsoft Azure 连接器的工作方式与 Amazon S3 存储连接器类似。

限制

与 Amazon S3 和 GCS 连接器类似的云连接器有两个限制:每个文件最大支持 10 GB,每次运行中最多只能安排 1,000 个文件。

也可以使用摄取 API 连接器和 MuleSoft Anypoint 连接器来构建批量数据源的数据流。每个连接器也会被简要讨论,因为它们同样适用于批量摄取以及流式摄取的选项。

Amazon S3 存储连接器

要从 Amazon S3 摄取文件,您需要设置一个连接器,然后创建一个新的数据流:

  1. 使用屏幕右上角的齿轮图标选择“设置”。在“快速查找”窗口中,搜索连接器并点击“新建”按钮。如果您已从功能管理器启用了测试版连接器(图 6-17),您会注意到除了现有的 Amazon S3 连接器外,还有许多可用的测试版连接器。

image.png

目前有超过 80 个新的测试版连接器可用。这些新的 Data Cloud 原生连接器包括 ActiveCampaign、Asana、Google Contacts、Google Drive、IBM Cloud Object Storage、IBM Db2、Jira、Microsoft Teams、Monday、MongoDB、Oracle Eloqua、Oracle NetSuite、Oracle Service Cloud、PayPal、Redis、SAP HANA、Salesloft、ServiceNow、ShipStation、SurveyMonkey、Trello、WooCommerce、Workday、Zendesk 和 eBay。

选择 Amazon S3 连接器后,您需要输入认证和连接详细信息(图 6-18)。输入 S3 存储桶名称、访问密钥和秘密密钥。如果相关,请添加目录信息。点击“测试连接”按钮,确认连接后点击“保存”按钮。

image.png

一旦连接建立成功,您需要返回到 Data Cloud 应用程序,并点击“数据流”标签。现在,您将看到选择 Amazon S3 作为新数据流的选项(图 6-19)。

image.png

选择文件类型(CSV 或 Parquet),并填写文件名的详细信息(图 6-20)。然后点击“下一步”按钮。请注意,您需要为从 Amazon S3 中摄取的每个文件创建新的数据流,但只需建立一次连接即可。

image.png

选择主键。您会注意到,Data Cloud 会自动确定文件中每个字段的数据类型。然而,这些只是建议。您可以接受所有默认选择,或者点击任何特定字段右侧的下拉菜单来更改数据类型(图 6-21)。在完成所有更改或添加新的公式字段后,务必点击“下一步”按钮。

image.png

在最后一个屏幕上,您将选择数据空间和刷新模式。除非有特别的理由选择完全刷新,否则最好选择 Upsert 刷新模式,这将插入新数据并更新现有数据。保持选中状态以立即刷新数据流。在点击“部署”按钮之前,您还可以选择调度频率(图 6-22)。

image.png

成功!现在,您可以查看新数据流的字段、详细信息和刷新历史记录。与之前使用 CRM Connector 的示例不同,我们还没有完成这个数据流。当我们使用 CRM Connector 的起始数据包时,数据流 DLO 会自动映射到标准 DMO。然而,当您设置连接到外部来源的连接器时,字段不会自动映射。您会注意到有一个“开始”按钮,点击它以开始映射 DLO(图 6-23)。我们将在第 7 章学习数据建模,以便在第 9 章完成数据映射。

image.png

Google Cloud Storage Connector

如前所述,使用 GCS Connector 的方式与使用 Amazon S3 Storage Connector 相同。然而,要利用 GCS Connector,您首先需要设置新的 Google 连接器配置。点击屏幕右上角的齿轮图标,进入设置 → 连接器。然后,点击“新建”。您将看到添加新源连接器的选项,其中包括 Google Cloud Storage(图 6-24)。

image.png

保存 Google 连接器配置后,您可以返回到数据流标签页,完成创建新数据流的步骤。

Microsoft Azure Connector

Microsoft Azure Connector 的工作方式与 Amazon S3 Connector 相似,只需在 Data Cloud Setup 中设置 Azure Blob Storage 连接。您需要确保 Azure Blob Storage 帐户具有公共访问级别的私钥设置,并且需要至少配置一个帐户密钥。

Microsoft Azure Connector 可以处理 CSV 或 Parquet 文件类型。Parquet 文件的处理不仅支持 Amazon S3 和 GCS,也支持 Microsoft Azure 存储。您需要查看 Salesforce 文档,了解 Parquet 数据类型如何转换为 Data Cloud 数据类型。例如,STRING、ENUM 和 UUID Parquet 数据类型会被转换为 Data Cloud 的 Text 数据类型。

Data Cloud 支持 CSV 文件的 GZ 和 ZIP 压缩格式。对于 Parquet 文件,平台支持的压缩格式包括 GZ、ZIP、NONE、SNAPPY 和 ZSTD。

对于文本文件的摄取,Data Cloud 支持最常见的内容分隔符,并自动评估摄取的文件以确定分隔符。最佳实践是使用双引号将文件中的值括起来,以确保系统能够正确检测文件分隔符。

Heroku Postgres Connector

现在可以使用 Heroku Postgres Connector,该连接器可以通过 Data Cloud Setup 访问。您还可以使用 AWS RDS for PostgreSQL、Amazon Aurora PostgreSQL 和 Azure Database for PostgreSQL,这些目前处于 beta 阶段。只需在 Data Cloud Setup 中的 Feature Manager 中启用它们即可。

外部平台连接器

目前,存在多个原生连接器用于外部平台。Google Ads、Meta Ads 和 Adobe Marketo Engage 都有专门的 Data Cloud 连接器。此外,还有许多其他外部平台的原生连接器处于测试阶段。示例包括 Veeva Vault、SuiteCRM、SingleStore、ShipStation、Jira、SAP SuccessFactors、Workday 等。使用连接器服务建立自定义连接解决方案之前,您应查阅 Salesforce 文档,以获取最新的可用原生 Data Cloud 连接器列表。

其他批量摄取连接器

在本节中,我们将简要回顾 Ingestion API 和 MuleSoft 连接器,这些连接器既可用于近实时摄取,也可用于批量摄取。我们还将讨论 SFTP 连接器。

Ingestion API Connector

“Ingestion API Connector”一节讨论了近实时摄取连接器。正如之前提到的,单个 Salesforce Data Cloud 数据流可以接受来自这两种连接器的数据。

Ingestion API Connector 批量模式支持 CSV 文件,以便在数据同步周期性发生时进行批量摄取。该批量连接器可以按日、周或月的计划加载大量数据。

限制

批量摄取 API 连接器有两个限制:此连接器仅支持 Insert、Upsert 和 Delete 语句,每个摄取文件的数据不能超过 150 MB。

Ingestion API 还支持按需摄取功能,使用 Salesforce Flow 操作。数据流操作可以基于 Salesforce Ingestion API 自动生成,从而允许用户在数据摄取过程中加入更多逻辑。这些按需摄取功能的一些潜在用例包括:

  • 处理 CRM 数据,包括聚合某些数据,然后有条件地将结果推送到 Data Cloud
  • 从表单提交中摄取用户同意数据
  • 基于屏幕流程记录参与相关数据

MuleSoft Anypoint Connector for Salesforce Customer Data Platform

“MuleSoft Anypoint Connector for Salesforce Customer Data Platform”一节讨论了近实时摄取连接器。除了支持流式 Ingestion API,MuleSoft Anypoint Connector 还支持批量 Ingestion API。

安全文件传输协议连接器

Data Cloud 允许使用新的安全文件传输协议 (SFTP) 连接器,通过安全外壳 (SSH) 协议将 CSV 文件从您的 SFTP 服务器加密传输到 Data Cloud。您可以在 Data Cloud Setup 中设置此连接。选择配置下的更多连接器选项,然后选择 SFTP。确保您已提前收集所需的详细信息:认证方法、用户名、密码、SSH 私钥、密码短语、主机名、端口和父目录。

从 Data Cloud 删除摄取记录

如果您的数据流使用 Upsert 刷新模型,可以删除 Data Cloud 中的摄取数据。此外,删除过程还取决于您使用的连接器类型。

源 Salesforce CRM 平台中的记录将在下一个 Upsert 刷新时被删除。超过 500,000 的 Salesforce CRM 批量删除将在下一个计划的完整刷新时处理。所有 CRM 数据流每两周会进行一次计划的完整刷新,通常在星期五工作结束后进行。

不支持级联删除

删除一个配置文件记录时,其相关的参与记录或其他配置文件记录不会被删除。您需要手动从每个表中删除这些记录。

通过 Amazon S3、GCS 和 SFTP 连接器摄取的记录也可以使用这些连接器进行删除,但不支持行版本控制的删除。

可以使用删除文件

可以使用删除文件来删除以下连接器摄取的记录:Amazon S3、GCS、Microsoft Azure、Ingestion API 和 SFTP 连接器。您需要创建一个 CSV 或 Parquet 文件格式的删除文件。Parquet 文件格式不能用于 Ingestion API 或 SFTP 连接器,但 CSV 文件可以用于上述五个连接器中的任何一个。

Ingestion API 支持删除操作,在程序接收到删除请求后,会异步处理。可以使用 Ingestion API 从任何源删除记录,但这是一项劳动密集型的工作。使用 Ingestion API 删除数据应始终在数据从源中删除后进行,以防止重新摄取。

也可以完全断开数据源。断开数据源将导致 Data Cloud 中的所有数据被删除,这些数据是来自该源的。因为 Data Cloud 是一个引用系统,显示来自源系统记录的数据。当数据源从 Salesforce Data Cloud 断开时,源数据在原始系统记录中保持完整。

查看数据湖对象

创建了一些数据流后,您可以深入查看创建的 DLO(数据湖对象)。在本章中,我们将再次使用 Data Explorer 工具,以便查看我们创建的新 Data Cloud 对象。

当您点击“数据湖对象”标签时,您将可以访问“所有数据湖对象”的列表视图(图 6-25)。

image.png

通过数据联合访问数据源

前一节讨论了多种将数据导入 Salesforce Data Cloud 的方法,您还可以访问 Data Cloud 之外的数据,并将这些数据与 Data Cloud 内部导入和存储的数据进行联合。我们将在第13章讨论数据联合的 BYOL 功能时详细介绍这一点。

总结

作为对 Salesforce Data Cloud 数据导入和存储功能的深入探讨的一部分,我们详细了解了三个不同的菜单选项:

  • 数据探索器
  • 数据流
  • 数据湖对象

我们学习了多种可以在 Salesforce Data Cloud 中使用的数据导入 API 和连接器。在讨论中,我们分享了关于导入能力、回溯窗口、延迟时间、记录删除等方面的具体限制。请始终参考 Salesforce 官方文档获取最新信息,因为这些限制可能会在未来发生变化。

在下一章中,我们将继续探索数据建模主题。数据分析和源数据分类是重要的第一步,因为您需要了解您的数据,以便为源数据分配正确的数据分类。数据源的分类方式具有许多下游影响,例如是否可以对数据进行分段。

接下来,我们将探讨 Data Cloud 标准数据模型以及扩展标准模型的方法。我们还将讨论 Salesforce 同意数据模型及其捕获和存储在数据模型中的各种客户同意级别。