Simple_Salesforce 动态批量查询

Simple_Salesforce Dynamic bulk query

动态添加对象到 Simple_Salesforce 的批量查询作业。

我不确定如何将变量传递给 sf.bulk."Object".query

我希望能够将一个对象 say "Account" 传递给定义,它会执行批量查询 sf.bulk.Account.query("SOQL...")

sf = Salesforce(username=sf_username, password=sf_password, security_token=sf_token)

def SOQL(table):
    qryResult = sf.bulk.`table`.query('SELECT Id FROM ' + table)

SOQL("Account")

我想 python 将其翻译成 sf.bulk.Account.query("SELECT Id FROM Account")

可以直接调用sf.bulk__getattr__ method:

sf = Salesforce(username=sf_username, password=sf_password, security_token=sf_token)

def SOQL(table):
    return sf.bulk.__getattr__(table).query('SELECT Id FROM ' + table)

result = SOQL("Account")

我添加了一个 return 因为我想你会想要结果(我知道这可能是一个最小的例子,但仍然如此)。

为什么这有效:

基本上,在幕后,当您调用 sf.bulk.Account 时,python 正在为您调用 sf.bulk.__getattr__("Account")。 (这是一个长话短说;dig more into python 并进入链接的源代码以获得更多信息)