SF CLI data默认使用bulk api v2, 数据操作效率有了极大的提高。参考文章Work With Large DatasetsBulk api v2的优点执行结果可以很直观的从Bulk Data Load Jobs中看到。相较于bulk api v1只能看到job执行in progress或者closed的状态有了很大的改善。执行速度快query, upsertdelete执行效率高。数据upload到服务器后可以直观的从UI上查看进度。可以关客户端程序。Bulk api v2的缺点很明显执行结果需要使用api工具获取不能很直观的从ui上查看。数据运维常用CLIBulk V21. update/ insertsf data upsert bulk --sobject Account --file .\upsertdata.csv --external-id Account_Id__c --target-org my-scratch--external-id新建数据的时候-Id更新数据的时候改成Auto Number或者external 勾选的文本字段。通常业务提交的数据都是业务Id如123456AB11111等。此处填写external id字段可以避免vlookup数据极大提高了工作效率。文件编码必须是UTF-8可以通过notepad或vs code修改。列名必须是API Name,前后不能有空格.文件最大150M超过后需要手动截取。或者根据sql现在时间范围。Prepare CSV Files2. Querysf data export bulk --query SELECT Id, Name FROM Account --output-file export-accounts.csv --wait 10 --target-org my-scratch这命令可以快速导出数据用于更新删除或者数据对比。缺点就是无法指定列名无法使用关联关系的字段。实际使用的时候可以多条命令行形成一个shell文件一起执行。查询的结果需要使用excel编辑一下。3. Deletesf 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 IdURL:国际版https://login.salesforce.com/services/Soap/c/v60.0/阿里版https://login.sfcrmproducts.cn/services/Soap/c/v61.0/报文soapenv:Envelope xmlns:soapenvhttp://schemas.xmlsoap.org/soap/envelope/ xmlns:urnurn:enterprise.soap.sforce.com xmlns:urn1urn:sobject.enterprise.soap.sforce.com xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance soapenv:Body urn:login urn:usernameXXXXX/urn:username urn:passwordXXXXX/urn:password /urn:login /soapenv:Body /soapenv:EnvelopeHeader:SOAPAction:/services/Soap/c/60.0/Content-Type:text/xml获取失败结果URLhttps://instanceURL/services/data/v59.0/jobs/ingest/{{_jobId}}/failedResultsheaderAuthorizationBearer{{sessionId}}CLI使用如下命令获取Job的执行结果。包括成功和失败两个文件。sf data bulk results --job-id 750C800000XXXXXX --target-org XXXX