我正在使用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()
我希望该语句能够正确执行,但是引发了错误。
答案 0 :(得分:1)
tymon/jwt-auth
的连接对象(此处为simple_salesforce
)具有代表每个可用sObject的综合属性。要使用表名动态获取此名称,必须使用sf
。否则,您引用的是属性getattr()
,该属性不存在-没有名为sf.source_table
的sObject。
所以你可以做
source_table
或
sf.Lead.describe()