Salesforce中的大数据负载

时间:2019-10-09 15:56:39

标签: salesforce informatica

我遇到了奇怪的限制,想听听是否有人解决了这个问题。

问题陈述:从外部将数据加载到salesforce中。每3小时一次突发数据量为100万条记录。

我的源编排工具(NiFi)能够制作这么多的REST API,但是Salesforce要求不要以如此高的吞吐量使用REST。我不确定其销售人员或产品团队的限制是否造成了人为的上限。

他们建议使用数据加载器,它似乎是salesforce的批处理加载器,但是它也不是那么快。也有不同的问题。当我获取数据时,我无法触发数据加载器,所以也没有帮助。

很久以前,我曾使用Informatica连接到salesforce,我们过去曾传递相似数量的数据,而且没有任何问题。有人可以回答Informatica连接器如何解决此瓶颈问题吗?它在下面使用了什么?

还有其他方法可以将大量数据推送到Salesforce吗?

1 个答案:

答案 0 :(得分:0)

简短的回答:重新考虑您的用例。重写您的应用程序以使用不同的连接到SF的机制。

长答案:标准Salesforce API(SOAP或REST,无关紧要)是同步的。请求响应,工作完成。一个API调用最多只能记录200条记录。您的卷更适合批量API。其中一个仅用于REST(尽管它可以接受XML,JSON或CSV),在一个API调用中最多可记录1万条记录。关键区别在于它是异步的。您提交工作,获取工作ID,您可以检查(每10秒一次?每分钟一次?)“完成了吗?如果可以,请给我我的成功/失败结果”。但是,所有这些检查当然也会消耗1个API调用。同时,SF从您那里收到了一堆压缩文件,并将在资源允许的情况下尽快进行解压缩和处理。

所以(忽略最初的login调用),我们来讨论限制。在沙箱中,API调用的24小时滚动限制为500万个调用。庞大。在生产环境中,这是15K API调用+每个拥有完整许可证的用户(销售云,服务云)+ 1K +您可以购买更多容量...或者只需转到设置->公司信息并检查您的限额即可。

假设您有5位用户,那么每天的生产量为20K。在最大容量下的24小时内,您将能够推送10K * 20K = 200M插入/更新。嗯,由于登录调用和检查状态并拉出结果文件而减少了一些工作,但是仍然很好。如果那还不够的话-您有更大的问题;)使用标准API可以让您获得200 * 20K =仅有4M条记录。

SF支持人员告诉您使用Data Loader,因为在DL中,它只是选中一个复选框以使用批量API。您不在乎后端机制是否有所不同。您甚至可以编写脚本以从命令行运行Data Loader(https://resources.docs.salesforce.com/216/latest/en-us/sfdc/pdf/salesforce_data_loader.pdf第4章)。或者,如果它是Java应用程序,则只需在构建DL UI的顶部重复使用JAR文件即可。

这些可能也有帮助: