Salesforce API totalSize 并不总是与返回的行数匹配
Salesforce API totalSize does not always match to the number of rows returned
我正在从 salesforce API 下载数据。 table 很大,我使用 query_more 来获得完整结果。问题是结果中返回的 totalSize
并不总是与返回的实际记录数匹配。可以少几条记录,有时完全匹配。
totalSize
只是估计值还是应该与返回的记录数完全匹配?请帮助澄清这个问题。返回查询结果的方法代码:
sf_conn = self.get_conn()
result = sf_conn.query(self.soql)
totalSize = result['totalSize'] # This does not always match !!!
logging.info('Total result set size: %s', totalSize )
while True:
yield result
if result['done']:
break
result = sf_conn.query_more(result['nextRecordsUrl'], identifier_is_url=True)
终于想通了。
我希望这个答案对那些还不知道如何在 Salesforce 中删除记录的人有用。
当记录在 Salesforce 中被删除时,它被放入回收站。这样的记录有 isDeleted=true。 15 天后这些记录将完全消失。
sf_conn.query
和sf_conn.query_more
方法有参数include_deleted
,默认False.
默认情况下,这些方法不会 return 记录具有 isDeleted=True
。如果作业 运行 时间很长,一些记录在执行过程中会被删除并且不会被提取。如果您进行数据质量检查以检查处理的记录数是否等于从 API 获取的记录数,最好不要依赖 TotalSize
字段并计算实际获取的记录数。另请参阅有关 how records get deleted in Salesforce.
的文档
我正在从 salesforce API 下载数据。 table 很大,我使用 query_more 来获得完整结果。问题是结果中返回的 totalSize
并不总是与返回的实际记录数匹配。可以少几条记录,有时完全匹配。
totalSize
只是估计值还是应该与返回的记录数完全匹配?请帮助澄清这个问题。返回查询结果的方法代码:
sf_conn = self.get_conn()
result = sf_conn.query(self.soql)
totalSize = result['totalSize'] # This does not always match !!!
logging.info('Total result set size: %s', totalSize )
while True:
yield result
if result['done']:
break
result = sf_conn.query_more(result['nextRecordsUrl'], identifier_is_url=True)
终于想通了。 我希望这个答案对那些还不知道如何在 Salesforce 中删除记录的人有用。
当记录在 Salesforce 中被删除时,它被放入回收站。这样的记录有 isDeleted=true。 15 天后这些记录将完全消失。
sf_conn.query
和sf_conn.query_more
方法有参数include_deleted
,默认False.
默认情况下,这些方法不会 return 记录具有 isDeleted=True
。如果作业 运行 时间很长,一些记录在执行过程中会被删除并且不会被提取。如果您进行数据质量检查以检查处理的记录数是否等于从 API 获取的记录数,最好不要依赖 TotalSize
字段并计算实际获取的记录数。另请参阅有关 how records get deleted in Salesforce.