Conector Snowflake
  • 13 May 2024
  • 3 Minutos para Ler
  • Contribuintes

Conector Snowflake


Resumo do artigo

Consultar informações do Snowflake para usar com aplicativos Tulip

Público

Observe que a integração do Snowflake é técnica e pode exigir que seu suporte de TI crie os objetos, funções e permissões apropriados.

Contato de suporte

Este conector foi criado em colaboração com a Spaulding Ridge. Para obter mais informações ou fazer perguntas, entre em contato com a Spaulding Ridge pelo e-mail info@spauldingridge.com

Objetivo

O conector do Snowflake simplifica a forma de consultar informações de um Snowflake Data Cloud. A documentação da API REST do Snowflake SQL pode ser encontrada aqui.

Observações sobre o conector

O conector Snowflake pode manipular registros únicos com relativa facilidade. Podem ser necessários widgets personalizados para consultar várias linhas de dados ou manipular saídas no Tulip (tabela interativa, etc.).

O Snowflake OAuth usa o serviço OAuth incorporado do Snowflake e oferece suporte ao Tulip como um cliente personalizado. A documentação do Snowflake OAuth pode ser encontrada aqui. Os detalhes da configuração do cliente personalizado podem ser encontrados aqui.

Configuração

Esta seção fornece o procedimento para configurar um token OAuth do servidor OAuth da Snowflake para estabelecer conectividade com a Tulip como cliente, bem como as etapas para configurar o conector Snowflake na Tulip.

Etapa 1: Registre o Tulip como um aplicativo cliente no Snowflake

Faça login na sua instância do Snowflake com um usuário que tenha a função/privilégio para criar e gerenciar integrações de segurança (ACCOUNTADMIN).

Crie uma nova planilha SQL no warehouse COMPUTE_WH.

Execute o script a seguir para criar uma integração de segurança do tipo OAuth. Não se esqueça de atualizar os valores de INTEGRATION_NAME, TULIP_INSTANCE_NAME e TIME_IN_SECONDS.

CREATE OR REPLACE SECURITY INTEGRATION <INTEGRATION_NAME> TYPE = OAUTH ENABLED = TRUE OAUTH_CLIENT = CUSTOM OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' OAUTH_REDIRECT_URI = 'https://<TULIP_INSTANCE_NAME>.tulip.co/oauth-redirect-handler' OAUTH_ISSUE_REFRESH_TOKENS = TRUE OAUTH_ISSUE_REFRESH_TOKEN_VALIDITY = <TIME_IN_SECONDS>;

Observação: a validade do token de atualização pode ser de até 90 dias (7776000 segundos).

Etapa 2: coletar detalhes para a configuração do OAuth no Tulip

Execute os seguintes comandos para descrever a integração de segurança que você acabou de criar e anote os detalhes abaixo: OAUTH_CLIENT_ID OAUTH_REDIRECT_URI OAUTH_AUTHORIZATION_ENDPOINT OAUTH_TOKEN_ENDPOINT OAUTH_CLIENT_SECRET

DESCRIBE SECURITY INTEGRATION ; SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('');

Etapa 3: Configure seu conector Snowflake

Faça login no Tulip e adicione o Snowflake Connector da Tulip Library (Web ou Embedded).

Clique no botão "Production & Testing & Development" (Produção, teste e desenvolvimento) para editar os detalhes da conexão, conforme abaixo. Você pode encontrar seu SNOWFLAKE_ACCOUNT_NAME no OAUTH_AUTHORIZATION_ENDPOINT ou OAUTH_TOKEN_ENDPOINT da Etapa 2.

Clique em "Test" e "Save". O conector ficará on-line.

Etapa 4: Edite os detalhes de autenticação do seu conector Snowflake

Clique no botão "Production & Testing & Development" (Produção, teste e desenvolvimento) e no botão "Edit Headers" (Editar cabeçalhos).

Escolha o tipo de autenticação como "OAuth 2 (Admin)" ou "OAuth 2 (Operator)" com base em seus requisitos. Mais informações sobre isso podem ser encontradas na seção Autenticação do artigo Como configurar um conector.

Edite os campos de autenticação, usando os detalhes da Etapa 2: URL do código de autorização = OAUTH_AUTHORIZATION_ENDPOINT URL do token de acesso = OAUTH_TOKEN_ENDPOINT ID do cliente = OAUTH_CLIENT_ID Segredo do cliente = OAUTH_CLIENT_SECRET

Clique em "Test" (Testar). Você será levado à janela de login da sua conta Snowflake.

Um usuário deve fazer login. Observe que sua função padrão não deve ser ACCOUNTADMIN, SECURITYADMIN ou ORGADMIN. Você pode alterar a função padrão dos usuários para o OAuth, conforme detalhado neste recurso do Snowflake: Gerenciando o consentimento do usuário para o OAuth.

Após a autenticação bem-sucedida, será exibida uma mensagem para consentimento. Leia-a com atenção para entender a operação que está sendo realizada e clique em "Allow" (Permitir). Agora você pode se conectar com segurança ao Snowflake a partir do Tulip!

Uso

Você tem duas opções para começar a usar o conector:

Comece personalizando as funções do modelo do conector para atender às suas necessidades específicas.

Siga as instruções do teste de unidade do Snowflake para obter uma demonstração prática de como usar o conector para tarefas que incluem: recuperar todos os registros de tabela de uma tabela do Snowflake no Tulip, criar um novo registro, atualizar um registro existente e excluir um registro.

Funções de modelo

O conector Library inclui as seguintes funções de modelo: Template: Consultar banco de dados Descrição: Permite que você envie uma ou mais instruções SQL para execução. Método: POST Endpoint: /api/v2/statements Referência: https://docs.snowflake.com/en/developer-guide/sql-api/reference#post-api-v2-statements Template: Check Query Status Descrição: Permite que você verifique o status da execução de uma instrução. Método: GET Endpoint: /api/v2/statements/{statementHandle} Referência: https://docs.snowflake.com/en/developer-guide/sql-api/reference#get-api-v2-statements-statementhandle Template: Cancel Query Descrição: Permite que você cancele a execução de uma instrução. Método: POST Endpoint: /api/v2/statements/{statementHandle}/cancel Referência: https://docs.snowflake.com/en/developer-guide/sql-api/reference#post-api-v2-statements-statementhandle-cancel

Referências adicionais

Este guia da Comunidade Snow flake também fornece contexto adicional para a integração do Snowflake


Este artigo foi útil?