Configure o Openflow Connector for HubSpot

Nota

O conector está sujeito aos Termos do conector Snowflake.

Este tópico descreve as etapas para configurar o Openflow Connector for HubSpot.

Pré-requisitos

  1. Certifique-se de ter revisado Sobre a Openflow Connector for HubSpot.

  2. Certifique-se de ter revisado Configuração do Openflow - BYOC ou Configuração do Openflow – Implantações do Snowflake.

  3. Se você usa Openflow - Snowflake Deployments, garanta que já tenha revisado a configuração dos domínios necessários e concedido acesso a esses domínios para o conector Hubspot.

Obtenha as credenciais

Como administrador do HubSpot, gere um token de aplicativo privado HubSpot ou crie um em sua conta HubSpot. Isso permite que você autentique suas solicitações na HubSpot API.

  1. Faça login em sua conta HubSpot.

  2. Navegue até Settings selecionando o ícone de engrenagem na barra de navegação superior.

  3. Na navegação esquerda, vá para Integrations » Private Apps.

  4. Selecione Create a private app.

    1. Digite um nome para seu aplicativo.

    2. Navegue até a guia Scopes.

    3. Selecione os escopos necessários para as solicitações de API que você pretende fazer. Para encontrar os escopos necessários para as solicitações de API, consulte Escopos.

    4. Selecione Create app.

    5. Defina os escopos necessários para as solicitações de API que você pretende fazer para cada ponto de extremidade.

  5. Selecione View access token para visualizar o token de acesso. Cole o token nos parâmetros do conector ou salve-o em segurança.

Configure a conta Snowflake

Como administrador de conta Snowflake, execute as seguintes tarefas:

  1. Crie uma nova função ou use uma função existente e conceda Privilégios de banco de dados e Privilégios de exibição.

  2. Crie um novo usuário de serviço Snowflake com o tipo SERVICE.

  3. Conceda ao usuário do serviço Snowflake a função que você criou nas etapas anteriores.

  4. Configure com a autenticação de pares de chaves para o usuário do Snowflake SERVICE da etapa 2.

  5. A Snowflake recomenda enfaticamente essa etapa. Configure um gerenciador de segredos compatível com o Openflow, por exemplo, AWS, Azure e Hashicorp, e armazene as chaves públicas e privadas no armazenamento de segredos.

    Nota

    Se, por algum motivo, você não quiser usar um gerenciador de segredos, você será responsável por proteger os arquivos de chave pública e privada usados para autenticação de par de chaves de acordo com as políticas de segurança da sua organização.

    1. Depois que o gerenciador de segredos estiver configurado, determine como você se autenticará nele. No AWS, é recomendável que você use a função de instância EC2 associada ao Openflow, pois dessa forma nenhum outro segredo precisa ser mantido.

    2. No Openflow, configurar um provedor de parâmetros associado a este Secrets Manager, a partir do menu de configuração no canto superior direito. Navegue até Controller Settings » Parameter Provider e depois buscar seus valores de parâmetro.

    3. Nesse momento, todas as credenciais podem ser referenciadas com os caminhos de parâmetros associados e nenhum valor sensível precisa ser mantido no Openflow.

  6. Se qualquer outro usuário Snowflake precisar de acesso aos documentos e tabelas brutos ingeridos pelo conector (por exemplo, para processamento personalizado no Snowflake), conceda a esses usuários a função criada na etapa 1.

  7. Crie um banco de dados e um esquema no Snowflake para que o conector armazene os dados ingeridos. Conceda os seguintes Privilégios de banco de dados à função criada na primeira etapa.

    CREATE DATABASE hubspot_destination_db;
    CREATE SCHEMA hubspot_destination_db.hubspot_destination_schema;
    GRANT USAGE ON DATABASE hubspot_destination_db TO ROLE <hubspot_connector_role>;
    GRANT USAGE ON SCHEMA hubspot_destination_db.hubspot_destination_schema TO ROLE <hubspot_connector_role>;
    GRANT CREATE TABLE, CREATE VIEW ON SCHEMA hubspot_destination_db.hubspot_destination_schema TO ROLE <hubspot_connector_role>;
    
  8. Crie um warehouse que será usado pelo conector ou use um já existente. Comece com o menor tamanho de warehouse e, em seguida, experimente o tamanho, dependendo do número de tabelas sendo replicadas e da quantidade de dados transferidos. Os números de tabelas grandes normalmente são mais bem dimensionados com warehouses multicluster, em vez de warehouses maiores.

  9. Certifique-se de que o usuário com a função usada pelo conector tenha os privilégios necessários para usar o warehouse. Se esse não for o caso, conceda os privilégios necessários à função.

    CREATE WAREHOUSE hubspot_connector_warehouse WITH WAREHOUSE_SIZE = 'X-Small';
    GRANT USAGE ON WAREHOUSE hubspot_connector_warehouse TO ROLE <hubspot_connector_role>;
    

Configuração do conector

Como engenheiro de dados, execute as seguintes tarefas para instalar e configurar o conector:

Instalação do conector

Para instalar o conector, faça o seguinte como engenheiro de dados:

  1. Navegue até a página de visão geral do Openflow. Na seção Featured connectors, selecione View more connectors.

  2. Na página de conectores do Openflow, localize o conector e selecione Add to runtime.

  3. Na caixa de diálogo Select runtime, selecione seu tempo de execução na lista suspensa Available runtimes e clique em Add.

    Nota

    Antes de instalar o conector, verifique se você criou um banco de dados e um esquema no Snowflake para que o conector armazene os dados ingeridos.

  4. Autentique-se na implementação com as credenciais de sua conta Snowflake e selecione Allow quando solicitado para permitir que o aplicativo de tempo de execução acesse sua conta Snowflake. O processo de instalação do conector leva alguns minutos para ser concluído.

  5. Autentique-se no tempo de execução com as credenciais de sua conta Snowflake.

A tela do Openflow é exibida com o grupo de processos do conector adicionado a ela.

Configuração do conector

  1. Clique com o botão direito do mouse no grupo de processos importado e selecione Parameters.

  2. Preencha os valores dos parâmetros necessários conforme descrito em Parâmetros de fluxo.

Parâmetros de fluxo

Esta seção descreve os parâmetros de fluxo que podem ser configurados com base nos contextos de parâmetros a seguir:

Parâmetros de origem do HubSpot

Parâmetro

Descrição

Token de acesso HubSpot

Token de acesso ao aplicativo privado do HubSpot.

Parâmetros de destino do HubSpot

Parâmetro

Descrição

Obrigatório

Banco de dados de destino

O banco de dados onde os dados serão mantidos. Ele já deve existir no Snowflake. O nome diferencia maiúsculas de minúsculas. Para identificadores sem aspas, forneça o nome em maiúsculas.

Sim

Esquema de destino

O esquema onde os dados serão persistidos, que já deve existir no Snowflake. O nome diferencia maiúsculas de minúsculas. Para identificadores sem aspas, forneça o nome em maiúsculas.

Veja os exemplos a seguir:

  • CREATE SCHEMA SCHEMA_NAME ou CREATE SCHEMA schema_name: use SCHEMA_NAME

  • CREATE SCHEMA "schema_name" ou CREATE SCHEMA "SCHEMA_NAME": use schema_name ou SCHEMA_NAME, respectivamente

Sim

Estratégia de autenticação Snowflake

Ao utilizar:

  • Implantação do Snowflake OpenFlow ou BYOC: Use SNOWFLAKE_MANAGED_TOKEN. O Snowflake gerencia este token automaticamente. As implantações BYOC já devem ter configurado as funções de tempo de execução para usar SNOWFLAKE_MANAGED_TOKEN.

  • BYOC: o BYOC também pode usar KEY_PAIR como valor da estratégia de autenticação.

Sim

Identificador de conta Snowflake

Ao utilizar:

  • Session Token Authentication Strategy: deve ficar em branco.

  • KEY_PAIR: nome da conta Snowflake formatado como [nome-da-organização]-[nome-da-conta], onde os dados serão persistentes.

Sim

Chave privada Snowflake

Ao utilizar:

  • Session Token Authentication Strategy: deve ficar em branco.

  • KEY_PAIR: deve ser a chave privada RSA utilizada para a autenticação.

    A chave RSA deve ser formatada de acordo com os padrões PKCS8 e têm os cabeçalhos e rodapés PEM padrão. Observe que é necessário definir o arquivo de chave privada do Snowflake ou a chave privada do Snowflake.

Não

Arquivo de chave privada Snowflake

Ao utilizar:

  • Estratégia de autenticação de token de sessão: o arquivo de chave privada deve estar em branco.

  • KEY_PAIR: carregue o arquivo que contém a chave privada usada para autenticação no Snowflake, formatado de acordo com os padrões e incluindo cabeçalhos e rodapés padrão. A linha do cabeçalho começa com PEM. Para carregar o arquivo de chave privada, marque a caixa de seleção Reference asset.

Não

Senha de chave privada Snowflake

Ao usar

  • Session Token Authentication Strategy: deve ficar em branco.

  • KEY_PAIR: forneça a senha associada ao arquivo de chave privada do Snowflake.

Não

Função Snowflake

Ao usar

  • Estratégia de autenticação de tokens de sessão: use sua função de tempo de execução. use sua função do Snowflake. Você encontra sua função do Snowflake na UI do Openflow navegando até View Details do seu tempo de execução.

  • Estratégia de autenticação de KEY_PAIR: use uma função válida configurada para o usuário do seu serviço.

Sim

Nome de usuário do Snowflake

Ao usar

  • Session Token Authentication Strategy: deve ficar em branco.

  • KEY_PAIR: forneça o nome de usuário usado para se conectar à instância do Snowflake.

Sim

Estratégia de valores excedentes

Determina como o conector lida com valores que excedem os limites de tamanho internos (16 MB) durante a replicação. Os valores possíveis são:

  • Fail Table (padrão): a tabela é marcada como falha permanente, e a replicação é interrompida para essa tabela.

  • Set Null: o valor é substituído por NULL na tabela de destino. Use esta opção para impedir falhas na tabela quando for aceitável perder dados em tabelas que ultrapassem o valor excedente.

Não

Warehouse Snowflake

Warehouse Snowflake usado para executar consultas.

Sim

Parâmetros de ingestão do HubSpot

Parâmetro

Descrição

Tipos de objetos

Lista de tipos de objeto HubSpot separados por vírgula a serem ingeridos.

Os valores de tipo de objeto compatíveis são:

  • Compromissos

  • Chamadas

  • Campanhas

  • Carrinhos

  • Pagamentos comerciais

  • Comunicações

  • Empresas

  • Contatos

  • Cursos

  • Negócios

  • Descontos

  • E-mails

  • Taxas

  • Envios de feedback

  • Metas

  • Faturas

  • Leads

  • Itens de linha

  • Listagens

  • Reuniões

  • Notas

  • Pedidos

  • Correspondência postal

  • Produtos

  • Cotações

  • Modelos de cotação

  • Serviços

  • Assinaturas

  • Tarefas

  • Impostos

  • Tíquetes

  • Usuários

Atualizado após

Filtre objetos atualizados após a data ou hora especificada. Este parâmetro é opcional.

Cronograma de ingestão de dados

Tempo entre o próximo cronograma. Ele deve ter uma duração de tempo válida, como 30 minutos ou 1 hora.

Execute o fluxo

  1. Clique com o botão direito do mouse no plano e selecione Enable all Controller Services.

  2. Clique com o botão direito do mouse no grupo de processos importado e selecione Start. O conector inicia a ingestão de dados.

Reconfigure o conector

Você pode modificar os parâmetros do conector depois que o conector tiver começado a ingerir dados. Se os critérios de consulta de problemas forem alterados, execute as etapas a seguir para garantir que os dados na tabela de destino sejam consistentes.

  1. Pare o conector: certifique-se de que todos os processadores Openflow estejam parados.

  2. Acesse as definições de configuração: navegue até as definições de configuração do conector na interface do Snowflake Openflow.

  3. Modifique os parâmetros: ajuste os parâmetros conforme necessário.

  4. Limpe o estado do processador: se você está alterando os critérios de ingestão, o Snowflake recomenda fortemente que você inicie a ingestão desde o início para manter os dados consistentes na tabela de destino. Depois de limpar o estado no processador List Fresh HubSpot Objects, o conector buscará todos os objetos desde o início. O truncamento manual da tabela de destino pode ser necessário para impedir duplicação de linhas.

Estrutura de dados e exibições

O conector armazena os dados nos dois formatos a seguir em seu banco de dados Snowflake:

Armazenamento de dados brutos

Todos os dados brutos do HubSpot são armazenados em tabelas com os nomes exatos especificados no parâmetro de tipos de objeto. Por exemplo:

  • Se você configurar Products,Contacts,Companies no parâmetro de tipos de objeto, o conector criará três tabelas: PRODUCTS, CONTACTS e COMPANIES.

  • Cada tabela contém a carga útil JSON completa das respostas da HubSpot API.

  • Os dados brutos preservam a estrutura original e todos os metadados do HubSpot.

Exibições niveladas

Para consultas e análises mais fáceis, o conector cria automaticamente exibições niveladas para cada tipo de objeto:

  • Cada tabela bruta tem uma exibição correspondente com o sufixo _VIEW. Por exemplo: PRODUCTS_VIEW, CONTACTS_VIEW e COMPANIES_VIEW.

  • As exibições extraem os campos mais usados da carga útil JSON para colunas individuais.

  • As estruturas aninhadas complexas são niveladas para simplificar as consultas SQL.