Loading
设置和维护 Salesforce 组织
为归档导入准备数据和 AWS S3 环境

为归档导入准备数据和 AWS S3 环境

将卸载的 Salesforce 数据成功导入归档应用程序。

示例
示例 要从 S3 存储桶导入数据,请先在其中一个 AWS 区域中创建 S3 存储桶。有关更多信息,请查看 AWS S3 用户指南中的创建通用存储桶

配置 S3 存储桶权限

要建立安全连接,服务需要特定权限,才可以访问 S3 存储桶。按照这些步骤,为 IAM 用户创建授予必要权限的专用 IAM 策略。

所需权限汇总

  • 列表存储桶内容
    • 操作:s3:ListBucket
    • 资源:arn:aws:s3:::my-bucket
    • 条件:仅适用于前缀为 path/to/my/data/* 的对象
  • 读取对象

    • 操作:s3:GetObject
    • 资源:arn:aws:s3:::my-bucket/path/to/my/data/*

    使用此 JSON 策略模板授予所需权限。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "AllowListFolder",
          "Effect": "Allow",
          "Action": "s3:ListBucket",
          "Resource": "arn:aws:s3:::my-bucket",
          "Condition": {
            "StringLike": {
              "s3:prefix": "path/to/my/data/*"
            }
          }
        },
        {
          "Sid": "AllowReadObjects",
          "Effect": "Allow",
          "Action": "s3:GetObject",
          "Resource": "arn:aws:s3:::my-bucket/path/to/my/data/*"
        }
      ]
    }

满足数据导入先决条件

导入的数据文件需要满足这些要求。

  • 数据验证

    • 在当前模式中,请确保每个 CSV 文件的标题包含为该对象定义的至少 80% 的字段。
    • AWS S3 存储桶中所有数据的总大小不能超过 3 TB。
  • 文件格式

    • 确保每个文件为 CSV 格式。
    • 每个 CSV 文件仅包含一个 Salesforce 对象类型的记录,例如 Case.csv 中的所有个案记录。
    • 在当前模式中,确保每个 CSV 文件名与对象的 API 名称完全匹配。
  • 文件页眉

    • 每个 CSV 的第一行是标题行。
    • 标题包含该对象字段的精确 API 名称,例如 FirstName
  • 位置
    • 将所有导入的数据文件放在一个 S3 存储桶中。

在配置 S3 环境且数据格式正确时,启动从 AWS S3 到归档的数据加载。

为归档导入构建文件和附件

要将 ContentVersion 文件和附件记录导入归档应用程序,请准备存储在 CSV 文件中的物理文件和相应的元数据,以便归档可以正确处理和链接您的数据。

请确保满足归档导入的一般数据和 AWS S3 环境要求。

一般 CSV 要求

  • 对于导入过程中的所有 CSV 文件,包含 18 个字符的 Salesforce ID 的 Id 列是必填项。
  • CSV 标题,包含Id和为 Salesforce 模式中的对象定义的所有其他相关标准和自定义字段。

导入 ContentVersion 文件

导入 ContentVersion 文件:

  1. 在 S3 存储桶中,创建名为 ContentDocuments 的目录。
  2. 将所有物理文件(例如 PDF 和 PNG)放在 ContentDocuments 目录中。
    备注
    备注 每个文件名与首次上载到 Salesforce 的原始文件名相匹配至关重要。如果您有两个名称相同的不同文件,此过程将失败。
    备注
    备注 如果相同文件与 Salesforce 中的多个记录关联,则仅在 ContentDocuments 目录中插入该文件的一个副本。归档应用程序将该单个文件附加到引用它的所有记录。
  3. 提供这些 CSV 文件。您可以一起导入这些文件,因此不需要导入订单。
    • ContentDocument.csv:该文件创建父 ContentDocument 记录,这些记录充当文件版本的容器。这些 CSV 字段是必填字段。
      • Id:文件的唯一 18 个字符的 ContentDocument ID。
      • 来自 ContentDocument 模式的所有标准字段(例如 Description)和所有自定义字段(例如 My_Custom__c)。
    • ContentVersion.csv:此文件将文件版本链接到根 ContentDocument 记录。这些 CSV 字段是必填字段。
      • Id:文件的唯一 18 个字符的 ContentVersion ID。
        备注
        备注 确保 ID 与 S3 存储桶中的文件名匹配。
      • ContentDocumentId:ContentDocument.csv 中的 ID。此 ID 将版本链接到容器。
      • PathOnClient:ContentDocuments 目录中相应物理文件的确切原始文件名。
      • VersionData:此字段需要为空。
      • ContentVersion 方案中的所有标准和自定义字段。
    • ContentDocumentLink.csv:此文件将 ContentDocument 记录及其所有版本链接到关联的根 Salesforce 记录,例如客户和个案。这些 CSV 字段是必填字段。
      • Id:文件的唯一 18 个字符的 ContentDocumentLink ID。
      • ContentDocumentId:ContentDocument.csv 的 ID。此 ID 将文件版本链接到容器。
      • LinkedEntityId:与文件关联的记录的 Salesforce ID。
      • ContentDocumentLink 方案中的所有标准和自定义字段。

导入附件记录

导入标准附件的过程遵循比 ContentVersions 更简单的逻辑。

  1. 在 S3 存储桶中,创建名为附件的目录。
  2. 将所有附件文件放入附件目录。
    备注
    备注 每个文件都需要与上传到 Salesforce 的原始文件名相匹配。如果您有两个名称相同的不同文件,此过程将失败。
  3. 创建名为 Attachment.csv 的 CSV 文件。该文件包含目录中每个附件文件的元数据和根记录链接。这些 CSV 字段是必填字段。
    • Id:附件的唯一 18 个字符的附件 ID。
    • ParentId:与此附件关联的记录的 Salesforce ID。
    • Name:此字段需要包含“附件”目录中相应物理文件的精确原始文件名。
    • 附件方案中的所有标准和自定义字段。
    备注
    备注 如果您有大量附件,您可以将元数据拆分为多个索引文件,例如 Attachment_1.csv 和 Attachment_2.csv。
    备注
    备注 所有 CSV 文件需要保留在根文件夹中。请勿将其放在 ContentDocumentsAttachments 子目录中。

解决文件名冲突

当两个不同的物理文件共享原始名称时,会发生文件名冲突。您不能将两个文件放在同一个 S3 目录中。要解决此冲突:

  1. 将 S3 存储桶中的物理文件从原始名称重命名为其唯一的 18 个字符的 Salesforce ID,后跟文件后缀。例如:
    • 附件记录 invoice.pdf 会变为 00P5g000002aBCDEFGA.pdf
    • ContentVersion 文件 report.pdf 会变为 ⁇ g000001ABCDEFE.pdf
  2. 将此新的基于 ID 的文件名添加到适当的 CSV 字段中,以便归档应用程序可以找到它。

    对于 ContentVersion 文件,更新PathOnClient字段。

    对于附件记录,更新Name字段。

验证并启动数据加载

在构建 S3 目录并将相应的 CSV 放在 S3 存储桶的根目录后,您可以启动数据加载。

我们建议您先验证导入过程。

  1. 转到归档中的“活动”选项卡。
  2. 在开始归档之前,您可以下载活动日志来验证所有 CSV 和文件是否加载成功。
    此日志显示了记录的数量,例如个案和附件,以及准备导入的物理文件的列表。在提交归档之前,您可以使用此日志来识别失败,例如缺少文件。

启动从 AWS S3 到归档应用程序的数据加载

开始将准备好的数据从 AWS S3 存储桶加载到安全归档应用程序暂存区域的过程。此操作是导入过程中的第一个有效步骤,并为最后的归档步骤准备数据。

重要
重要 S3 导入对 Hyperforce 组织不可用。如果贵组织使用 Hyperforce,改用本地驱动器导入。Hyperforce 组织的 S3 导入计划在 Winter '27 中进行。
  • 配置 AWS S3 存储桶,并为归档导入准备数据文件。
  • 验证要导入的文件的结构是否正确。
  • 请确认没有运行其他数据导入或策略流程。新进程只能在上一个进程完全完成后开始。

启动数据加载

警告
警告 为防止错误,请确保您的 S3 源文件夹仅包含您计划导入的 CSV 文件。在开始前,删除任何测试文件、备份或无关的报表。
  1. 从归档主页中,单击导入数据图标。
  2. 输入 S3 存储桶的这些连接详细信息。
    • AWS 访问密钥 ID
    • AWS 密码访问密钥
    • S3 存储桶路径

      示例://my-example-bucket/path/to/folder

    • S3 区域

      示例:us-east-2

  3. 要开始进程,请单击导入

监控数据加载过程

系统首先验证 S3 连接和文件格式。如果出现错误,进程将停止,并显示错误消息描述问题。

要查看导入数据加载活动的状态,请转到“活动”选项卡。进度由处理的文件数量来衡量。

备注
备注 “导入数据加载”操作仅在“活动”选项卡上可见,不会显示在主页的“最近活动”部分。

导入数据加载活动完成后,创建并运行导入策略。

在归档应用程序中创建导入策略

在卸载的数据成功加载到归档应用程序暂存区域后,创建并运行特殊的导入策略,将暂存的数据永久移动到归档中。

导入策略仅在数据成功加载到暂存区域后可用。在继续新活动之前,请确认导入数据加载活动已成功完成。

  1. 转到“策略”选项卡。
  2. 选择新建
  3. 选择从导入数据归档
  4. 配置导入策略设置。
    重要
    重要

    要每天归档 100-200 万条记录,请将整个对象树归档为一个进程。在导入策略中,选择归档所有相关记录作为相关对象选择方法。此选项减少了处理开销,并优化了 S3 文件的创建。

导入策略的关键特征

  • 计划程序已关闭。使用立即运行选项。
  • 该策略会自动处理选定根对象的所有暂存记录。筛选器不可用。
  • 该策略处理来自暂存区域的数据,而不是来自您的实时组织,因此不会对性能产生影响。

关系归档设置

  • 设置 描述
    归档所有相关记录 此选项自动归档通过查找关系连接到根记录的所有子记录。
    不归档相关记录 此选项执行目标归档。目标归档仅包括匹配查询的主要记录及其级联-删除关系中的直接依赖子记录。所有其他相关记录,例如标准查找关系中的记录,例如客户上的联系人,将从归档中排除。
    手动选择关系 此选项提供控制,以准确选择归档期间包含的直接子关系。选择此选项后,将显示可用子关系列表,您可以选择要与根对象一起归档的特定对象。

运行和监控导入策略

  1. 要开始最终归档过程,请单击导入策略上的立即运行
  2. 在“活动”选项卡中跟踪状态。
    使用操作类型 Import-data-archive 记录进程。
备注
备注 每个归档进程最多分配 100 万个根记录。如果您计划导入超过 100 万条根记录,归档流程将根据需要分为尽可能多的单独流程,每个流程都有自己的活动,直到导入策略完成。

在开始新的导入之前,系统需要完成当前数据集的完整导入-数据加载和导入-数据归档周期。导入数据归档活动完成后,您的数据将被安全地存储,您可以开始新的导入周期。

保留策略

从这些来源中选择条件。

  • 归档日期
  • 创建日期
  • 上次修改日期

选择要保留归档数据的时间。保留期最短为一个月,最长为 99 年零 11 个月。

创建零年和零个月的保留期意味着数据会在 24 小时内自动清除。

归档导入常见问题

有关归档应用程序中的归档导入的常见问题。

问:如果无法连接到 AWS S3 存储桶,该怎么办?

A:如果您无法连接到 S3 存储桶,请验证您的凭据和权限。请确保您拥有正确的访问密钥、密钥和路径。

问:如果在导入数据加载阶段文件名或数据不正确,将会怎样?

A:如果文件名或数据不正确,请从“活动”选项卡的审计文件中的列表中识别它们。修复错误,并重试加载过程。

问:如果导入正在进行,我可以开始新的导入吗?

A:否,如果导入正在运行,您不能启动新导入。用户界面 (UI) 中会出现一条错误消息,表明另一个进程正在进行。等待当前导入完成,或联系 Salesforce 支持。归档所有导入的记录后,您可以开始新的导入。请确保在相同进程中导入所有必需的数据。

问:我是否应该按文件类型将导入分为多个作业,例如先加载任务,然后加载图像?

A:否。为了获得最佳性能,请在单个导入作业中包含所有 CSV 和内容文件。为不同的文件类型运行单独的作业,例如在一个作业中加载任务,在另一个作业中加载图像,这需要归档重复地将数据库传输到 S3 并从中传输。这种重复会显著减慢加载过程。

问:能否同时运行多个归档策略?

A:不可以,您一次只能运行一个归档策略。如果您尝试运行其他策略,您会在 UI 中收到错误消息。因为您在同一个数据库中工作,所以您不能让一个归档进程在另一个进程读取数据时删除它。

问:归档导入的数据时如何选择关系?

A:定义策略时,指定要包含的查找关系。自动包含主-详细信息关系。

如果您不确定要包含哪些查找关系,请选择所有关系。此选项确保应用程序归档根记录及其所有相关子记录。如果您稍后取消归档相关子记录,应用程序会从根记录开始还原整个记录层次结构。

问:如何监控归档过程的进度?

A:您可以通过查看“活动”选项卡中的进度条来监控归档过程的进度。进度条显示已归档记录在记录总数中的百分比。

问:如果归档过程无法从安全暂存区域删除记录,将会怎样?

A:如果归档过程无法从暂存区域删除记录,审核文件将显示错误消息,但归档将继续完成。为防止重复,系统不会将同一记录归档多次,即使在归档过程后出现清理错误。

问:如果归档过程卡住,我可以手动重新启动吗?

A:是,如果归档进程卡住,并且新进程没有自动启动,您可以手动重新启动它。但是,如果您遇到此问题,请联系 Salesforce 支持,以确认一切正常工作。

问:如果在“活动”选项卡中看不到审计文件,该怎么办?

A:如果您在“活动”选项卡中看不到审计文件或活动日志,请检查您的筛选器。请确认您没有按排除当前活动的开始或结束日期进行筛选。如果问题仍然存在,请联系 Salesforce 支持寻求帮助。

问:一个归档流程可以归档多少条记录?

A:一个归档流程可以处理最多 100 万个记录。如果您有超过 100 万条记录需要归档,进程会拆分为多个进程,每个进程处理 100 万条记录。此过程是自动化的。

问:如果有以前存档文件的剩余记录,我可以开始新的导入吗?

A:否,您必须先归档剩余记录,然后才能开始新导入。如果您遇到问题,Salesforce 支持可以提供有关缺少哪些记录并需要归档的信息。

问:归档过程需要多长时间?

A:从暂存区域归档记录所需的时间取决于数据库中的记录数量,以及您归档的记录数量。“活动”选项卡中的进度条可以帮助您估计时间。

问:如果我看到一条消息说某个对象已归档,但事实并非如此,该怎么办?

A:如果对象未归档,此消息不会显示。如果您看到此错误,则表明它来自之前失败的删除操作。请联系 Salesforce 支持部门解决问题,并确认记录已正确归档。

 
正在加载
Salesforce Help | Article