我们目前正在评估 Salesforce 的 Python 绑定 - 特别是 Beatbox 和 simple-salesforce。在这两个模块中,都缺少创建新自定义表、删除自定义表和删除自定义表的所有项目的功能(不使用单独的删除)。
当然,我们可以通过网络在 Salesforce 中创建和建模我们自己的自定义表格,但为了自动化和可测试性,我们更愿意使用 Python 自动创建表格......关于这个问题和大规模删除问题的任何指针?
我们目前正在评估 Salesforce 的 Python 绑定 - 特别是 Beatbox 和 simple-salesforce。在这两个模块中,都缺少创建新自定义表、删除自定义表和删除自定义表的所有项目的功能(不使用单独的删除)。
当然,我们可以通过网络在 Salesforce 中创建和建模我们自己的自定义表格,但为了自动化和可测试性,我们更愿意使用 Python 自动创建表格......关于这个问题和大规模删除问题的任何指针?
不幸的是,Beatbox 和 Simple-Salesforce 不是为创建或删除自定义对象(表格)而设计的。
创建 Beatbox (SOAP API) 和 Simple-Salesforce(REST API) 是为了与 Salesforce SOAP 和 REST API 一起访问 Salesforce 数据。这允许您创建、更新或删除现有对象的记录并查询这些对象(表)的记录。
如果您想以编程方式创建新的自定义对象,可以通过元数据 API ( https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/ ) 来实现。但是,我还没有找到像 Simple-Salesforce 这样用户友好的工具来创建元数据部署。一般来说,元数据不太友好,因为您必须将整个元数据包作为 zip 文件推送。它比简单的查询或记录创建更麻烦。
对于批量删除,我没有一个好的解决方案。单独执行它们的问题是缓慢还是在您的实例中使用了太多 API 调用?一种可能的解决方案是拥有一个或多个 Apex 类来执行所有删除操作。然后创建一个包含多个复选框的自定义对象。设置触发器以在更新该对象的记录并且复选框填充为 true 时调用 Apex 删除类。然后,您可以从 Python 调用将触发批量删除的对象更新。这是hacky,但它有效。