0

simple_salesforce用于更新 Salesforce 中的记录

我想保留一个“日志”,其中记录了成功更新的记录以及收到的任何错误消息。例如:成功更新的响应是“204”。如何将该响应保存到变量?

一旦我在变量中获得了该值,我就知道如何将其存储在日志表中。非常感谢你的帮助

sf.table.update(uniqueID,{fieldname: new_AccountID}) 
4

1 回答 1

0

希望我的问题是正确的,因为答案是 - 只需将结果分配给一个变量

from simple_salesforce import Salesforce, SalesforceResourceNotFound, SalesforceMalformedRequest

id = '0030e0000000001'
try:
    update_result = salesforce.Contact.update(id, {'Phone': '+1234567890'})
    # alternatively you can create log line just here 
    # update_result = f'{id} was successfully updated'
except SalesforceResourceNotFound:
    update_result = f'record {id} not found'
except SalesforceMalformedRequest as ex:
    print(ex)
    
print(update_result)
#$> 204 or 'record 0030e0000000001aaaaaaaaa not found' on exception when id is incorrect

尽管如果您要处理多条记录,则必须考虑使用bulk api

contact_data = [
    {'Id': '0030e0000000001', 'Phone': '11111111111', 'Custom_Field__c': 1000},
    {'Id': '0030e0000000002', 'Phone': '22222222222', 'Custom_Field__c': 2000}
]

update_results = salesforce.bulk.Contact.update(contact_data)

然后update_results看起来像那样

[
    {'success': True, 'created': False, 'id': '0030e0000000001', 'errors': []},
    {'success': True, 'created': False, 'id': '0030e0000000002', 'errors': []}
]
于 2021-04-29T05:04:13.290 回答