SalesforceSrc
class SalesforceSrc(
queries: QueriesSpec,
include_deleted: bool = False,
initial_last_modified: datetime | None = None,
api_version: ApiVersionSpec | None = None,
src_cfg: SrcCfgSpec | None = None,
)
Bases: Src
Categories: source
Salesforce SOQL source for @publisher -- one query.
Every table this source publishes automatically carries two
metadata columns: @td.salesforce.soql, the query that produced
the row as it was sent to Salesforce (any $lastModified token
already substituted), and @td.salesforce.last_modified, the
initial_last_modified cutoff it ran with (empty when unset).
Setting the src_cfg key tabsdata.src_metadata.drop to True
leaves them off.
Examples
Publish an SObject query, including deleted rows (queryAll):
@publisher(
source=SalesforceSrc(
queries=["SELECT Id, Name FROM Account"],
include_deleted=True,
),
output_tables=["accounts"],
)
def ingest(accounts: TableFrameSpec) -> TableFrameSpec:
return accounts
Parameters
queriesQueriesSpec (list[str])SOQL query list; today exactly one entry (one output slot). The list shape leaves room for future multi-query support.
initial_last_modifieddatetime | NoneOptional cutoff substituted for any
$lastModified token in the SOQL string.
api_versionApiVersionSpec | None (str | None)Optional API-version override, e.g. "60.0"
(<major>.<minor>, 1-3 digit major, 1-2 digit minor).
src_cfgSrcCfgSpec | None (Mapping[Literal['salesforce.logging_level', 'tabsdata.src_metadata.drop'], Any] | None)Optional connector config over the keys
salesforce.logging_level and
tabsdata.src_metadata.drop.