

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

**Pré-requisito**

Um objeto do Salesforce Marketing Cloud Account Engagement do qual você deseja ler. Você precisará do nome do objeto.

**Entidades compatíveis com a fonte de Sync**:


| Entidade | Pode ser filtrada | Oferece suporte a limite | Oferece suporte a Ordenar por | Oferece suporte a Selecionar \$1 | Oferece suporte a particionamento | 
| --- | --- | --- | --- | --- | --- | 
| Campaign | Sim | Sim | Sim | Sim | Sim | 
| Dynamic Content | Sim | Sim | Sim | Sim | Sim | 
| E-mail | Sim | Sim | Sim | Sim | Sim | 
| Modelo de e-mail | Sim | Sim | Sim | Sim | Sim | 
| Engagement Studio Program | Sim | Sim | Sim | Sim | Sim | 
| Conteúdo da pasta | Sim | Sim | Sim | Sim | Sim | 
| Página de destino | Sim | Sim | Sim | Sim | Sim | 
| Histórico do ciclo de vida | Sim | Sim | Sim | Sim | Sim | 
| Estágio do ciclo de vida | Sim | Sim | Sim | Sim | Sim | 
| Lista | Sim | Sim | Sim | Sim | Sim | 
| Listar e-mail | Sim | Sim | Sim | Sim | Sim | 
| Listar associação | Sim | Sim | Sim | Sim | Sim | 
| Oportunidade | Sim | Sim | Sim | Sim | Sim | 
| Cliente potencial | Sim | Sim | Sim | Sim | Sim | 
| Conta de cliente potencial | Sim | Sim | Sim | Sim | Sim | 
| Usuário | Sim | Sim | Sim | Sim | Sim | 

**Exemplo:**

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

**Entidades compatíveis com a fonte de ASYNC**:


| Entidade | Pode ser filtrada | Oferece suporte a limite | Oferece suporte a Ordenar por | Oferece suporte a Selecionar \$1 | Oferece suporte a particionamento | 
| --- | --- | --- | --- | --- | --- | 
| Campaign | Sim | Não | Não | Sim | Não | 
| Dynamic Content | Sim | Não | Não | Sim | Não | 
| Modelo de e-mail | Sim | Não | Não | Sim | Não | 
| Página de destino | Sim | Não | Não | Sim | Não | 
| Histórico do ciclo de vida | Sim | Não | Não | Sim | Não | 
| Estágio do ciclo de vida | Sim | Não | Não | Sim | Não | 
| Lista | Sim | Não | Não | Sim | Não | 
| Listar e-mail | Sim | Não | Não | Sim | Não | 
| Listar associação | Sim | Não | Não | Sim | Não | 
| Oportunidade | Sim | Não | Não | Sim | Não | 
| Cliente potencial | Sim | Não | Não | Sim | Não | 
| Conta de cliente potencial | Sim | Não | Não | Sim | Não | 
| Usuário | Sim | Não | Não | Sim | Não | 

**Exemplo:**

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

**Detalhes dos campos e das entidades do Salesforce Marketing Cloud Account Engagement**:

Para visualizar os detalhes dos campos das entidades a seguir, navegue até [API do Salesforce Marketing Cloud Account Engagement](https://developer.salesforce.com/docs/marketing/pardot), escolha **Guias**, role para baixo até **Wrappers de APIs de código aberto**, expanda **Documentos da versão 5** no menu e escolha uma entidade.

Lista de entidades:
+ Campaign
+ Dynamic Content
+ E-mail
+ Modelo de e-mail
+ Engagement Studio Program
+ Conteúdo da pasta
+ Página de destino
+ Histórico do ciclo de vida
+ Estágio do ciclo de vida
+ Lista
+ Listar e-mail
+ Listar associação
+ Oportunidade
+ Cliente potencial
+ Conta de cliente potencial
+ Usuário

Além dos campos mencionados acima, o modo ASYNC é compatível com campos filtráveis específicos para cada entidade, conforme mostrado na tabela abaixo.


| Entidade | Campos filtráveis adicionais compatíveis no modo ASYNC | 
| --- | --- | 
| Campaign | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Dynamic Content | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Modelo de e-mail | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Engagement Studio Program | - | 
| Página de destino | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Histórico do ciclo de vida | createdAfter, createdBefore | 
| Estágio do ciclo de vida | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Lista | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Listar e-mail | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Listar associação | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Oportunidade | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Cliente potencial | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 
| Conta de cliente potencial | createdAfter, createdBefore, deleted | 
| Usuário | createdAfter, createdBefore, deleted, updatedAfter, updatedBefore | 

Para obter mais informações sobre os campos adicionais, consulte [Salesforce Export API](https://developer.salesforce.com/docs/marketing/pardot/guide/export-v5.html#procedures)

Observe as seguintes considerações sobre o conector:
+ O valor do campo `delete` nas entidades pode ser `false` (padrão), `true` ou `all`.

## Particionamento de consultas
<a name="salesforce-marketing-cloud-account-engagement-reading-partitioning-queries"></a>

**Particionamento baseado em filtro**:

É possível fornecer as opções adicionais do Spark `PARTITION_FIELD`, `LOWER_BOUND`, `UPPER_BOUND` e `NUM_PARTITIONS` se quiser utilizar a simultaneidade no Spark. Com esses parâmetros, a consulta original seria dividida em `NUM_PARTITIONS` subconsultas, que poderiam ser executadas pelas tarefas do Spark simultaneamente.
+ `PARTITION_FIELD`: o nome do campo a ser usado para particionar a consulta.
+ `LOWER_BOUND`: um valor limite inferior **inclusivo** do campo de partição escolhido.

  No campo Data e hora, aceitamos o formato de carimbo de data/hora do Spark usado em consultas SQL do Spark.

  Exemplos de valores válidos:

  ```
  "2022-01-01T01:01:01.000Z"
  ```
+ `UPPER_BOUND`: um valor limite superior **exclusivo** do campo de partição escolhido.
+ `NUM_PARTITIONS`: o número de partições.
+ `PARTITION_BY`: o tipo de particionamento a ser executado. “FIELD” deve ser passado no caso de particionamento com base em campo.

Exemplo:

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