☰
salesforce SF CLI 数据运维经验分享
2026/10/22 12:26:22 网站建设 项目流程

SF CLI data默认使用bulk api v2, 数据操作效率有了极大的提高。

参考文章:Work With Large Datasets

Bulk api v2的优点:

  1. 执行结果可以很直观的从Bulk Data Load Jobs中看到。相较于bulk api v1,只能看到job执行in progress,或者closed的状态,有了很大的改善。
  2. 执行速度快,query, upsert,delete执行效率高。
  3. 数据upload到服务器后,可以直观的从UI上查看进度。可以关客户端程序。

Bulk api v2的缺点很明显,执行结果需要使用api工具获取,不能很直观的从ui上查看。

数据运维常用CLI(Bulk V2):

1. update/ insert

sf data upsert bulk --sobject Account --file '.\upsertdata.csv' --external-id Account_Id__c --target-org my-scratch

--external-id:新建数据的时候,-Id,

更新数据的时候,改成Auto Number或者external 勾选的文本字段。通常业务提交的数据都是业务Id,如123456,AB11111等。此处填写external id字段可以避免vlookup数据,极大提高了工作效率。

文件编码必须是UTF-8,可以通过notepad++或vs code修改。列名必须是API Name,前后不能有空格.文件最大150M,超过后需要手动截取。或者根据sql现在时间范围。Prepare CSV Files

2. Query

sf data export bulk --query "SELECT Id, Name FROM Account " --output-file export-accounts.csv --wait 10 --target-org my-scratch

这命令可以快速导出数据,用于更新,删除,或者数据对比。缺点就是无法指定列名,无法使用关联关系的字段。

实际使用的时候,可以多条命令行形成一个shell文件,一起执行。查询的结果,需要使用excel编辑一下。

3. Delete

sf data delete bulk --sobject MyObject__c --file files/delete.csv --wait 5 --target-org my-scratch

删除的文件中,只需要Id一列。可以结合Query的命令行快速完成数据的删除工作。

如何获取执行结果

1. setup=》Bulk Data Load Jobs中查看job的执行结果,

2. 如果遇到有错误的情况,使用post man或者其他API工具,根据单个Job Id获取结果。方法如下,或参考SOAP API 文档配置。

获取session Id

URL:

国际版:https://login.salesforce.com/services/Soap/c/v60.0/

阿里版:https://login.sfcrmproducts.cn/services/Soap/c/v61.0/

报文:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:enterprise.soap.sforce.com" xmlns:urn1="urn:sobject.enterprise.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <urn:login> <urn:username>XXXXX</urn:username> <urn:password>XXXXX</urn:password> </urn:login> </soapenv:Body> </soapenv:Envelope>

Header:

SOAPAction:/services/Soap/c/60.0/

Content-Type:text/xml

获取失败结果

URL:https://instanceURL/services/data/v59.0/jobs/ingest/{{_jobId}}/failedResults

header:

Authorization:Bearer{{sessionId}}

CLI:

使用如下命令获取Job的执行结果。包括成功和失败两个文件。

sf data bulk results --job-id 750C800000XXXXXX --target-org XXXX

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询