

# Leitura de entidades do HubSpot
<a name="hubspot-reading-from-entities"></a>

**Pré-requisito**

Um objeto do HubSpot do qual você deseja ler. Você precisará do nome do objeto, como contato ou tarefa. A tabela a seguir mostra as entidades compatíveis com a fonte de SYNC.

## Entidades compatíveis com a fonte de SYNC
<a name="sync-table"></a>


| Entidade | Versão da API | Pode ser filtrada | Oferece suporte a limite | Oferece suporte a Ordenar por | Oferece suporte a Selecionar \$1 | Oferece suporte a particionamento | 
| --- | --- | --- | --- | --- | --- | --- | 
| Campanhas | v1 | Não | Sim | Não | Sim | Não | 
| Empresas | v3 | Sim | Sim | Sim | Sim | Sim | 
| Contatos | v3 | Sim | Sim | Sim | Sim | Sim | 
| Listas de contatos | v1 | Não | Sim | Não | Sim | Não | 
| Ofertas | v3 | Sim | Sim | Sim | Sim | Sim | 
| Pipeline de CRM (Pipelines de ofertas) | v1 | Não | Não | Não | Sim | Não | 
| Eventos de e-mail | v1 | Não | Sim | Não | Sim | Não | 
| Calls | v3 | Sim | Sim | Sim | Sim | Sim | 
| Observações | v3 | Sim | Sim | Sim | Sim | Sim | 
| E-mails | v3 | Sim | Sim | Sim | Sim | Sim | 
| Reuniões | v3 | Sim | Sim | Sim | Sim | Sim | 
| Tarefas | v3 | Sim | Sim | Sim | Sim | Sim | 
| Correspondências postais | v3 | Sim | Sim | Sim | Sim | Sim | 
| Objetos personalizados | v3 | Sim | Sim | Sim | Sim | Sim | 
| Formulários | v2 | Não | Não | Não | Sim | Não | 
| Proprietários | v3 | Não | Sim | Não | Sim | Não | 
| Produtos | v3 | Sim | Sim | Sim | Sim | Sim | 
| Tíquetes | v3 | Sim | Sim | Sim | Sim | Sim | 
| Fluxos de trabalho | v3 | Não | Não | Não | Sim | Não | 
| Associations | v4 | Sim | Não | Não | Sim | Não | 
| Etiquetas de associações | v4 | Não | Não | Não | Sim | Não | 

**Exemplo:**

```
hubspot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "contact",
        "API_VERSION": "v3"
    }
```

## Entidades compatíveis com a fonte de ASYNC
<a name="async-table"></a>


| Entidade | Versão da API | Pode ser filtrada | Oferece suporte a limite | Oferece suporte a Ordenar por | Oferece suporte a Selecionar \$1 | Oferece suporte a particionamento | 
| --- | --- | --- | --- | --- | --- | --- | 
| Empresas | v3 | Sim | Não | Sim | Sim | Não | 
| Contatos | v3 | Sim | Não | Sim | Sim | Não | 
| Ofertas | v3 | Sim | Não | Sim | Sim | Não | 
| Calls | v3 | Sim | Não | Sim | Sim | Não | 
| Observações | v3 | Sim | Não | Sim | Sim | Não | 
| E-mails | v3 | Sim | Não | Sim | Sim | Não | 
| Reuniões | v3 | Sim | Não | Sim | Sim | Não | 
| Tarefas | v3 | Sim | Não | Sim | Sim | Não | 
| Correspondências postais | v3 | Sim | Não | Sim | Sim | Não | 
| Objetos personalizados | v3 | Sim | Não | Sim | Sim | Não | 
| Produtos | v3 | Sim | Não | Sim | Sim | Não | 
| Tíquetes | v3 | Sim | Não | Sim | Sim | Não | 

**Exemplo:**

```
hubspot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "contact",
        "API_VERSION": "v3",
        "TRANSFER_MODE": "ASYNC"
    }
```

**Detalhes das entidades e dos campos do HubSpot**:

**API do HubSpot v4**: 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/hubspot-reading-from-entities.html)

**nota**  
Para o objeto `Associations`, para buscar associações entre dois objetos, você precisa fornecer o “Id da origem” (o ID do primeiro objeto) por meio de um filtro obrigatório enquanto criar um trabalho do AWS Glue. Se você quiser buscar associações para vários IDs da origem, nesse caso precisará fornecer vários IDs na cláusula `where`. Por exemplo: para buscar os IDs de contato “1' e '151” em `Associations`, você precisa fornecer um filtro, como `where id=1 AND id=151`.

**API do HubSpot v3**:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/hubspot-reading-from-entities.html)

Para as entidades a seguir, o HubSpot fornece endpoints para buscar metadados dinamicamente, para que o suporte do operador seja capturado no nível do tipo de dados de cada entidade.

**nota**  
`DML_STATUS` é um campo virtual adicionado a cada registro no runtime para determinar seu status (CREATED/UPDATED) no modo SYNC. O operador `CONTAINS/LIKE` não é compatível no modo ASYNC.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/hubspot-reading-from-entities.html)

**API do HubSpot v2**:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/hubspot-reading-from-entities.html)

**API do HubSpot v1**:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/hubspot-reading-from-entities.html)

## Consultas de particionamento
<a name="hubspot-reading-partitioning-queries"></a>

É 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.

  Para o campo DateTime, aceitamos o valor no formato ISO.

  Exemplos de valores válidos:

  ```
  “2024-01-01T10:00:00.115Z" 
  ```
+ `UPPER_BOUND`: um valor limite superior **exclusivo** do campo de partição escolhido.
+ `NUM_PARTITIONS`: o número de partições.

A tabela a seguir descreve os detalhes do suporte do campo de particionamento da entidade:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/hubspot-reading-from-entities.html)

Exemplo:

```
hubspot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "company",
        "API_VERSION": "v3",
        "PARTITION_FIELD": "hs_object_id"
        "LOWER_BOUND": "50"
        "UPPER_BOUND": "16726619290"
        "NUM_PARTITIONS": "10"
    }
```