您在此处:
为归档导入准备数据和 AWS S3 环境
将卸载的 Salesforce 数据成功导入归档应用程序。
配置 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 到归档应用程序的数据加载
开始将准备好的数据从 AWS S3 存储桶加载到安全归档应用程序暂存区域的过程。此操作是导入过程中的第一个有效步骤,并为最后的归档步骤准备数据。 - 在归档应用程序中创建导入策略
在卸载的数据成功加载到归档应用程序暂存区域后,创建并运行特殊的导入策略,将暂存的数据永久移动到归档中。 - 归档导入常见问题
有关归档应用程序中的归档导入的常见问题。
另请参阅:
为归档导入构建文件和附件
要将 ContentVersion 文件和附件记录导入归档应用程序,请准备存储在 CSV 文件中的物理文件和相应的元数据,以便归档可以正确处理和链接您的数据。
请确保满足归档导入的一般数据和 AWS S3 环境要求。
一般 CSV 要求
- 对于导入过程中的所有 CSV 文件,包含 18 个字符的 Salesforce ID 的
Id列是必填项。 - CSV 标题,包含
Id和为 Salesforce 模式中的对象定义的所有其他相关标准和自定义字段。
导入 ContentVersion 文件
导入 ContentVersion 文件:
- 在 S3 存储桶中,创建名为 ContentDocuments 的目录。
-
将所有物理文件(例如 PDF 和 PNG)放在 ContentDocuments 目录中。
备注 每个文件名与首次上载到 Salesforce 的原始文件名相匹配至关重要。如果您有两个名称相同的不同文件,此过程将失败。备注 如果相同文件与 Salesforce 中的多个记录关联,则仅在 ContentDocuments 目录中插入该文件的一个副本。归档应用程序将该单个文件附加到引用它的所有记录。
-
提供这些 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 方案中的所有标准和自定义字段。
- ContentDocument.csv:该文件创建父 ContentDocument 记录,这些记录充当文件版本的容器。这些 CSV 字段是必填字段。
导入附件记录
导入标准附件的过程遵循比 ContentVersions 更简单的逻辑。
- 在 S3 存储桶中,创建名为附件的目录。
-
将所有附件文件放入附件目录。
备注 每个文件都需要与上传到 Salesforce 的原始文件名相匹配。如果您有两个名称相同的不同文件,此过程将失败。
-
创建名为 Attachment.csv 的 CSV 文件。该文件包含目录中每个附件文件的元数据和根记录链接。这些 CSV 字段是必填字段。
Id:附件的唯一 18 个字符的附件 ID。ParentId:与此附件关联的记录的 Salesforce ID。Name:此字段需要包含“附件”目录中相应物理文件的精确原始文件名。- 附件方案中的所有标准和自定义字段。
备注 如果您有大量附件,您可以将元数据拆分为多个索引文件,例如 Attachment_1.csv 和 Attachment_2.csv。备注 所有 CSV 文件需要保留在根文件夹中。请勿将其放在ContentDocuments或Attachments子目录中。
解决文件名冲突
当两个不同的物理文件共享原始名称时,会发生文件名冲突。您不能将两个文件放在同一个 S3 目录中。要解决此冲突:
-
将 S3 存储桶中的物理文件从原始名称重命名为其唯一的 18 个字符的 Salesforce ID,后跟文件后缀。例如:
- 附件记录 invoice.pdf 会变为 00P5g000002aBCDEFGA.pdf
- ContentVersion 文件 report.pdf 会变为 ⁇ g000001ABCDEFE.pdf
-
将此新的基于 ID 的文件名添加到适当的 CSV 字段中,以便归档应用程序可以找到它。
对于 ContentVersion 文件,更新
PathOnClient字段。对于附件记录,更新
Name字段。
启动从 AWS S3 到归档应用程序的数据加载
开始将准备好的数据从 AWS S3 存储桶加载到安全归档应用程序暂存区域的过程。此操作是导入过程中的第一个有效步骤,并为最后的归档步骤准备数据。
- 配置 AWS S3 存储桶,并为归档导入准备数据文件。
- 验证要导入的文件的结构是否正确。
- 请确认没有运行其他数据导入或策略流程。新进程只能在上一个进程完全完成后开始。
在归档应用程序中创建导入策略
在卸载的数据成功加载到归档应用程序暂存区域后,创建并运行特殊的导入策略,将暂存的数据永久移动到归档中。
导入策略仅在数据成功加载到暂存区域后可用。在继续新活动之前,请确认导入数据加载活动已成功完成。
- 转到“策略”选项卡。
- 选择新建。
- 选择从导入数据归档。
-
配置导入策略设置。
重要
要每天归档 100-200 万条记录,请将整个对象树归档为一个进程。在导入策略中,选择归档所有相关记录作为相关对象选择方法。此选项减少了处理开销,并优化了 S3 文件的创建。
导入策略的关键特征
- 计划程序已关闭。使用立即运行选项。
- 该策略会自动处理选定根对象的所有暂存记录。筛选器不可用。
- 该策略处理来自暂存区域的数据,而不是来自您的实时组织,因此不会对性能产生影响。
关系归档设置
-
设置 描述 归档所有相关记录 此选项自动归档通过查找关系连接到根记录的所有子记录。 不归档相关记录 此选项执行目标归档。目标归档仅包括匹配查询的主要记录及其级联-删除关系中的直接依赖子记录。所有其他相关记录,例如标准查找关系中的记录,例如客户上的联系人,将从归档中排除。 手动选择关系 此选项提供控制,以准确选择归档期间包含的直接子关系。选择此选项后,将显示可用子关系列表,您可以选择要与根对象一起归档的特定对象。
归档导入常见问题
有关归档应用程序中的归档导入的常见问题。
问:如果无法连接到 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 支持部门解决问题,并确认记录已正确归档。
