

# Lectura de entidades de Salesforce Marketing Cloud Account Engagement
<a name="salesforce-marketing-cloud-account-engagement-reading-from-entities"></a>

**Requisito previo**

Un objeto de Salesforce Marketing Cloud Account Engagement desde el cual le gustaría leer. Necesitará el nombre del objeto.

**Entidades compatibles para el origen sincrónico:**


| Entidad | Se puede filtrar | Admite límite | Admite Ordenar por | Admite Seleccionar \$1 | Admite partición | 
| --- | --- | --- | --- | --- | --- | 
| Campaña | Sí | Sí | Sí | Sí | Sí | 
| Dynamic Content | Sí | Sí | Sí | Sí | Sí | 
| Correo electrónico | Sí | Sí | Sí | Sí | Sí | 
| Plantilla de correo electrónico | Sí | Sí | Sí | Sí | Sí | 
| Programa Engagement Studio | Sí | Sí | Sí | Sí | Sí | 
| Contenido de carpeta | Sí | Sí | Sí | Sí | Sí | 
| Página de destino | Sí | Sí | Sí | Sí | Sí | 
| Historia del ciclo de vida | Sí | Sí | Sí | Sí | Sí | 
| Etapa del ciclo de vida | Sí | Sí | Sí | Sí | Sí | 
| Enumeración | Sí | Sí | Sí | Sí | Sí | 
| Correo electrónico de listado | Sí | Sí | Sí | Sí | Sí | 
| Suscripción al listado | Sí | Sí | Sí | Sí | Sí | 
| Oportunidad | Sí | Sí | Sí | Sí | Sí | 
| Posible cliente | Sí | Sí | Sí | Sí | Sí | 
| Cuenta de posible cliente | Sí | Sí | Sí | Sí | Sí | 
| Usuario | Sí | Sí | Sí | Sí | Sí | 

**Ejemplo:**

```
salesforcepardot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="SalesforcePardot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v5"
    }
   )
```

**Entidades compatibles para el origen asincrónico**:


| Entidad | Se puede filtrar | Admite límite | Admite Ordenar por | Admite Seleccionar \$1 | Admite partición | 
| --- | --- | --- | --- | --- | --- | 
| Campaña | Sí | No | No | Sí | No | 
| Dynamic Content | Sí | No | No | Sí | No | 
| Plantilla de correo electrónico | Sí | No | No | Sí | No | 
| Página de destino | Sí | No | No | Sí | No | 
| Historia del ciclo de vida | Sí | No | No | Sí | No | 
| Etapa del ciclo de vida | Sí | No | No | Sí | No | 
| Lista | Sí | No | No | Sí | No | 
| Correo electrónico de listado | Sí | No | No | Sí | No | 
| Suscripción al listado | Sí | No | No | Sí | No | 
| Oportunidad | Sí | No | No | Sí | No | 
| Posible cliente | Sí | No | No | Sí | No | 
| Cuenta de posible cliente | Sí | No | No | Sí | No | 
| Usuario | Sí | No | No | Sí | No | 

**Ejemplo:**

```
salesforcepardot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="SalesforcePardot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v5",
        "TRANSFER_MODE": "ASYNC"
    }
   )
```

**Detalles de la entidad y el campo de Salesforce Marketing Cloud Account Engagement**:

Para ver los detalles de los campos de las siguientes entidades, vaya a [Salesforce Marketing Cloud Account Engagement API](https://developer.salesforce.com/docs/marketing/pardot), seleccione **Guías**, desplácese hacia abajo hasta **Open Source API Wrappers**, expanda **Version 5 Docs** en el menú y elija una entidad.

Lista de entidades:
+ Campaña
+ Dynamic Content
+ Correo electrónico
+ Plantilla de correo electrónico
+ Programa Engagement Studio
+ Contenido de carpeta
+ Página de destino
+ Historia del ciclo de vida
+ Etapa del ciclo de vida
+ Enumeración
+ Correo electrónico de listado
+ Suscripción al listado
+ Oportunidad
+ Posible cliente
+ Cuenta de posible cliente
+ Usuario

Además de los campos que mencionamos anteriormente, el modo asíncrono admite campos filtrables específicos para cada entidad, como se muestra en la siguiente tabla.


| Entidad | Campos filtrables adicionales admitidos en Asincrónico | 
| --- | --- | 
| Campaña | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Dynamic Content | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Plantilla de correo electrónico | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Programa Engagement Studio | - | 
| Página de destino | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Historia del ciclo de vida | createdAfter, createdBefore | 
| Etapa del ciclo de vida | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Enumeración | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Correo electrónico de listado | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Suscripción al listado | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Oportunidad | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Posible cliente | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Cuenta de posible cliente | createdAfter, createdBefore, deleted | 
| Usuario | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 

Para obtener más información sobre los campos adicionales, consulte [Salesforce Export API](https://developer.salesforce.com/docs/marketing/pardot/guide/export-v5.html#procedures)

Tenga en cuenta las siguientes consideraciones para el conector:
+ El valor del campo `delete` en las entidades puede ser `false` (predeterminado) `true` o `all`.

## Consultas de partición
<a name="salesforce-marketing-cloud-account-engagement-reading-partitioning-queries"></a>

**Partición basada en filtros**:

Puede proporcionar las opciones adicionales de Spark `PARTITION_FIELD`, `LOWER_BOUND`, `UPPER_BOUND` y `NUM_PARTITIONS` si quiere utilizar la simultaneidad en Spark. Con estos parámetros, la consulta original se dividiría en un número `NUM_PARTITIONS` de subconsultas que las tareas de Spark pueden ejecutar simultáneamente.
+ `PARTITION_FIELD`: el nombre del campo que se utilizará para particionar la consulta.
+ `LOWER_BOUND`: un valor de límite inferior **inclusivo** del campo de partición elegido.

  En el campo DateTime, aceptamos el formato de marca de tiempo de Spark que se utiliza en las consultas de Spark SQL.

  Ejemplos de valor válido:

  ```
  "2022-01-01T01:01:01.000Z"
  ```
+ `UPPER_BOUND`: un valor límite superior **exclusivo** del campo de partición elegido.
+ `NUM_PARTITIONS`: el número de particiones.
+ `PARTITION_BY`: el tipo de partición que se hará. En caso de partición basada en campos, se debe pasar “FIELD”.

Ejemplo:

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