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();
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();
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>');
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>');
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>;
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:
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.
No menu de navegação, selecione Data Products » Apps.
Procure o Snowflake Connector for ServiceNow, depois selecione o bloco para o conector.
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.
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:
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.Descubra o nome totalmente qualificado do objeto secreto consultando a exibição CONNECTOR_CONFIGURATION:
SELECT value FROM connector_configuration WHERE config_key = 'secret';
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';
Nota
Para atualizar o segredo, você deve usar a função com privilégio OWNERSHIP.
Se você instalou o conector usando o Snowsight, a função será ACCOUNTADMIN.
Se você instalou o conector usando comandos SQL, a função será secretadmin.
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.
Determine o nome totalmente qualificado do objeto secreto usando o comando Snowsight ou SQL.
Para obter um segredo usando Snowsight, faça o seguinte:
Entre em Snowsight como um usuário com a função
ACCOUNTADMIN
.No painel de navegação à esquerda, selecione Data Products » Apps.
Procure o Snowflake Connector for ServiceNow, depois selecione o bloco para o conector.
No menu de navegação superior, selecione Settings » Authentication.
A seção Authentication mostra o objeto secreto, por exemplo:
CONNECTORS_UI.SERVICENOW_GZSTZTP0KHD.SECRET
.
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';
Pause o conector.
Atualize o objeto do segredo executando o comando ALTER SECRET, alterando o parâmetro
PASSWORD
.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>'
});
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.comA 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>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'
});
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();
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¶
Entre em Snowsight como um usuário com a função ACCOUNTADMIN.
No menu de navegação, selecione Data Products » Apps.
Procure por Snowflake Connector for ServiceNow, selecione o menu de três pontos para abrir a exibição contextual e selecione Uninstall.
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.
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;
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>;
Por fim, para descartar o aplicativo do conector, execute a seguinte consulta:
DROP APPLICATION <application_name>;
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;
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:
Entre em Snowsight como um usuário com a função ACCOUNTADMIN.
No menu de navegação, selecione Data Products » Apps.
Procure por Snowflake Connector for ServiceNow e, em seguida, selecione-a.
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>);
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:
Consulte a exibição
TABLES_STATE
e verifique se nenhuma das tabelas está atualmente no statusRELOADING
:SELECT TABLE_NAME FROM TABLES_STATE WHERE STATUS = 'RELOADING';
Se alguma tabela estiver sendo recarregada, aguarde a conclusão das recargas ou cancele-as.
Pare o conector chamando o seguinte procedimento armazenado:
CALL PAUSE_CONNECTOR();
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.
Remova o conector, transferindo a propriedade de tabelas e visualizações no esquema de destino.
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.