Amazon DynamoDB 数据访问:Salesforce Connect 适配器指南

Salesforce Connect 的 Amazon DynamoDB 适配器让管理员和开发者无需 ETL 即可虚拟化 AWS 高扩展 DynamoDB 数据。本文介绍数据虚拟化原理、安全认证、数据建模,以及从命名凭据到外部对象、字段映射和限定符的完整连接步骤。...

📅 2026/9/22 ✍️ ponybai 🏷️ salesforce, aws, integration, database, headless

学习目标

slide_2

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

  • 描述数据虚拟化及其好处。
  • 解释命名凭据(Named Credentials)的好处。

轻松虚拟化数据

slide_3

各种规模的组织都在使用 Salesforce 和 AWS 工具,利用实时企业数据构建现代客户体验。它们依靠 Salesforce 高效管理客户关系,并在 Salesforce Platform 上构建新应用,同时借助 AWS 的计算、存储和数据库能力。

Salesforce Connect 的 Amazon DynamoDB 适配器,让 Salesforce 管理员和开发者能够虚拟化来自 Amazon 高扩展性 DynamoDB 数据存储的数据,从而把这些数据当作直接存储在 Salesforce 中一样使用。你可以无缝、快速地集成数据,而无需传统提取、转换、加载(ETL)的复杂流程,还能原生使用 AWS 服务构建自定义应用,并安全地跨两个平台自动化工作流。

什么是数据虚拟化?

slide_4

许多数据集成策略都涉及 ETL——在两个系统之间移动或同步数据。ETL 工具会把信息从记录系统复制到需要使用部分或全部记录的其他应用。企业往往需要高技能团队来监控和维护这些集成,而 DynamoDB 能在 AWS 全球基础设施上存储数十亿条记录,进一步增加了复杂度。

虚拟化通过在用户或系统操作需要记录的那一刻,对 DynamoDB API 端点进行实时调用,避免了同步海量数据的繁重工作。Salesforce Connect 只查询该操作所需的数据,不存储或缓存服务器返回的记录。这种方法帮助企业控制成本、避免技术麻烦,并遵守数据移动的安全与合规准则。

借助 Salesforce Connect,可以从 DynamoDB 中的某个表创建一个或多个外部对象。开发者可以针对该数据源编写 SOQL 查询和 Apex,而无需编写访问 DynamoDB 自定义 API 的代码——简而言之,Salesforce Trailblazer 无需重新学习技能,就能在应用中使用 Amazon DynamoDB 的高扩展数据。

无缝安全认证

slide_5

这些新能力通过新一代命名凭据与 AWS 安全交互。该功能增强了对 AWS Signature V4 认证协议的支持,通过权限集为 Salesforce 管理员提供更好的安全性,并允许多个 Salesforce 应用共享由身份与访问管理(IAM)定义的凭据。

管理员可以通过 IAM 为其 AWS 资源提供精细化的安全控制,然后为 Salesforce 创建一个命名主体(named principal)来使用。为减少重复权限管理的负担,多个 Salesforce 应用既可以共享某个命名主体的凭据,也可以定义各自的配置。无论哪种方式,Salesforce 用户都通过外部凭据引用的权限集被明确授予发起这些调用的权限。

深入了解 DynamoDB 数据建模

slide_6

Amazon DynamoDB 通过一系列不同于关系型数据库管理系统(RDBMS)的权衡,实现了在高规模下的一致快速性能。一个复杂的分区方案管理着超大表的存储;在这种规模下,JOIN 变得不切实际、不受支持,查询在其他方面也受到限制。要了解更多,可参考 Amazon DynamoDB 开发者指南:在 DynamoDB 中建模关系数据。

Salesforce Connect 的 DynamoDB 适配器让使用 DynamoDB 数据变得简单。在下一单元中,我们将学习如何创建这些连接。

创建到 Amazon DynamoDB 的连接

slide_7

下面一步步设置 DynamoDB 连接并初始化外部对象。

学习目标

slide_8

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

  • 描述连接到 Amazon DynamoDB 的过程。
  • 识别不同类型字段的映射选项。

配置命名凭据

slide_9

在 Setup 中配置命名凭据,步骤:

  1. 在 Quick Find 中输入 Named Credentials,选择 Named Credentials,点击 New Named Credential。
  2. 填写 Label(例如 DynamoDBNC),Name 会根据 Label 自动填充。
  3. URL 填写 DynamoDB 端点 https://dynamodb.REGION.amazonaws.com(把 REGION 换成实际区域)。
  4. Identity Type 选择 Named Principal,Authentication Protocol 选择 AWS Signature Version 4。
  5. 填写 AWS Access Key ID、AWS Secret Access Key、AWS Region 和 AWS Service(例如 dynamoDB),点击 Save。

创建外部数据源

slide_10

接着创建外部数据源,步骤:

  1. 在 Quick Find 中输入 External Data,选择 External Data Sources,点击 New External Data Source。
  2. 填写 External Data Source 名称(例如 ShippingDynamoDB),Name 自动填充。
  3. Type 选择 Amazon DynamoDB,Named Credential 选择上一步创建的凭据(例如 DynamoDBNC)。
  4. Connection Timeout 默认 120 秒;若需要对外部对象增删改 DynamoDB 数据,才勾选 Writable External Objects(默认只读)。
  5. 其余字段保持默认,点击 Save。

创建 Salesforce 外部对象

slide_11

把 Amazon DynamoDB 中的表映射为 Salesforce 中的一个或多个外部对象。外部对象与自定义对象类似,只是映射到存储在 DynamoDB 中的数据。步骤:

  1. 在 Quick Find 中输入 External Objects,选择 External Objects,点击 New External Object。
  2. 填写 Label(例如 Shipping Manifest)、Plural Label(用于选项卡,例如 Shipping Manifests)。
  3. Object Name 自动填充(需在 org 内全局唯一)。
  4. External Data Source 选择上一步创建的数据源(例如 ShippingDynamoDB),Table Name 填写映射的 DynamoDB 表(例如 ShippingData)。
  5. 点击 Save。

同步对象元数据

slide_12

创建外部对象后,需要从 DynamoDB 同步对象元数据:

  1. 在 Quick Find 中输入 External Data,选择 External Data Sources。
  2. 选择外部数据源名称(例如 ShippingDynamoDB)。
  3. 点击 Validate and Sync,选择要同步的 DynamoDB 表,点击 Sync。

将外部对象字段映射到 DynamoDB 属性

slide_13

DynamoDB 中的属性值必须正确映射到外部对象字段所定义的数据类型。外部对象字段可映射到 string、number 和 boolean 标量类型的属性。对于表示日期或时间戳的 string 类型属性,date、dateTime 或 time 必须以 ISO 8601 格式存储。

典型用例是把 DynamoDB 中的记录与原生 Salesforce 记录关联显示:多个 eCommerce 订单属于一个 Account,或多个 Shipment 属于一个 Account/Order,都显示为相关列表(Related List)。这些外部记录通常通过 Indirect Lookup 字段关联到原生记录,避免把 Salesforce 记录 ID 传到 DynamoDB;当 DynamoDB 记录之间需要相互引用时,则使用 External Lookup(例如 Order Items 指向 Orders、Shipments 指向 Shippers)。

指定限定符

slide_14

Amazon DynamoDB 采用独特的设计模式,支持多表和单表设计,以保证效率。为了让存储在 DynamoDB 表中的数据可被外部对象访问,需要使用限定符(qualifiers)重新解释外部数据。限定符描述项目属性,并指明某个项目是否属于该外部对象所表示的 schema。对于多表 schema 设计,表限定符是可选的。

以上只是 Salesforce Connect 的 Amazon DynamoDB 适配器的基础知识,更多深入内容请参考资源。


文章来源:Trailhead - Amazon DynamoDB Data Access