Agent Skills
返回列表
💻

Salesforce批量API数据加载器

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/salesforce-bulk-api-data-loader。

技能介绍

为什么要写这个

在 Salesforce 上导入几十万甚至上百万条记录时,常规的 REST API 逐条 POST 基本不可行:请求次数会迅速耗尽限制,超时和限流(HTTP 429)会让任务半途失败,重跑又浪费已消耗的配额。本地 ETL 工具(Data Loader CLI、Integration Tools)虽然能跑,但在 Web 服务、Node.js 脚本或 CI 流水线里很难直接嵌入。这时需要的是能「一次提交、异步执行、轮询状态」的批量通道。

它做了什么

该技能封装了 Salesforce Bulk API 2.0 的完整批量流程:

  • 通过 createJob() 创建 Ingest 类型的批量任务,声明要写入的对象和 CSV 文件的结构;
  • 将本地 CSV 内容以文件上传的形式提交,而不是逐条拼 JSON,省去大量网络往返;
  • 使用 getJobInfo() 轮询任务状态,确认批次何时完成、是否进入队列或报错;
  • 面向百万级记录场景设计,适合批量初始化、定期全量/增量同步、历史数据迁移等任务。

底层实现基于 JSforce(原名 Node-Salesforce),这是一个同构的 Salesforce API 客户端库,浏览器和 Node.js 环境均可调用;它还自带 CLI 和 REPL,便于本地验证 API 行为和调试字段映射。

适用边界

  • 不是流式转换器:它负责把已准备好的 CSV 送进 Bulk API,字段清洗、去重和类型校验仍需自己处理。
  • 依赖 JSforce:项目需引入该库,并自行处理认证(OAuth、连接、会话有效期),技能不替代权限配置。
  • 容量与限制:Bulk API 2.0 的作业大小、并发数由 Salesforce 侧控制,超量时需要分片或降低并发;请确认目标组织已开启 Bulk API。
  • CSV 结构要匹配:首行列名需与目标对象的字段对应,日期/数字格式遵循 Salesforce 约定,否则加载会失败或写脏数据。
  • 生产使用前建议先在 sandbox 用小样本验证,再逐步放大量级。

相关资料

  • Salesforce 官方文档:Bulk API 2.0 与 Asynch Processing
  • JSforce README(含浏览器与 Node.js 用法、CLI 说明)

使用场景

  • 迁移旧系统里的几十万条客户数据到 Salesforce Account,需要用 Bulk API 创建 Ingest 任务并上传 CSV。
  • 每月把产品目录更新写入 Salesforce,通过 JSforce 在 Node.js 脚本里批量提交 CSV 并轮询完成状态。
  • 在 CI 流水线中向 sandbox 导入测试种子数据,用 getJobInfo 等待异步批次结束再执行后续验证。
  • 从外部数据库导出标准化 CSV,批量加载到自定义对象并处理可能出现的字段映射报错。

适合人员

  • 后端工程师:需要把批量数据导入逻辑直接写进 Node.js 服务或 CI 脚本,不想依赖 Data Loader CLI。
  • 数据工程师:负责把多源历史数据转换后写入 Salesforce,要求任务可重复、状态可追踪。
  • Salesforce 平台管理员:在 sandbox 中验证批量加载流程和字段映射,确认后再推广到生产组织。
  • 集成开发者:使用 JSforce 构建浏览器或 Node.js 应用,需要执行百万级记录的异步批量写入。