Copiar dados do ServiceNow usando o Azure Data Factory ou o Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!

Este artigo descreve como usar a Atividade de Cópia no Azure Data Factory e os pipelines do Synapse Analytics para copiar dados do ServiceNow. Ele se baseia no artigo de visão geral da atividade de cópia que apresenta uma visão geral da atividade de cópia.

Capacidades suportadas

Este conector ServiceNow é suportado para os seguintes recursos:

Capacidades suportadas IR
Atividade de cópia (fonte/-) ① ②
Atividade de Pesquisa ① ②

(1) Tempo de execução de integração do Azure (2) Tempo de execução de integração auto-hospedado

Para obter uma lista de armazenamentos de dados suportados como fontes/coletores, consulte a tabela Armazenamentos de dados suportados.

O serviço fornece um driver interno para habilitar a conectividade. Portanto, você não precisa instalar manualmente nenhum driver usando esse conector.

Introdução

Para executar a atividade Copiar com um pipeline, você pode usar uma das seguintes ferramentas ou SDKs:

Criar um serviço vinculado ao ServiceNow usando a interface do usuário

Use as etapas a seguir para criar um serviço vinculado ao ServiceNow na interface do usuário do portal do Azure.

  1. Navegue até a guia Gerenciar em seu espaço de trabalho do Azure Data Factory ou Synapse e selecione Serviços Vinculados e clique em Novo:

  2. Procure ServiceNow e selecione o conector ServiceNow.

    Select the ServiceNow connector.

  3. Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.

    Configure a linked service to ServiceNow.

Detalhes de configuração do conector

As seções a seguir fornecem detalhes sobre as propriedades usadas para definir entidades do Data Factory específicas para o conector ServiceNow.

Propriedades do serviço vinculado

As seguintes propriedades são suportadas para o serviço vinculado ServiceNow:

Propriedade Descrição Necessário
tipo A propriedade type deve ser definida como: ServiceNow Sim
endpoint O ponto de extremidade do servidor ServiceNow (http://<instance>.service-now.com). Sim
authenticationType O tipo de autenticação a ser usado.
Os valores permitidos são: Basic, OAuth2
Sim
nome de utilizador O nome de usuário usado para se conectar ao servidor ServiceNow para autenticação Basic e OAuth2. Sim
password A senha correspondente ao nome de usuário para autenticação Basic e OAuth2. Marque este campo como um SecureString para armazená-lo com segurança ou faça referência a um segredo armazenado no Cofre de Chaves do Azure. Sim
clientId O ID do cliente para autenticação OAuth2. Não
clientSecret O segredo do cliente para autenticação OAuth2. Marque este campo como um SecureString para armazená-lo com segurança ou faça referência a um segredo armazenado no Cofre de Chaves do Azure. Não
useEncryptedEndpoints Especifica se os pontos de extremidade da fonte de dados são criptografados usando HTTPS. O valor predefinido é true. Não
useHostVerification Especifica se o nome do host no certificado do servidor deve corresponder ao nome do host do servidor ao se conectar por TLS. O valor predefinido é true. Não
usePeerVerification Especifica se a identidade do servidor deve ser verificada ao se conectar por TLS. O valor predefinido é true. Não

Exemplo:

{
    "name": "ServiceNowLinkedService",
    "properties": {
        "type": "ServiceNow",
        "typeProperties": {
            "endpoint" : "http://<instance>.service-now.com",
            "authenticationType" : "Basic",
            "username" : "<username>",
            "password": {
                 "type": "SecureString",
                 "value": "<password>"
            }
        }
    }
}

Propriedades do conjunto de dados

Para obter uma lista completa de seções e propriedades disponíveis para definir conjuntos de dados, consulte o artigo sobre conjuntos de dados. Esta seção fornece uma lista de propriedades suportadas pelo conjunto de dados ServiceNow.

Para copiar dados de ServiceNow, defina a propriedade type do conjunto de dados como ServiceNowObject. As seguintes propriedades são suportadas:

Propriedade Descrição Necessário
tipo A propriedade type do conjunto de dados deve ser definida como: ServiceNowObject Sim
tableName Nome da tabela. Não (se "consulta" na fonte da atividade for especificado)

Exemplo

{
    "name": "ServiceNowDataset",
    "properties": {
        "type": "ServiceNowObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<ServiceNow linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Propriedades da atividade Copy

Para obter uma lista completa de seções e propriedades disponíveis para definir atividades, consulte o artigo Pipelines . Esta seção fornece uma lista de propriedades suportadas pela fonte ServiceNow.

ServiceNow como fonte

Para copiar dados de ServiceNow, defina o tipo de origem na atividade de cópia como ServiceNowSource. As seguintes propriedades são suportadas na seção de origem da atividade de cópia:

Propriedade Descrição Necessário
tipo A propriedade type da fonte de atividade de cópia deve ser definida como: ServiceNowSource Sim
query Use a consulta SQL personalizada para ler dados. Por exemplo: "SELECT * FROM Actual.alm_asset". Não (se "tableName" no conjunto de dados for especificado)

Observe o seguinte ao especificar o esquema e a coluna para ServiceNow em consulta e consulte Dicas de desempenho sobre a implicação de desempenho de cópia.

  • Esquema: especifique o esquema como Actual ou na consulta ServiceNow, que você pode examinar como o parâmetro de como true ou Display false ao chamar APIs REST ServiceNowsysparm_display_value
  • Coluna: o nome da coluna para o valor real no esquema é , enquanto para o valor de exibição no ActualDisplay esquema é [column name]_value[column name]_display_value. Observe que o nome da coluna precisa ser mapeado para o esquema que está sendo usado na consulta.

Exemplo de consulta:SELECT col_value FROM Actual.alm_asset OU SELECT col_display_value FROM Display.alm_asset

Exemplo:

"activities":[
    {
        "name": "CopyFromServiceNow",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<ServiceNow input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "ServiceNowSource",
                "query": "SELECT * FROM Actual.alm_asset"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Sugestões de desempenho

Esquema a utilizar

ServiceNow tem 2 esquemas diferentes, um é "Atual" que retorna dados reais, o outro é "Display" que retorna os valores de exibição de dados.

Se você tiver um filtro em sua consulta, use o esquema "Real", que tem melhor desempenho de cópia. Ao consultar o esquema "Real", o ServiceNow suporta nativamente o filtro ao buscar os dados para retornar apenas o conjunto de resultados filtrado, enquanto ao consultar o esquema "Display", o ADF recupera todos os dados e aplica o filtro internamente.

Índice

O índice de tabela ServiceNow pode ajudar a melhorar o desempenho da consulta, consulte Criar um índice de tabela.

Propriedades da atividade de pesquisa

Para saber detalhes sobre as propriedades, verifique Atividade de pesquisa.

Para obter uma lista de armazenamentos de dados suportados como fontes e coletores pela atividade de cópia, consulte Armazenamentos de dados suportados.