【问题标题】:How do I store simple_salesforce update responses?如何存储 simple_salesforce 更新响应?
【发布时间】:2021-04-28 14:03:48
【问题描述】:

我正在使用simple_salesforce 更新 Salesforce 中的记录

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

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

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

【问题讨论】:

    标签: python-3.x rest salesforce insert-update simple-salesforce


    【解决方案1】:

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

    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': []}
    ]
    

    【讨论】:

      猜你喜欢
      • 2020-02-12
      • 2019-08-16
      • 1970-01-01
      • 1970-01-01
      • 2020-12-08
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多