Preparação de sua instância do ServiceNow®

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

Antes de instalar o Snowflake Connector for ServiceNow®V2, você deve configurar sua instância do ServiceNow®. Complete as seguintes etapas:

Acesso à instância ServiceNow®

  • Certifique-se de que a instância do ServiceNow® esteja disponível ao público. O conector não funciona com instâncias escondidas atrás de um VPN.

  • Se você estiver usando Controle de acesso de endereço IP para seu ServiceNow®, você não conseguirá instalar o conector com sucesso. Para obter mais informações, consulte o artigo da comunidade.

Usuário ServiceNow®

Identifique ou crie o usuário do ServiceNow® para o conector.

Para se conectar à instância do ServiceNow®, o conector deve se autenticar na instância como um usuário do ServiceNow®. Escolha um usuário do ServiceNow® que atenda aos seguintes requisitos:

  • O nome de usuário não pode conter dois pontos (:).

  • O usuário deve ter acesso de leitura a todos os registros das tabelas do ServiceNow® que você planeja ingerir. As listas de controle de acesso (ACLs) não devem esconder nenhum registro nestas tabelas deste usuário.

  • O usuário deve ter acesso de leitura a todas as linhas nas tabelas a seguir para habilitar a detecção de esquema:

    • sys_db_object (com os campos name, super_class, sys_id),

    • sys_glide_object (com os campos name, scalar_type, sys_id),

    • sys_dictionary (com os campos element, internal_type, name, sys_id).

  • O usuário deve ter acesso de leitura a todas as linhas na tabela a seguir para usar a estratégia de ingestão adequada:

    • sys_table_rotation (com os campos name e sys_id).

  • O usuário deve ter acesso de leitura ao campo sys_updated_on nas tabelas abaixo para não usar o modo de ingestão “truncar e carregar” menos econômico:

    • sys_db_object,

    • sys_glide_object,

    • sys_dictionary,

    • sys_table_rotation,

    • tabela de diário (geralmente sys_audit_delete).

Nota

Configurando a conexão no Snowsight usando a autenticação OAuth para ServiceNow® só é possível com usuário interativo. O usuário ServiceNow® é interativo se a configuração Web service access only estiver desativada para o usuário.

Você pode usar a autenticação OAuth com usuários não interativos somente se você configurar a conexão com comandos SQL. Nesse caso, você não pode fazer login no ServiceNow® ou obter o token de atualização OAuth usando o Snowsight.

Configuração de índices de coluna para desempenho otimizado

Se você planeja ingerir e sincronizar uma tabela do ServiceNow® que tenha um campo sys_updated_on, recomendamos configurar um índice nessa coluna. Para obter mais informações sobre a criação de índices, consulte a documentação Criação de índice de tabela na documentação do ServiceNow®.

Após criar o índice através da interface do usuário, pode levar algum tempo para que o índice seja construído. O processo de indexação é executado como uma tarefa de fundo.

Se sua instância tiver tabelas grandes, a Snowflake recomenda entrar em contato com o suporte ao cliente do ServiceNow® para perguntar sobre a melhor abordagem de indexação de tabelas grandes.

Etapas opcionais

  • Se você planeja usar o método de autenticação OAuth, e tiver a função somente leitura atribuída ao seu usuário ServiceNow®, certifique-se de que a propriedade do sistema glide.security.snc_read_only_role.tables.exempt_create tenha a tabela oauth_credential em sua lista de valores.

    Crie ou edite a propriedade glide.security.snc_read_only_role.tables.exempt_create na tabela sys_properties. Para obter mais detalhes sobre como editar esta propriedade, consulte a Base de conhecimento do ServiceNow.

    Para saber como adicionar uma nova propriedade do sistema, consulte Como adicionar uma propriedade do sistema na documentação do ServiceNow®.

  • Para permitir a propagação de registros excluídos, use a tabela sys_audit_delete ou uma tabela de diário personalizada como fonte de informações sobre registros excluídos.

    Nota

    Observe que o conector deve ter acesso a todos os registros da tabela de diário ou a instalação poderá falhar. Caso contrário, as exclusões de registros em outras tabelas poderão não estar corretas.

    Se as linhas da tabela de diário estiverem ocultas por ACLs, o comportamento do conector será imprevisível. Mesmo que a instalação seja bem-sucedida, algumas exclusões podem não ser sincronizadas corretamente em momentos posteriores do processo.

    • Para usar sys_audit_delete:

      1. Defina o no_audit_delete atributo de dicionário como false.

      2. Certifique-se de que o usuário do ServiceNow® para o conector tenha acesso à tabela sys_audit_delete e aos campos documentkey, tablename, sys_id e sys_created_on nesta tabela.

    • Para usar uma tabela de diário personalizada:

      1. Crie uma tabela de diário com o nome snowflake_connector_journal e campos de cadeia de caracteres com o nome documentkey e tablename.

      2. Certifique-se de que o usuário do ServiceNow® para o conector tenha acesso à tabela snowflake_connector_journal e aos campos u_documentkey, u_tablename, sys_id, sys_created_on nesta tabela.

      3. Crie um script include chamado RecordChange com o seguinte código:

        var RecordChange = Class.create();
        
        RecordChange.prototype= {
          initialize :function() {},
          captureChange :function(tableName, docID) {
            var changeCapture = new GlideRecord('u_snowflake_connector_journal');
            changeCapture.initialize();
            changeCapture.setValue('u_documentkey', docID);
            changeCapture.setValue('u_tablename', tableName);
            changeCapture.insert();
          },
          type :'RecordChange'
        };
        
        Copy
      4. Defina uma regra comercial para capturar a eliminação do registro:

        (function executeRule(current, previous /*null when async*/) {
            new RecordChange().captureChange(current.getTableName(), current.getUniqueValue());
        })(current, previous);
        
        Copy
      5. Para cada tabela para a qual você deseja propagar registros excluídos, configure esta regra comercial para ser executada depois que um registro for excluído.

      Nota

      O conector só poderá sincronizar registros excluídos se eles forem auditados. As operações de exclusão que não chamam DBDelete.setWorkflow() não são ingeridas no Snowflake.

      Consulte a documentação do produto ServiceNow® para obter mais informações sobre o uso de DBDelete.setWorkflow().

      Além disso, observe o seguinte sobre registros excluídos:

      • As exclusões de registros não são rastreadas para tabelas com o atributo de dicionário no_audit_delete=true.

      • As exclusões de registros de tabelas com o prefixo sys não são rastreadas por padrão.

      • O conector só poderá ingerir registros excluídos com a exclusão de registros em cascata se o campo de referência estiver em uma tabela auditada. Consulte a documentação do produto ServiceNow® para obter mais informações sobre a exclusão de registros em cascata.

Próximos passos

Após completar estes procedimentos, siga os passos em Instalação e configuração do conector com Snowsight ou Instalação e configuração do conector usando comandos SQL.