Snowflake Native SDK para conectores

O Snowflake Native SDK for Connectors é uma biblioteca que fornece um esqueleto do aplicativo nativo Snowflake, cujo objetivo é ingerir dados de uma fonte de dados externa no Snowflake. Nós chamamos esse aplicativo de conector nativo.

O Snowflake Native SDK para conectores é um conjunto de modelos de aplicativo e guias de início rápido que mostram como criar um Snowflake Native App que ingere dados de uma fonte de dados externa no Snowflake. Esses modelos abrangem padrões de integração de dados baseados em pull e push.

Esses modelos não restringem nem limitam os desenvolvedores. Em vez disso, os modelos fornecem exemplos de como usar os principais recursos do Snowflake para ingerir dados e encapsular o código do aplicativo em um Snowflake Native App.

O Snowflake Native App Framework permite que os provedores publiquem e monetizem um Snowflake Native App no Snowflake Marketplace. Os desenvolvedores Snowflake Native App podem clonar o repositório de modelos, modificar o código padrão e criar seus próprios conectores Snowflake.

O que é um conector nativo?

Um conector é um aplicativo que permite o fluxo de dados de um sistema de origem externo para o Snowflake. Um conector nativo é um aplicativo de conector criado e implantado usando o Snowflake Native App Framework. Existem diferentes tipos de conectores:

  • conectores baseados em pull

  • conectores baseados em push

O Snowflake Native SDK for Connectors atualmente suporta apenas o padrão baseado em pull.

Conectores baseados em pull

Os padrões baseados em pull são eficazes quando o provedor de dados de origem não gerencia os dados do cliente no Snowflake e não está disposto a incorrer em COGS para um compartilhamento contínuo de dados no Snowflake. Esses padrões também são eficazes quando um provedor de dados de origem possui APIs bem documentadas que os clientes podem usar para replicar e consumir dados.

Como usar um padrão baseado em pull

Ao usar um padrão de conector baseado em pull, os provedores (Snowflake ou um provedor ETL de terceiros) podem publicar e distribuir um conector nativo baseado em um Snowflake Native App usando o Snowflake Marketplace. Um conector nativo usa acesso externo direto para se conectar ao aplicativo de origem. Ele realiza autenticação de saída, busca dados da origem diretamente em uma conta Snowflake do cliente, processa e persiste os dados com base na configuração especificada pelo usuário.

Arquitetura baseada em pull

Conectores baseados em push

O uso de um padrão baseado em push é eficaz quando o acesso de entrada ao aplicativo de origem por meio de um firewall do cliente não é viável devido a limitações de segurança, desempenho ou governança. Esse padrão usa um agente e um Snowflake Native App para permitir que os clientes ingiram alterações de dados no Snowflake por trás de um firewall.

Como usar um padrão baseado em push

Um agente é um aplicativo independente, distribuído como uma imagem Docker, implantado em um ambiente do cliente e é responsável por enviar cargas iniciais e incrementais ao Snowflake lendo alterações de dados de um fluxo CDC de origem.

Um Snowflake Native App é executado dentro do Snowflake e coordena a integração. Ele é o principal responsável por gerenciar o processo de replicação, controlar o estado do agente e criar os objetos necessários, incluindo os bancos de dados de destino.

Arquitetura baseada em push

O que é o SDK nativo para conectores?

O Snowflake Native SDK for Connectors é uma biblioteca que fornece componentes universais que podem ser usados para criar um aplicativo nativo Snowflake personalizado que ingere dados de uma fonte de dados externa no Snowflake. Os componentes fornecidos definem o fluxo recomendado

do aplicativo do conector e permitem a personalização e a exclusão de alguns recursos. A partir de agora, o Snowflake Native SDK for Connectors é fornecido como código a ser construído localmente e somente em Java. Além disso, é fornecida uma segunda biblioteca contendo classes auxiliares e utilitárias úteis para escrever testes unitários. Essas bibliotecas podem ser encontradas no repositório central do Maven:

Os exemplos fornecidos usando essas bibliotecas também incluem scripts de exemplo que podem ser usados para implantar e criar uma instância do aplicativo dentro do Snowflake.

O Snowflake Native SDK for Connectors foi projetado para ser usado na construção de aplicativos baseados em Snowflake Native App Framework e então publicá-los e monetizá-los usando o Snowflake Marketplace. Para usar o Snowflake Native SDK for Connectors, clone-o de um modelo ou aplicativo de exemplo.

O Snowflake Native SDK for Connectors aproveita os seguintes recursos do Snowflake:

Informações adicionais

Para obter mais informações sobre os modelos e guias de início rápidos, consulte:

Saiba mais

Para obter mais informações sobre a implementação de conectores, consulte Introdução ao Snowflake Native SDK for Connectors