0

我正在尝试将输出结果与输入行匹配,并且从我的测试中,看起来批量操作会以相同的顺序返回结果,但可以保证吗?

input = [{json1},{json2},{json3},...]

sf = Salesforce(instance='<some instance>', session_id='<some session id>')

output = sf.bulk.some_table.upsert(json_data, 'key column', batch_size=1000, use_serial=False)


df1 = pd.json_normalize(input)
df2 = pd.json_normalize(output)

summary_df = pd.merge(input, output, left_index=True, right_index=True)

print(summary_df)
4

1 回答 1

0

Bulk API 的文档似乎表明您可以依赖结果的顺序,并且 Simple Salesforce 不应该以不同的顺序返回(可能会改变,但我不明白为什么库会这样做)。

Salesforce 文档:https ://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_batches_failed_records.htm

跟踪每个结果记录的记录号。每条结果记录对应批次中的一条记录。结果以与批处理请求中的记录相同的顺序返回。跟踪结果中的记录号很重要,这样您就可以在批处理请求中识别关联的失败记录。

于 2021-12-30T19:19:22.217 回答