Gerenciamento, atualização e desinstalação do Snowflake Connector for ServiceNow®V2

O Snowflake Connector para ServiceNow® V2 está sujeito aos Termos do Snowflake Connector.

Estas seções e suas seções descrevem as tarefas típicas que você pode precisar executar após a instalação e configuração do conector:

Pausando e retomando o Snowflake Connector for ServiceNow®V2

As seções a seguir descrevem como pausar e retomar o conector.

Pausa do Snowflake Connector for ServiceNow®V2

Para parar todas as tarefas iniciadas pelo conector, chame o procedimento armazenado PAUSE_CONNECTOR:

CALL PAUSE_CONNECTOR();
Copy

Pausar o conector desativa a interação com ele (por exemplo, habilitando/desabilitando tabelas ou configurando o conector) até que o conector seja retomado chamando o procedimento armazenado RESUME_CONNECTOR.

A pausa do conector também interrompe qualquer geração de custos para o conector.

Retomada do Snowflake Connector for ServiceNow®V2

Para retomar todas as tarefas paradas pelo procedimento armazenado PAUSE_CONNECTOR, chame o procedimento armazenado RESUME_CONNECTOR:

CALL RESUME_CONNECTOR();
Copy

Mudança do warehouse utilizado pelo conector

Se você quiser mudar o warehouse usado pelo conector ou adicionar um warehouse dedicado, faça isso chamando:

CALL UPDATE_WAREHOUSE('<warehouse_name>');
Copy

Onde:

warehouse_name

Especifica o nome do warehouse que o conector deve usar.

Nota

Antes de configurar o conector para usar um warehouse diferente, verifique se o aplicativo do conector tem o privilégio USAGE para o novo warehouse.

Além disso, o conector deve estar no estado paused. Consulte como pausar o conector.

Exclusão de tabelas

Para excluir uma tabela (por exemplo, ativada involuntariamente) e não exibi-la nas exibições para monitoramento do conector, utilize o seguinte procedimento:

CALL DELETE_TABLE('<table_name>');
Copy

Onde:

table_name

Especifica o nome da tabela a ser excluída. Esta tabela deve estar desativada e não em processo de recarregamento.

Nota

O procedimento DELETE_TABLE não remove os objetos criados para esta tabela no banco de dados e no esquema que contém os dados do ServiceNow® no Snowflake (tabela de dados brutos, tabela de logs de eventos e exibições niveladas). Você pode descartar esses objetos manualmente. Para fazer isso, você deve primeiro transferir a propriedade deles para fora do conector usando uma função com o privilégio MANAGE GRANTS. Por exemplo:

USE ROLE ACCOUNTADMIN;
GRANT OWNERSHIP ON TABLE <destination_database>.<destination_schema>.<table_name> TO ROLE <account_role> REVOKE CURRENT GRANTS;
USE ROLE <account_role>;
DROP TABLE <destination_database>.<destination_schema>.<table_name>;
Copy

Como atualizar o token de atualização usado pelo conector

Se você configurar o conector com autenticação OAuth, você deve atualizar o token de atualização regularmente. Caso contrário, quando o token expirar, o conector não poderá mais acessar o ServiceNow®. Por padrão, o token expira 90 dias após sua geração.

Se você configurar alertas de e-mail para o conector, você receberá um lembrete para atualizar o token de atualização no primeiro dia de cada mês. Se o token expirar, você receberá um e-mail assim que o conector encontrar problemas para acessar o ServiceNow®.

Como atualizar o token de atualização para o conector instalado usando o Snowsight

Para atualizar o token de atualização se o conector foi instalado usando o Snowsight, faça o seguinte:

  1. Entre em Snowsight como um usuário com a função ACCOUNTADMIN.

    Nota

    Certifique-se de que o URL do Snowsight que você está usando corresponde ao URL do Snowsight usado durante a configuração do URL de redirecionamento OAuth. Isto é, se o URL de redirecionamento OAuth definido no ServiceNow® foi fornecido pelo Snowsight e acessado via Private Link, você deve estar conectado ao Snowsight via Private Link para atualizar o token. Da mesma forma, quando o URL de redirecionamento tiver sido configurado com o URL do Snowsight acessível publicamente, a atualização deve ser feita pelo URL do Snowsight acessível ao público.

  2. No menu de navegação, selecione Data Products » Apps.

  3. Procure o Snowflake Connector for ServiceNow, depois selecione o bloco para o conector.

  4. No menu de navegação superior, selecione Settings » Authentication » Reauthenticate.

    Nota

    Certifique-se de ter entrado no ServiceNow® como o mesmo usuário com o qual o conector foi inicialmente configurado. Você pode verificar o usuário conectado no momento no canto superior direito da caixa de diálogo.

  5. Para confirmar que você permite que o conector se conecte a sua conta ServiceNow®, selecione Allow na caixa de diálogo. O token de atualização agora está atualizado.

Para saber como atualizar o token de atualização usando comandos SQL, consulte Como atualizar o token de atualização usando comandos SQL.

Como atualizar o token de atualização usando comandos SQL

Para atualizar o token de atualização usando comandos SQL, faça o seguinte:

  1. Baixe um novo token de atualização do OAuth. Certifique-se de usar o mesmo client_id, client_secret e as credenciais do usuário que o conector está usando no momento.

  2. Descubra o nome totalmente qualificado do objeto secreto consultando a exibição CONNECTOR_CONFIGURATION:

    SELECT value FROM connector_configuration WHERE config_key = 'secret';
    
    Copy
  3. Atualize o objeto secreto executando os comandos ALTER SECRET, alterando os seguintes parâmetros:

    • Defina OAUTH_REFRESH_TOKEN como o token de atualização do OAuth que você recuperou na primeira etapa.

    • Defina OAUTH_REFRESH_TOKEN_EXPIRY_TIME como o carimbo de data/hora da expiração do token de atualização no fuso horário UTC. Você pode calcular isto adicionando a vida útil do token de atualização do ServiceNow® até a data em que o token foi emitido. Por padrão, o token expira em 100 dias.

    Por exemplo, para atualizar o segredo secretsdb.apiauth.servicenow_creds_oauth_code, execute o seguinte comando:

    ALTER SECRET secretsdb.apiauth.servicenow_creds_oauth_code SET OAUTH_REFRESH_TOKEN = '34n;vods4nQsdg09wee4qnfvadH', OAUTH_REFRESH_TOKEN_EXPIRY_TIME = '2022-01-06 20:00:00';
    
    Copy

    Nota

    Para atualizar o segredo, você deve usar a função com privilégio OWNERSHIP.

Atualização da senha do ServiceNow® para autenticação básica

Para atualizar a senha, você precisa encontrar um segredo existente e modificá-lo usando o comando ALTER SECRET.

  1. Determine o nome totalmente qualificado do objeto secreto usando o comando Snowsight ou SQL.

    1. Para obter um segredo usando Snowsight, faça o seguinte:

      1. Entre em Snowsight como um usuário com a função ACCOUNTADMIN.

      2. No painel de navegação à esquerda, selecione Data Products » Apps.

      3. Procure o Snowflake Connector for ServiceNow, depois selecione o bloco para o conector.

      4. No menu de navegação superior, selecione Settings » Authentication.

        A seção Authentication mostra o objeto secreto, por exemplo: CONNECTORS_UI.SERVICENOW_GZSTZTP0KHD.SECRET.

    2. Para obter o nome totalmente qualificado do objeto secreto usando um comando SQL, consulte a exibição CONNECTOR_CONFIGURATION:

      SELECT value FROM connector_configuration WHERE config_key = 'secret';
      
      Copy
  2. Pause o conector.

  3. Atualize o objeto do segredo executando o comando ALTER SECRET, alterando o parâmetro PASSWORD.

  4. Retome o conector.

    A senha agora é atualizada e usada pelo conector.

Nota

Assim como a alteração da senha, você tem a opção de atualizar o nome de usuário usando o comando ALTER SECRET. Basta definir o parâmetro USERNAME para o novo nome de usuário. Antes de alterar o nome de usuário, certifique-se de que o novo nome de usuário tenha, no mínimo, os mesmos privilégios do anterior, caso contrário o conector poderá não funcionar corretamente.

Atualização da conexão com a instância do ServiceNow®

É possível atualizar a conexão com a instância do ServiceNow®. Permite alterar a integração de acesso externo e o segredo usado pelo conector. Também permite corrigir o problema quando o segredo foi separado da UDF de acesso externo no conector.

A configuração de conexão pode ser atualizada com o seguinte procedimento:

CALL UPDATE_CONNECTION_CONFIGURATION({
  'service_now_url': '<servicenow_base_url>',
  'secret': '<secret_name>',
  'external_access_integration': '<external_access_integration_name>'
});
Copy

Onde:

servicenow_base_url

Especifica o URL da instância do ServiceNow® que o conector deve usar. O URL deve ser definido como o mesmo durante a instalação do conector e deve estar no seguinte formato:

https://<servicenow_instance_name>.service-now.com
Copy

A alteração do URL da instância do ServiceNow® não é compatível.

secret_name

Especifica o nome totalmente qualificado do objeto segredo com as credenciais para autenticação no ServiceNow®.

Você deve especificar o nome totalmente qualificado do objeto secreto no seguinte formato:

<database_name>.<schema_name>.<secret_name>
Copy

Os nomes do banco de dados, do esquema e do segredo devem ser identificadores de objeto válidos.

external_access_integration_name

Especifica o nome da integração de acesso externo para ServiceNow®.

O nome da integração deve ser um identificador de objeto válido.

Por exemplo, para atualizar a conexão com uma instância do ServiceNow® que:

  • Tenha o URL https://myinstance.service-now.com.

  • Utilize o segredo armazenado em secretsdb.apiauth.servicenow_creds_oauth_code.

  • Utiliza a integração de acesso externo nomeada servicenow_external_access_integration.

Execute o seguinte comando:

CALL UPDATE_CONNECTION_CONFIGURATION({
  'service_now_url': 'https://myinstance.service-now.com',
  'secret': 'SECRETSDB.APIAUTH.SERVICENOW_CREDS_OAUTH_CODE',
  'external_access_integration': 'SERVICENOW_API_INTEGRATION'
});
Copy

A atualização da configuração pode ser realizada somente por um usuário com uma concessão para a função de aplicativo ADMIN. Além disso, para executar o procedimento, o conector precisa estar no estado paused. Consulte como pausar o conector.

Exportação do estado do conector

É possível exportar um instantâneo do estado e da configuração atuais do conector. O instantâneo com o estado do conector exportado é útil ao reinstalar o conector para preservar tabelas já habilitadas e o estado de ingestão, ou quando a replicação do esquema de destino para a região de failover é configurada para auxiliar na recuperação de desastres.

O estado pode ser exportado com o seguinte procedimento:

CALL EXPORT_CONNECTOR_STATE();
Copy

O procedimento cria uma nova tabela __CONNECTOR_STATE_EXPORT no esquema de destino com um estado exportado. Para realizar uma exportação, as seguintes condições devem ser atendidas:

  • A exportação só pode ser realizada por um usuário com uma concessão para a função de aplicativo ADMIN.

  • Não há nenhuma recarga de tabela em andamento.

Nota

A tabela __CONNECTOR_STATE_EXPORT contém todas as informações necessárias para restaurar o estado do conector durante a reinstalação, mas vale a pena observar que algumas informações estão ausentes:

  • O banco de dados de destino e o esquema de destino, o warehouse, a função de leitor de dados, o URL do ServiceNow, o objeto secreto, a integração de acesso externo e o nome da tabela de diário (se configurada) não são exportados. Essas informações devem ser fornecidas novamente ao reinstalar o conector. Isso pode ser aproveitado como uma oportunidade para, por exemplo, alterar o objeto secreto ou o nome da tabela de diário usada pelo Connector, desde que após a reinstalação a mesma instância do ServiceNow e o esquema de destino sejam usados.

  • Para cada tabela ingerida e modo de ingestão, apenas o estado de ingestão mais recente é exportado. Como resultado, após a importação do estado do conector, dados históricos e estatísticas não estarão disponíveis.

A configuração também é exportada automaticamente sempre que o conector aciona a ingestão de acordo com o cronograma configurado, desde que sejam cumpridas as seguintes condições:

  • Pelo menos uma tabela está habilitada para ingestão.

  • Não há nenhuma recarga de tabela em andamento.

Desinstalação do aplicativo

Esta seção explica como desinstalar o aplicativo com o Snowsight e com planilhas e como remover os objetos criados pelo conector, mas que precisam ser removidos intencionalmente pelo usuário.

Desinstalação do aplicativo usando o Snowsight

  1. Entre em Snowsight como um usuário com a função ACCOUNTADMIN.

  2. No menu de navegação, selecione Data Products » Apps.

  3. Procure por Snowflake Connector for ServiceNow, selecione o menu de três pontos para abrir a exibição contextual e selecione Uninstall.

  4. Se todos os dados ingeridos que permanecem no banco de dados de destino devem ser preservados, escolha Transfer object ownership to another role e selecione a função que deve receber a propriedade de todos os objetos pertencentes ao aplicativo. Caso contrário, selecione Delete all objects para remover todos os dados.

    Nota

    Para ver quais objetos seriam transferidos para a função selecionada (ou removidos), expanda o menu Show objects.

  5. Selecione Uninstall para confirmar as alterações. O aplicativo do conector agora está desinstalado.

Desinstalação do aplicativo usando o planilhas

Os dados ingeridos pelo conector permanecem no banco de dados e no esquema de destino selecionados, que pertencem à função usada na instalação do conector (normalmente é ACCOUNTADMIN). No entanto, todas as tabelas de coletor e exibições que contêm seus dados do ServiceNow® no esquema de destino pertencem ao aplicativo Snowflake Connector for ServiceNow®V2. Portanto, se você desinstalar o conector antes de transferir a propriedade dessas tabelas e exibições para uma função de conta, elas também serão excluídas.

Nota

Se você não quiser que os dados sejam excluídos junto com o conector, transfira a propriedade de todas as tabelas e exibições no esquema de destino para uma função de conta e revogue as concessões atuais do aplicativo.

Para evitar interrupções em pipelines existentes que usam dados ingeridos, recomendamos que todos os pipelines usem a função dedicada de proprietário de dados para acessar os dados para os quais a propriedade deve ser temporariamente transferida.

Se tiver concedido privilégios adicionais nas tabelas e exibições no esquema de destino de que seus pipelines dependem, você pode executar a consulta de transferência de propriedade abaixo coma cláusula COPY CURRENT GRANTS em vez de REVOKE CURRENT GRANTS para manter essas concessões.

Para transferir a propriedade de todas as tabelas e exibições no esquema de destino para uma função de conta, execute as seguintes consultas:

USE ROLE ACCOUNTADMIN;

GRANT OWNERSHIP ON ALL TABLES IN SCHEMA <destination_database>.<destination_schema>
TO ROLE <account_role>
REVOKE CURRENT GRANTS;

GRANT OWNERSHIP ON ALL VIEWS IN SCHEMA <destination_database>.<destination_schema>
TO ROLE <account_role>
REVOKE CURRENT GRANTS;
Copy

Para garantir que o conector não possua objetos que você não deseja remover, execute a seguinte consulta:

SHOW OBJECTS OWNED BY APPLICATION <application_name>;
Copy

Por fim, para descartar o aplicativo do conector, execute a seguinte consulta:

DROP APPLICATION <application_name>;
Copy

Aviso

Se você decidiu não transferir a propriedade das tabelas e exibições no esquema de destino para fora do conector, você pode executar esta consulta para removê-las junto com o conector:

DROP APPLICATION <application_name> CASCADE;
Copy

Exclusão de objetos criados durante a instalação

A remoção do banco de dados do conector não exclui os dados ingeridos que são armazenados em um banco de dados separado ou os objetos que foram criados durante a instalação feita usando a Snowsight.

Para ver os objetos criados durante a instalação, faça o seguinte:

  1. Entre em Snowsight como um usuário com a função ACCOUNTADMIN.

  2. No menu de navegação, selecione Data Products » Apps.

  3. Procure por Snowflake Connector for ServiceNow e, em seguida, selecione-a.

  4. No menu de navegação superior, selecione Settings » Authentication.

    Secret, External Access Integration e Security Integration são os objetos que você precisa remover manualmente. Além desses objetos, pode haver também um objeto Network Rule que permanece no mesmo esquema que o segredo (se o aplicativo foi instalado usando o Snowsight).

    Aviso

    O banco de dados e o esquema de regras de rede e segredos também podem ser descartados. No entanto, tenha cuidado se você também estiver usando outros conectores do Snowflake, por exemplo, o Snowflake Connector para Google Analytics Raw Data. Objetos desse aplicativo também podem estar localizados no mesmo banco de dados.

Para excluir esses objetos, execute o comando DROP .

Por exemplo, para excluir o segredo, execute a instrução DROP SECRET.

Atualização do conector

O conector é atualizado automaticamente, o que significa que o usuário não precisa realizar nenhuma ação para ter um aplicativo atualizado.

Escalonamento do conector

Se houver muitas tabelas do ServiceNow® a serem ingeridas e você deseja aumentar o número de tabelas ingeridas simultaneamente, você pode alterar o parâmetro:

CALL CONFIGURE_CONCURRENCY(<number>);
Copy

Onde:

number

Especifica o número máximo de trabalhadores capazes de ingerir tabelas simultaneamente. Por padrão, esse valor é definido como 10.

O aumento da simultaneidade deve ser considerado em conjunto com a alteração do tamanho do warehouse usado para ingestão de dados. Se você estiver enfrentando alguma lentidão, tente redimensionar o warehouse. Consulte Como trabalhar com warehouses para obter mais informações.

Aviso

Aumentar a simultaneidade pode resultar em uma sobrecarga do ServiceNow®, o que resultará em desempenho geral inferior e erros de ingestão. Compare o desempenho e a estabilidade do conector antes e depois de quaisquer alterações de escala para encontrar os melhores parâmetros.

Reinstalação do conector com o mesmo banco de dados e esquema dos dados do ServiceNow®

Para reinstalar o conector, siga o processo abaixo:

  1. Consulte a exibição TABLES_STATE e verifique se nenhuma das tabelas está atualmente no status RELOADING:

    SELECT TABLE_NAME FROM TABLES_STATE WHERE STATUS = 'RELOADING';
    
    Copy
  2. Se alguma tabela estiver sendo recarregada, aguarde a conclusão das recargas ou cancele-as.

  3. Pare o conector chamando o seguinte procedimento armazenado:

    CALL PAUSE_CONNECTOR();
    
    Copy
  4. Exporte estado e a configuração do conector. Consulte esta seção para mais detalhes.

    Importante

    É recomendável exportar o estado e a configuração de um conector antes de descartar o aplicativo do conector. Isso permitirá a preservação de todas as opções personalizadas (por exemplo, tabelas habilitadas para sincronização e seus cronogramas) e do estado com suas alterações mais recentes na nova instalação.

    Se você já removeu o conector, mas deixou o banco de dados e esquema com os dados ingeridos intactos, ainda poderá reinstalar o conector contando com o estado exportado automaticamente, mas o conector reinstalado poderá repetir a ingestão de alguns registros.

  5. Remova o conector, transferindo a propriedade de tabelas e visualizações no esquema de destino.

  6. Reinstale o conector:

Durante o processo de instalação:

  • Fornecer o banco de dados e o esquema utilizados anteriormente.

    Após a instalação, o conector detectará que o banco de dados e esquema contêm dados ingeridos e continuará a ingestão do local em que estava antes da reinstalação. Se você exportou o estado do conector e ele foi importado com sucesso durante a instalação, as tabelas ingeridas anteriormente serão ativadas automaticamente com os mesmos cronogramas e configurações. Caso contrário, você terá que habilitar manualmente todas as tabelas e, por exemplo, configurar seus cronogramas para restaurar a ingestão.

    Ao reinstalar com comandos SQL, lembre-se de transferir a propriedade de exibições e tabelas no esquema de destino para o conector, conforme descrito no guia de instalação de SQL. Caso contrário, o conector não terá acesso a essas tabelas e exibições, impedindo-o de retomar a ingestão.

  • Fornecer o mesmo nome da instância do ServiceNow®.

  • Para os outros argumentos, você pode reutilizar os objetos que você criou ao instalar o conector, ou você pode usar novos objetos.