Tutorial: Instalação do conector de ingestão de dados do Snowflake ServiceNow®

Introdução

Use este tutorial para configurar e entender o Snowflake Connector para ServiceNow® usando o assistente do Snowsight, selecione algumas tabelas, faça a ingestão de dados e execute uma consulta de exemplo.

Este tutorial não pretende ser cobrir todos os detalhes. Consulte Sobre Snowflake Connector for ServiceNow®V2 para funcionalidade completa e limitações.

Nota

Este tutorial pressupõe que você não tenha uma conta ServiceNow®, para que ele o oriente nas etapas de criação de uma conta de desenvolvedor. Se você tiver uma conta Servicenow®, fique à vontade para experimentá-la, com a ressalva de que o Snowflake Connector para ServiceNow® está sujeito aos Termos do conector.

Pré-requisitos

Antes de começar este tutorial, certifique-se de atender aos seguintes requisitos:

  • Direitos de ORGADMIN para aceitar os Termos de serviço no Snowflake Marketplace.

  • Direitos de ACCOUNTADMIN na conta Snowflake em que você deseja instalar o conector.

O que você aprenderá

Neste tutorial você aprenderá a:

  • Como configurar o Snowflake Connector para o ServiceNow®.

  • Fazer a ingestão de dados do ServiceNow® no Snowflake

  • Parar o conector para evitar custos desnecessários em um ambiente de desenvolvimento.

Do que você precisará

O que você criará

Um fluxo de dados de ingestão do ServiceNow® ao Snowflake.

Configuração da instância do ServiceNow® do desenvolvedor

Se não quiser testar este conector em sua conta ServiceNow®, você pode usar uma instância de desenvolvedor. Esta seção descreve como configurar uma instância de desenvolvedor.

  1. Vá para ao site do desenvolvedor do ServiceNow® e crie um usuário desenvolvedor.

  2. Faça login no site do desenvolvedor com seu usuário recém-criado e selecione Create an Instance.

  3. Escolha um tipo de instância. Você receberá um e-mail com seu URL de instância, e seu usuário e senha.

A instalação geralmente é bem rápida, em torno de cinco minutos. Mas, enquanto você espera, vamos ao próximo passo, configurar o Snowflake!

Criação e configuração da conta Snowflake

Criação de uma conta Snowflake

Se você não tem uma conta Snowflake, você pode obter uma avaliação gratuita em snowflake.com. Selecione Start for Free e siga as instruções.

Aceite os termos e condições

  1. Faça login em sua conta Snowflake por meio da interface da Web Snowsight e alterne para a função ORGADMIN.

  2. Selecione Admin » Billing & Terms.

  3. Na seção Snowflake Marketplace, revise os Termos de Serviço do Consumidor.

  4. Se você concordar com os termos, selecione Accept Terms & Conditions.

Configuração de um warehouse virtual

Os conectores exigem um warehouse virtual. Para criar o warehouse necessário, faça o seguinte:

Mude para a função ACCOUNTADMIN.

  1. Navegue para Admin -> Warehouses e selecione + Warehouse.

  2. Especifique CONNECTOR_UI_WH como o nome do warehouse, tamanho XS e deixe todos os outros com os valores padrão.

  3. Selecione Create Warehouse.

Instalação do conector ServiceNow®

O conector é entregue por meio do Snowflake Marketplace e está disponível para todos os clientes Snowflake. Uma vez escolhido, ele é instalado em sua conta como um aplicativo com diversas exibições e procedimentos armazenados.

  1. No menu à esquerda selecione Data Products e, em seguida, Marketplace.

  2. Na janela de pesquisa, insira ServiceNow e selecione o bloco.

  3. Revise as necessidades do negócio e os exemplos de uso.

  4. Selecione Get.

  5. Selecione o warehouse criado anteriormente, CONNECTOR_UI_WH.

  6. Selecione Options.

  7. Para este tutorial, aceite o nome padrão para o banco de dados de instalação, Snowflake_Connector_for_ServiceNow. Não selecione nenhuma função adicional.

  8. Selecione Get. Snowflake Connector for ServiceNow será exibido indicando que o conector está pronto para uso.

  9. Selecione Done. As opções de gerenciamento serão especificadas na próxima seção.

Em seguida, verifique se o conector foi instalado. No Snowsight, vá para Data Products -> Apps. Você deverá ver um novo aplicativo instalado com o nome Snowflake_Connector_for_ServiceNow.

Navegue até o esquema público em Data -> Databases, e examine as novas exibições e procedimentos disponíveis.

Complete todos os pré-requisitos

Inicie o Snowflake Connector para ServiceNow® em Data Products -> Apps -> Snowflake Connector for ServiceNow. Uma lista de tarefas que precisam ser concluídas antes que o conector possa iniciar a ingestão de dados será apresentada. Leia atentamente as descrições a seguir e preencha cada uma delas.

Uma das etapas finais pede que você crie um registro de aplicativo se quiser habilitar a autenticação OAuth2. Os próximos passos se concentrarão nisso.

Para a próxima seção, sugerimos que você abra duas abas do navegador para que possa copiar determinados dados do Snowflake para o ServiceNow®:

  • No Snowflake, use o conector para gerar o URL de redirecionamento que será colado no registro de aplicativos.

  • No ServiceNow®, você precisará do registro de aplicativos para fornecer o ID de cliente e o segredo, que você irá colar no Snowflake.

No Snowflake

  1. Copie o URL de redirecionamento. Você precisará dele na próxima seção.

  2. Abra uma nova aba em seu navegador (sem fechar a anterior) e siga os passos na próxima seção.

No ServiceNow®

  1. Faça login em na instância de desenvolvedor de seu ServiceNow®.

  2. Na página principal, selecione All e pesquise Application Registry.

  3. Selecione New no canto superior direito da janela.

  4. Selecione Create an OAuth API endpoint for external clients.

  5. Dê um nome ao ponto de extremidade, como Snowflake_connector. Deixe o segredo do cliente em branco, pois o valor será preenchido automaticamente mais tarde no procedimento.

  6. Cole o URL de redirecionamento gerado ao lado do Snowflake.

  7. Selecione Submit. A janela fecha.

  8. Selecione o registro que acabou de criar para reabri-lo. Observe que o ID de cliente e o segredo do cliente são gerados automaticamente.

    Não feche a aba do navegador do ServiceNow® ou armazene o ID do cliente e o segredo do cliente em algum lugar seguro, pois eles serão necessários mais tarde.

    Retorne à aba de configuração do Snowflake.

Configuração do conector

  1. Selecione Start configuration. Esta tela de configuração é exibida. Por padrão, os campos são definidos como os nomes de objetos que foram criados quando você configurou o conector. Você também pode usar objetos existentes. O warehouse virtual selecionado será usado pelo conector para ingestão de dados em segundo plano.

  2. Consulte Configuração do Snowflake Connector for ServiceNow®V2 para mais informações.

  3. Selecione Configure.

Observe que pode levar alguns minutos para que o processo de configuração seja concluído.

Nota

Esta etapa criou um warehouse Large com sua suspensão automática definida para dez minutos. Se você definir a atualização a cada hora, o warehouse Large (8 créditos/hora) será ativado por no mínimo 10 minutos a cada hora. Para este tutorial, isso não é necessário. Vá para Admin -> Warehouses -> SERVICENOW_WAREHOUSE -> … > Edit, e altere o tamanho para XSMALL e o tempo limite automático para 1 minuto. Em um caso de uso real, geralmente é necessário um warehouse Large.

Nota

Você deve anexar um monitor de recursos ao SERVICENOW_WAREHOUSE. Para anexar um monitor de recursos, navegue até Admin » Resource Monitors, selecione Resource Monitor e, em seguida, crie um monitor de recursos de warehouse.

Configuração do Snowflake para o handshake de ServiceNow® OAuth2

  1. Selecione OAuth2 como um método de autenticação.

  2. Preencha os detalhes da instância do ServiceNow®. Esta é a primeira parte do URL do ServiceNow® para sua conta ServiceNow®, sem protocolo https://* e service-now.com final.

  3. Cole o Client id e o Client secret do ServiceNow® no assistente Snowflake.

  4. Selecione Connect. Suas contas ServiceNow® aparecem e solicitam conexão ao Snowflake.

  5. Selecione Allow. A conexão é estabelecida entre os dois sistemas.

Para verificar a conexão, selecione os três pontos […] e View Details. Na parte superior do pop-up você verá a data de autenticação de ServiceNow.

Nota

Se estiver tendo problemas, talvez o segredo do cliente não tenha sido copiado. Desbloqueie o campo de senha e copie e cole o texto.

Configuração de sincronização de exclusões

Se quiser que não apenas inserções e atualizações, mas também exclusões sejam sincronizadas com o Snowflake, você precisa fornecer o nome da tabela de diário. Por padrão o ServiceNow® utiliza a tabela sys_audit_delete para armazenar informações sobre registros excluídos, então fique à vontade para fornecer este nome. Se você não se importa com exclusões, pode deixar este campo em branco.

Selecione Validate para verificar se o conector consegue se conectar ao sistema de origem e tem acesso a todas as tabelas necessárias. Pode levar alguns minutos para o processo ser concluído. Quando terminar, selecione Define data to sync para selecionar as tabelas para ingestão.

Selecione as tabelas do ServiceNow®.

Nota

Esteja ciente de que:

  • O conector só pode ingerir tabelas com colunas sys_id presentes.

  • As exibições do ServiceNow® não são compatíveis. Em vez de ingerir essas exibições, você deve sincronizar todas as tabelas para a exibição subjacente e fazer a junção das tabelas sincronizadas no Snowflake.

  • Atualizações incrementais ocorrem somente para tabelas com as colunas sys_updated_on ou sys_created_on.

  • Para tabelas sem colunas sys_updated_on ou sys_created_on, o conector usa o modo truncate and load. Neste modo, a tabela é sempre ingerida usando a abordagem de carga inicial, e os dados recém-ingeridos substituem os dados antigos.

  1. Na janela Snowflake Connector for ServiceNow, na barra superior, selecione Data Sync.

  2. Para poder executar nossa consulta de teste mais tarde, precisamos ingerir algumas tabelas. Na janela de pesquisa, insira incident, marque a caixa ao lado e escolha um tempo de sincronização de 30 minutos.

  3. Para escolher outras tabelas, limpe a pesquisa, coloque o nome da tabela e marque a caixa de seleção. Faça isso pelo menos para a tabela task.

Nota

Dica: limpe os campos de pesquisa e selecione o título Status para classificar e mostrar todas as tabelas selecionadas.

  1. Selecione Start Sync. A janela de seleção fecha e você recebe a mensagem Syncing Data da janela principal do Conector. Além das tabelas que você escolher, três tabelas do sistema também serão carregadas. Elas são necessárias para compilar as exibições nos dados brutos: sys_dictionary, sys_db_object e sys_glide_object.

Você receberá uma mensagem indicando sucesso. Ela aparece quando pelo menos uma tabela tiver sido totalmente ingerida.

Nota

Não interrompa a ingestão prematuramente. Certifique-se de que as exibições sejam criadas primeiro no banco de dados de destino.

Monitoramento de conectores

Abra uma planilha para examinar o status do conector. Aqui estão alguns exemplos de consultas SQL que você pode executar para obter informações de monitoramento:

// Return general information about all ingestions
SELECT * FROM SNOWFLAKE_CONNECTOR_FOR_SERVICENOW.public.connector_stats;
// Search for information about particular table ingestions
SELECT * FROM SNOWFLAKE_CONNECTOR_FOR_SERVICENOW.public.connector_stats WHERE table_name = '<table_name>';
// Examine connector configuration
SELECT * FROM SNOWFLAKE_CONNECTOR_FOR_SERVICENOW.public.connector_configuration;
// Calculate ingested data volume
SELECT
    table_name,
    sum(ingested_rows) AS row_count
FROM SNOWFLAKE_CONNECTOR_FOR_SERVICENOW.public.connector_stats
GROUP BY table_name
ORDER BY table_name;
// General connector statistics
SELECT * FROM SNOWFLAKE_CONNECTOR_FOR_SERVICENOW.public.connector_overview;
Copy

Configuração do acesso aos dados ingeridos

O conector expõe a função de aplicativo DATA_READER. Essa função tem acesso de leitura a todos os dados ingeridos no esquema de destino. Ela é concedida automaticamente à função fornecida durante a etapa Configurar do processo de instalação. Ela foi nomeada SERVICE_NOW_RESOURCES_PROVIDER na captura de tela anterior deste guia. Você pode conceder ainda mais funções de aplicativo ou de conta, se necessário.

Consulta de dados

Examine as tabelas que o conector criou no esquema de destino do banco de dados de destino. Para cada tabela no ServiceNow® configurada para sincronização, o conector cria a seguinte tabela e exibições:

  • Uma tabela com o mesmo nome que contém os dados bruto, onde cada registro está contido em uma única coluna VARIANT.

  • Uma exibição chamada table_name__view que contém os dados em forma nivelada, em que a exibição contém uma coluna para cada coluna na tabela original e uma linha para cada registro que está presente na tabela original.

Nota

Após iniciar o conector, pode levar algum tempo até que as exibições sejam criadas. A criação das exibições se baseia nos dados das tabelas do ServiceNow® sys_db_object, sys_dictionary e sys_glide_object. O conector carrega os metadados destas tabelas do ServiceNow® depois que você habilita qualquer tabela para sincronização. Pode levar algum tempo até que o conector carregue esses metadados. Não pare o warehouse enquanto as visualizações estiverem sendo criadas.

  • Uma exibição nomeada table_name__view_with_deleted que contenha os mesmos dados que table_name__view assim como as linhas para registros que foram excluídos no ServiceNow®.

  • Uma tabela table_name__event_log com o histórico de alterações obtidas pelo conector a partir do ServiceNow®.

Para ver os dados brutos, consulte Acesso aos dados brutos. Para consultar as exibições (recomendado), consulte Acesso aos dados nivelados.

Consulte para identificar o número de incidentes registrados por mês e prioridade

Aqui está uma consulta de teste para identificar o número de incidentes levantados por mês e prioridade. Outros exemplos de consulta fornecidos no Snowflake Connector para a página do ServiceNow® no Marketplace.

USE ROLE SERVICE_NOW_RESOURCES_PROVIDER;
USE DATABASE SERVICENOW_DEST_DB;
USE SCHEMA DEST_SCHEMA;
WITH T1 AS (
    SELECT
    DISTINCT
        T.NUMBER AS TICKET_NUMBER,
        T.SHORT_DESCRIPTION,
        T.DESCRIPTION,
        T.PRIORITY,
        T.SYS_CREATED_ON AS CREATED_ON,
        T.SYS_UPDATED_ON AS UPDATED_ON,
        T.CLOSED_AT
    FROM TASK__VIEW T
    LEFT JOIN INCIDENT__VIEW I
        ON I.SYS_ID = T.SYS_ID -- ADDITIONAL INCIDENT DETAIL
   WHERE I.SYS_ID IS NOT NULL -- THIS CONDITION HELPS KEEP JUST THE INCIDENT TICKETS
)
SELECT
 YEAR(CREATED_ON) AS YEAR_CREATED,
 MONTH(CREATED_ON) AS MONTH_CREATED,
 PRIORITY,
 COUNT(DISTINCT TICKET_NUMBER) AS NUM_INCIDENTS
FROM T1
GROUP BY
    YEAR_CREATED,
    MONTH_CREATED,
    PRIORITY
ORDER BY
    YEAR_CREATED,
    MONTH_CREATED,
    PRIORITY
;
Copy

Concessão de acesso ao conector

O conector expõe duas funções de aplicativo além daquela usada para acessar os dados no banco de dados de destino:

  • A função VIEWER tem acesso somente leitura à configuração e ao estado do conector

  • A função ADMIN pode modificar a configuração do conector e habilitar/desabilitar a ingestão

Para monitorar erros, executar estatísticas, examinar estatísticas do conector e examinar tabelas habilitadas, você pode configurar uma função de monitoramento do ServiceNow®, que permite acesso às exibições e procedimentos somente leitura no banco de dados do conector.

Por exemplo, execute o seguinte em uma planilha (e depois use a função):

USE ROLE accountadmin;
CREATE ROLE IF NOT EXISTS servicenow_monitor_role;
GRANT APPLICATION ROLE SNOWFLAKE_CONNECTOR_FOR_SERVICENOW.viewer TO ROLE servicenow_monitor_role;
GRANT USAGE ON WAREHOUSE SERVICENOW_WAREHOUSE TO ROLE servicenow_monitor_role;
Copy

Pare a ingestão

Durante este tutorial, estamos apenas ingerindo os dados, então faz sentido interromper a ingestão após o carregamento inicial. Entretanto, em um ambiente de produção, você não interromperia o conector.

Nota

Se você não interromper o conector, ele ativará o warehouse virtual no intervalo de tempo especificado e consumirá créditos.

  1. No Snowsight, selecione o bloco Snowflake Connector for ServiceNow.

  2. Na janela Snowflake Connector for ServiceNow, selecione Pause Connector:

Desinstale o conector (mas não os dados)

Se você concluiu o tutorial ou por algum motivo não precisa mais do conector, pode desinstalá-lo facilmente através do Snowflake Marketplace.

  1. Selecione Produtos de dados e depois Aplicativos.

  2. Selecione o ícone de três pontos no item na lista representando o aplicativo do conector.

  3. Selecione Desinstalar.

  4. Escolha se deseja excluir os objetos de propriedade do aplicativo (tabelas e exibições com dados ingeridos no esquema de destino) ou transferir a propriedade deles para outra função.

  5. Selecione Desinstalar.

Conclusão e recursos

Parabéns! Você instalou e configurou com sucesso o Snowflake Connector para ServiceNow®, ingeriu dados e executou uma consulta para coletar insights sobre incidentes e prioridades.

O que você aprendeu

  • Como configurar o Snowflake Connector para o ServiceNow®.

  • Como ingerir os dados do ServiceNow® no Snowflake.

  • Parar o conector para evitar custos desnecessários em um ambiente de desenvolvimento.