

# Conectar ao HubSpot
<a name="connecting-to-data-hubspot"></a>

A plataforma de CRM do HubSpot tem todas as ferramentas e integrações necessárias para marketing, vendas, gerenciamento de conteúdo e atendimento ao cliente.
+ Hub de marketing: software de marketing para ajudar você a aumentar o tráfego, converter mais visitantes e executar campanhas completas de inbound marketing em grande escala.
+ Hub de vendas: software de CRM de vendas para ajudá-lo a obter informações mais profundas sobre clientes potenciais, automatizar as tarefas que você tem e fechar mais negócios com mais rapidez.
+ Hub de serviços: software de atendimento ao cliente para ajudar você a se conectar com os clientes, superar as expectativas e transformá-los em promotores que expandem seus negócios.
+ Hub de operações: software de operações que sincroniza suas aplicações, limpa e cria dados de clientes e automatiza processos para que todos os seus sistemas e equipes trabalhem melhor juntos.

**Topics**
+ [AWS Glue compatível com o HubSpot](hubspot-support.md)
+ [Políticas que contêm as operações de API para criar e usar conexões](hubspot-configuring-iam-permissions.md)
+ [Configuração do HubSpot](hubspot-configuring.md)
+ [Configuração de conexões do HubSpot](hubspot-configuring-connections.md)
+ [Leitura de entidades do HubSpot](hubspot-reading-from-entities.md)
+ [Escrever em entidades do HubSpot](hubspot-writing-to-entities.md)
+ [Opções de conexão do HubSpot](hubspot-connection-options.md)
+ [Limitações e observações do conector do HubSpot](hubspot-connector-limitations.md)

# AWS Glue compatível com o HubSpot
<a name="hubspot-support"></a>

O AWS Glue é compatível com o HubSpot da seguinte forma:

**Compatível como fonte?**  
Sim: SYNC e ASYNC. Você pode usar trabalhos de ETL do AWS Glue para consultar dados do HubSpot.

**Compatível como destino?**  
Sim. É possível usar trabalhos de ETL do AWS Glue para escrever dados no HubSpot.

**Versões da API compatíveis com o HubSpot**  
Estas são as versões da API compatíveis com o HubSpot:
+ v1
+ v2
+ v3
+ v4

Para conferir a compatibilidade de entidades por versão específica, consulte [Entidades compatíveis com a fonte de SYNC](hubspot-reading-from-entities.md#sync-table) e [Entidades compatíveis com a fonte de ASYNC](hubspot-reading-from-entities.md#async-table).

# Políticas que contêm as operações de API para criar e usar conexões
<a name="hubspot-configuring-iam-permissions"></a>

O exemplo de política a seguir descreve as permissões necessárias do AWS IAM para criar e usar conexões. Se você estiver criando um novo perfil, crie uma política que contenha o seguinte:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListConnectionTypes",
        "glue:DescribeConnectionType",
        "glue:RefreshOAuth2Tokens",
        "glue:ListEntities",
        "glue:DescribeEntity"
      ],
      "Resource": "*"
    }
  ]
}
```

------

Se você não quiser usar o método acima, como alternativa use as seguintes políticas do IAM gerenciadas:
+ [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole) – Concede acesso a recursos que vários processos do AWS Glue exigem para fazer a execução em seu nome. Esses recursos incluem o AWS Glue, Amazon S3, IAM, CloudWatch Logs e Amazon EC2. Se você seguir a convenção de nomenclatura para os recursos especificados nesta política, os processos do AWS Glue terão as permissões necessárias. Esta política geralmente é anexada a funções especificadas durante a definição de crawlers, trabalhos e endpoints de desenvolvimento.
+ [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess): concede acesso total aos recursos do AWS Glue quando uma identidade à qual a política está anexada usa o Console de Gerenciamento da AWS. Se você seguir a convenção de nomenclatura para os recursos especificados nesta política, os usuários poderão acessar todos os recursos do console. Esta política geralmente é anexada aos usuários do console do AWS Glue.

# Configuração do HubSpot
<a name="hubspot-configuring"></a>

Antes de usar o AWS Glue para transferir dados do HubSpot, os seguintes requisitos deverão ser atendidos:

## Requisitos mínimos
<a name="hubspot-configuring-min-requirements"></a>

Estes são os requisitos mínimos:
+ Você tem uma conta do HubSpot. Para obter mais informações, consulte [Criação de uma conta do HubSpot](#hubspot-configuring-creating-hubspot-account).
+ Sua conta do HubSpot está habilitada para acesso à API.
+ Você deve ter uma aplicação na conta do desenvolvedor do HubSpot que forneça as credenciais de cliente que o AWS Glue usará para acessar seus dados com segurança quando fizer chamadas autenticadas para sua conta. Para obter mais informações, consulte [Criação de uma aplicação de desenvolvedor do HubSpot](#hubspot-configuring-creating-hubspot-developer-app).

Caso atenda a esses requisitos, você poderá conectar o AWS Glue à sua conta do HubSpot. Para conexões normais, você não precisa fazer mais nada no HubSpot.

## Criação de uma conta do HubSpot
<a name="hubspot-configuring-creating-hubspot-account"></a>

Para criar uma conta do HubSpot:

1. Acesse o [URL de inscrição do CRM do HubSpot](https://app.hubspot.com/login).

1. Insira seu endereço de e-mail e escolha **Verificar e-mail** (como alternativa, você pode optar por se inscrever com uma conta do Google, Microsoft ou Apple).

1. Verifique sua caixa de entrada para obter o código de verificação do HubSpot.

1. Insira o código de verificação de seis dígitos e clique em **Próximo**.

1. Insira uma senha e clique em **Próximo**.

1. Insira seu nome e sobrenome e clique em **Próximo**, ou inscreva-se usando o link **Inscrever-se com o Google**.

1. Insira seu setor e clique em **Próximo**.

1. Insira sua função e clique em **Próximo**.

1. Insira o nome da sua empresa e clique em **Próximo**.

1. Selecione o tamanho da sua empresa (número de funcionários trabalhando na sua empresa) e clique em **Próximo**.

1. Insira o site da sua empresa e clique em **Próximo**.

1. Selecione onde seus dados devem ser hospedados (Estados Unidos ou Europa) e clique em **Criar conta**.

1. Selecione a finalidade da criação da sua conta e clique em **Próximo**.

1. Escolha **Conectar conta do Google** ou escolha adicionar contatos você mesmo para vincular seus contatos à sua conta do HubSpot.

1. Faça login na sua conta do Google se tiver escolhido a opção **Conectar conta do Google** para vincular seus contatos e começar a usar sua conta do HubSpot.

## Criação de uma aplicação de desenvolvedor do HubSpot
<a name="hubspot-configuring-creating-hubspot-developer-app"></a>

As contas de desenvolvedores de aplicações são destinadas à criação e ao gerenciamento de aplicações, integrações e contas de teste de desenvolvedores. Elas também se encontram onde você pode criar e gerenciar listagens da aplicação do Marketplace. No entanto, as contas de desenvolvedores de aplicações e suas contas de teste associadas não estão conectadas a uma conta padrão do HubSpot. Eles não podem sincronizar dados ou ativos de ou para outra conta do HubSpot. Para obter o ID e o segredo do cliente, crie uma conta de desenvolvedor.

1. Acesse https://developers.hubspot.com/

1. Escolha **Criar conta de desenvolvedor** e role para baixo.

1. Você será perguntado se deseja criar uma conta de desenvolvedor de aplicação, uma conta privada de aplicação ou uma conta Sandbox de desenvolvedor do CMS. Escolha **Criar conta de desenvolvedor de aplicação**.

1. Como você já criou uma conta com o HubSpot, você pode escolher **Continuar com este usuário**.

1. Clique em **Iniciar inscrição**.

1. Insira sua função e clique em **Próximo**.

1. Dê um nome à sua conta de desenvolvedor, clique em **Próximo** e depois em **Ignorar**.

1. Escolha **Criar aplicativo**.

1. Depois que sua aplicação for criado, escolha **Autenticação**.

1. Em Autenticação, anote o ID e o segredo do cliente.

1. Adicione o **URL de redirecionamento** específico da sua região como https:*//<aws-region>*.console.aws.amazon.com/gluestudio/oauth. Por exemplo, adicione https://us-east-1.console.aws.amazon.com/gluestudio/oauth para a região us-east-1.

1. Role para baixo e encontre os escopos. Há dois tipos de escopos que você deve selecionar nos cabeçalhos “CRM” e “Standard”.

1. Adicione os seguintes escopos:

   ```
   content
   automation
   oauth
   crm.objects.owners.read
   forms
   tickets
   crm.objects.contacts.write
   e-commerce
   crm.schemas.custom.read
   crm.objects.custom.read
   sales-email-read
   crm.objects.custom.write
   crm.objects.companies.write
   crm.lists.write
   crm.objects.companies.read
   crm.lists.read
   crm.objects.deals.read
   crm.objects.deals.write
   crm.objects.contacts.read
   ```

1. Clique em **Salvar** e sua conta de desenvolvedor agora está pronta para uso.

1. Role acima para encontrar o **ID do cliente**.

1. Na mesma página, clique em **Mostrar** para obter o **Segredo do cliente**.

## Criação de uma conta de teste de desenvolvedor do HubSpot
<a name="hubspot-configuring-creating-hubspot-developer-test-account"></a>

Nas contas de desenvolvedores de aplicações, você pode criar contas de teste de desenvolvedor para testar aplicações e integrações sem afetar nenhum dado real do HubSpot. As contas de teste de desenvolvedor não espelham as contas de produção, mas elas têm acesso a um teste de 90 dias das versões Enterprise do Marketing, Sales, Service, CMS e Operations Hub, oferecendo a capacidade de testar a maioria das ferramentas e APIs do HubSpot.

1. Clique em **Início**.

1. Clique em **Criar conta de teste**.

1. Clique em **Criar conta de teste de aplicação**.

1. Uma nova janela aparece. Insira o nome da conta de teste de aplicação e clique em **Criar**.

   Sua conta de teste de aplicação foi criada.

**nota**  
A conta de desenvolvedor está relacionada às atividades de desenvolvimento, como integração de API, e a conta de teste da aplicação é usada para visualizar os dados criados ou extraídos pela conta do desenvolvedor.

# Configuração de conexões do HubSpot
<a name="hubspot-configuring-connections"></a>

O HubSpot oferece suporte ao tipo de concessão AUTHORIZATION\$1CODE para OAuth2.
+ Esse tipo de concessão é considerado um OAuth de “três pernas”, pois conta com o redirecionamento dos usuários para um servidor de autorização de terceiros para autenticar o usuário. É usado ao criar conexões por meio do console do AWS Glue. O usuário que estiver criando uma conexão precisa fornecer as informações relacionadas ao OAuth, como o ID do cliente e o segredo do cliente, para sua aplicação cliente do HubSpot. O console do AWS Glue redirecionará o usuário para o HubSpot, onde ele deverá fazer login e dar autorização para que as permissões solicitadas pelo AWS Glue acessem a instância do HubSpot.
+ Os usuários ainda podem optar por criar sua própria aplicação conectada no HubSpot e fornecer seus próprios ID e segredo do cliente ao criar conexões por meio do console do AWS Glue. Nesse cenário, eles ainda serão redirecionados para o HubSpot para fazer login e autorizar o acesso do AWS Glue aos seus recursos.
+ Esse tipo de concessão resulta em um token de atualização e um token de acesso. O token de acesso tem vida curta e pode ser atualizado automaticamente sem a interação do usuário usando o token de atualização.
+ Para obter a documentação pública do HubSpot sobre como criar uma aplicação conectada para o fluxo de código de autorização do OAuth, consulte [Aplicações públicas](https://developers.hubspot.com/docs/api/creating-an-app).

Para configurar uma conexão do HubSpot:

1. No AWS Secrets Manager, crie um segredo com os seguintes detalhes:

   1. Para a aplicação conectada gerenciada pelo cliente, o segredo deve conter a aplicação conectada Segredo do consumidor com a chave `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`.

   1. Observação: é necessário criar um segredo para a conexão no AWS Glue.

1. No AWS Glue Glue Studio, crie uma conexão em **Conexões de dados** seguindo estas etapas:

   1. Ao selecionar um **Tipo de conexão**, escolha HubSpot.

   1. Forneça o ambiente do HubSpot.

   1. Selecione o perfil do AWS IAM que o AWS Glue pode assumir e tem permissões para as seguintes ações:

------
#### [ JSON ]

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "secretsmanager:DescribeSecret",
              "secretsmanager:GetSecretValue",
              "secretsmanager:PutSecretValue",
              "ec2:CreateNetworkInterface",
              "ec2:DescribeNetworkInterfaces",
              "ec2:DeleteNetworkInterface"
            ],
            "Resource": "*"
          }
        ]
      }
      ```

------

   1. Selecione o `secretName` que você deseja usar para essa conexão no AWS Glue para colocar os tokens.

   1. Selecione as opções de rede se quiser usar sua rede.

1. Conceda permissão ao perfil do IAM associado ao seu trabalho do AWS Glue para ler `secretName`.

1. Na configuração do trabalho do AWS Glue, forneça `connectionName` como uma **Conexão de rede adicional**.

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

# Escrever em entidades do HubSpot
<a name="hubspot-writing-to-entities"></a>

## Pré-requisitos
<a name="hubspot-writing-prerequisites"></a>
+ Um objeto do HubSpot no qual você deseja escrever. Você precisará do nome do objeto, como contato ou tíquete.
+ O conector HubSpot oferece suporte às seguintes operações de gravação:
  + INSERT
  + UPDATE
+ Quando a operação de gravação `UPDATE` é usada, a opção `ID_FIELD_NAMES` deverá ser fornecida para especificar o campo de ID externo para os registros.

## Entidades compatíveis para destino de sincronização
<a name="hubspot-supported-entities"></a>


| Entidade | Versão da API | Será compatível como conector de destino | Pode ser inserido | Pode ser atualizado | 
| --- | --- | --- | --- | --- | 
| Empresas | v3 | Sim | Sim (Único, Em massa) | Sim (Único, Em massa) | 
| Contatos | v3 | Sim | Sim (Único, Em massa) | Sim (Único, Em massa) | 
| Ofertas | v3 | Sim | Sim (Único, Em massa) | Sim (Único, Em massa) | 
| Produtos | v3 | Sim | Sim (Único, Em massa) | Sim (Único, Em massa) | 
| Calls | v3 | Sim | Sim (Único, Em massa) | Sim (Único, Em massa) | 
| Reuniões | v3 | Sim | Sim (Único, Em massa) | Sim (Único, Em massa) | 
| Observações | v3 | Sim | Sim (Único, Em massa) | Sim (Único, Em massa) | 
| E-mails | v3 | Sim | Sim (Único, Em massa) | Sim (Único, Em massa) | 
| Tarefas | v3 | Sim | Sim (Único, Em massa) | Sim (Único, Em massa) | 
| Correspondências postais | v3 | Sim | Sim (Único, Em massa) | Sim (Único, Em massa) | 
| Objetos personalizados | v3 | Sim | Sim (Único, Em massa) | Sim (Único, Em massa) | 
| Tíquetes | v3 | Sim | Sim (Único, Em massa) | Sim (Único, Em massa) | 
| Associações | v4 | Sim | Sim (Único, Em massa) | Não | 
| Etiquetas de associações | v4 | Sim | Sim (Único, Em massa) | Sim (Único, Em massa) | 

**Exemplos:**

**Operação INSERT**

```
hubspot_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "contact",
        "API_VERSION": "v3",
        "WRITE_OPERATION": "INSERT"
    }
)
```

**Operação UPDATE**

```
hubspot_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "deal",
        "API_VERSION": "v3",
        "WRITE_OPERATION": "UPDATE",
        "ID_FIELD_NAMES": "hs_object_id"
    }
)
```

# Opções de conexão do HubSpot
<a name="hubspot-connection-options"></a>

Estas são as opções de conexão do HubSpot:
+ `ENTITY_NAME`(string): (obrigatório) usado para leitura. O nome do seu objeto no HubSpot.
+ `API_VERSION`(string): (obrigatório) usado para leitura. A versão da API REST do HubSpot que você deseja usar. Por exemplo: v1, v2, v3, v4.
+ `SELECTED_FIELDS`(Lista<String>): padrão: vazio(SELECIONE \$1). Usado para leitura. Colunas que deseja selecionar para o objeto.
+ `FILTER_PREDICATE`(string): padrão: vazio. Usado para leitura. Deve estar no formato Spark SQL.
+ `QUERY`(String): padrão: vazia. Usado para leitura. Consulta completa do Spark SQL.
+ `PARTITION_FIELD`(string): usado para leitura. Campo a ser usado para particionar a consulta.
+ `LOWER_BOUND`(string): usado para leitura. Um valor limite inferior inclusivo do campo de partição escolhido.
+ `UPPER_BOUND`(string): usado para leitura. Um valor limite superior exclusivo do campo de partição escolhido. 
+ `NUM_PARTITIONS`(Inteiro): padrão: 1. Usado para leitura. Número de partições para leitura.
+ `TRANSFER_MODE` (String): usado para indicar se a consulta deve ser executada no modo ASYNC.
+ `WRITE_OPERATION`(string): padrão: INSERT. Usado para gravação. O valor deve ser INSERT ou UPDATE.
+ `ID_FIELD_NAMES`(string): padrão: null. Necessário para UPDATE.

# Limitações e observações do conector do HubSpot
<a name="hubspot-connector-limitations"></a>

Estas são as limitações ou observações do conector do HubSpot:
+ Os endpoints de pesquisa estão limitados a um total de 10 mil resultados para qualquer consulta. Qualquer partição com mais de 10 mil registros resultará em um erro 400.
+ Outras limitações importantes do conector estão descritas em [Limitações](https://developers.hubspot.com/docs/api/crm/search#limitations).
+ Um máximo de três instruções de filtragem são aceitas pelo HubSpot.
+ Atualmente, o HubSpot é compatível com associações entre os objetos padrão do HubSpot (por exemplo, contato, empresa, negócio ou tíquete) e os objetos personalizados.
  + Para uma conta gratuita: você pode criar apenas até dez tipos de associação entre cada par de objetos (por exemplo, contatos e empresas).
  + Para uma conta Super Admin: você pode criar apenas até cinquenta tipos de associação entre cada par de objetos.
  + Para obter mais informações, consulte [Associations v4](https://developers.hubspot.com/docs/api/crm/) e [Create and use association labels](https://knowledge.hubspot.com/object-settings/create-and-use-association-labels).
+ Os objetos “Cotação” e “Comunicações” não estão presentes para Associações, pois atualmente não são compatíveis no conector.
+ Para ASYNC, o SaaS classifica os valores somente em ordem ascendente.
+ Para a entidade `Ticket`, o SaaS não retorna o campo `hs_object_id` no modo ASYNC.