0

我正在使用 simple_salesforce API 客户端从 pyspark shell 连接到 salesforce,以便查询对象列表。当我试图描述对象以查找可用列列表时,出现以下错误:

simple_salesforce.exceptions.SalesforceResourceNotFound:资源 source_table 未找到。响应内容:[{u'errorCode': u'NOT_FOUND', u'message': u'请求的资源不存在'}]

我观察到,当我使用变量名称来存储对象(表)名称时,我收到了 resourcenotfound 错误。所以我在 desc 语句中对对象进行了硬编码,如下所示: desc = sf.Lead.desc() 现在这正在工作。

但是我想要一个可行的解决方案,我可以在运行时提供对象名称,或者在我的情况下,我有一个对象列表。每次我必须循环并描述它们。

    sf = Salesforce(username='xxxxxxx', password='yyyyyy', 
         security_token='')
    source_table = "Lead"
    desc = sf.source_table.describe()

我希望该语句正确执行,但它引发了错误。

4

1 回答 1

2

simple_salesforce的连接对象(sf此处)具有代表每个可用 sObject 的合成属性。要使用表名动态获取此信息,您必须使用getattr(). 否则,您指的sf.source_table是不存在的属性 - 没有调用 sObject source_table

所以你可以做

sf.Lead.describe()

或者

getattr(sf, "Lead").describe()
于 2019-08-10T18:50:32.167 回答