Reading from Salesforce Marketing Cloud Account Engagement entities - Amazon Glue
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

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
Email 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 be false (default), true, or all.

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" } )