Reading from Salesforce Marketing Cloud Account Engagement entities
Prerequisite
A Salesforce Marketing Cloud Account Engagement object you would like to read from. You will need the object name.
Supported entities for source:
Entity | Can be filtered | Supports limit | Supports Order by | Supports Select * | Supports partitioning |
---|---|---|---|---|---|
Campaign | Yes | Yes | Yes | Yes | Yes |
Dynamic Content | Yes | Yes | Yes | Yes | Yes |
Yes | Yes | Yes | Yes | Yes | |
Email Template | Yes | Yes | Yes | Yes | Yes |
Engagement Studio Program | Yes | Yes | Yes | Yes | Yes |
Folder Contents | Yes | Yes | Yes | Yes | Yes |
Landing Page | Yes | Yes | Yes | Yes | Yes |
Lifecycle History | Yes | Yes | Yes | Yes | Yes |
Lifecycle Stage | Yes | Yes | Yes | Yes | Yes |
List | Yes | Yes | Yes | Yes | Yes |
List Email | Yes | Yes | Yes | Yes | Yes |
List Membership | Yes | Yes | Yes | Yes | Yes |
Opportunity | Yes | Yes | Yes | Yes | Yes |
Prospect | Yes | Yes | Yes | Yes | Yes |
Prospect Account | Yes | Yes | Yes | Yes | Yes |
User | Yes | Yes | Yes | Yes | Yes |
Example:
salesforcepardot_read = glueContext.create_dynamic_frame.from_options( connection_type="salesforcepardot", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "entityName", "API_VERSION": "v5" } )
Note the following considerations for the connector:
The value of the
delete
field in the entities can befalse
(default),true
, orall
.
Partitioning queries
Filter-based partitioning:
You can provide the additional Spark options PARTITION_FIELD
, LOWER_BOUND
, UPPER_BOUND
, and
NUM_PARTITIONS
if you want to utilize concurrency in Spark. With
these parameters, the original query would be split into NUM_PARTITIONS
number of sub-queries that can be executed by Spark tasks
concurrently.
PARTITION_FIELD
: the name of the field to be used to partition the query.LOWER_BOUND
: an inclusive lower bound value of the chosen partition field.For the Datetime field, we accept the Spark timestamp format used in SPark SQL queries.
Examples of valid value:
"2022-01-01T01:01:01.000Z"
UPPER_BOUND
: an exclusive upper bound value of the chosen partition field.NUM_PARTITIONS
: the number of partitions.PARTITION_BY
: the type of partitioning to be performed. "FIELD" is to be passed in case of field-based partitioning.
Example:
salesforcepardot_read = glueContext.create_dynamic_frame.from_options( connection_type="salesforcepardot", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "entityName", "API_VERSION": "v5", "PARTITION_FIELD": "createdAt" "LOWER_BOUND": "2022-01-01T01:01:01.000Z" "UPPER_BOUND": "2024-01-01T01:01:01.000Z" "NUM_PARTITIONS": "10", "PARTITION_BY": "FIELD" } )