Copiar dados do ServiceNow usando o Azure Data FactoryCopy data from ServiceNow using Azure Data Factory

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Este artigo descreve como usar a atividade de cópia no Azure Data Factory para copiar dados do ServiceNow.This article outlines how to use the Copy Activity in Azure Data Factory to copy data from ServiceNow. Ele amplia o artigo Visão geral da atividade de cópia que apresenta uma visão geral da atividade de cópia.It builds on the copy activity overview article that presents a general overview of copy activity.

Funcionalidades com suporteSupported capabilities

Este conector do ServiceNow tem suporte para as seguintes atividades:This ServiceNow connector is supported for the following activities:

Você pode copiar dados do ServiceNow para qualquer armazenamento de dados de coletor com suporte.You can copy data from ServiceNow to any supported sink data store. Para obter uma lista de armazenamentos de dados com suporte como origens/coletores da atividade de cópia, confira a tabela Armazenamentos de dados com suporte.For a list of data stores that are supported as sources/sinks by the copy activity, see the Supported data stores table.

Azure Data Factory fornece um driver interno para habilitar a conectividade, portanto, não é necessário instalar manualmente qualquer driver usando esse conector.Azure Data Factory provides a built-in driver to enable connectivity, therefore you don't need to manually install any driver using this connector.

IntroduçãoGetting started

Para executar a atividade de Cópia com um pipeline, será possível usar as ferramentas ou os SDKs abaixo:To perform the Copy activity with a pipeline, you can use one of the following tools or SDKs:

As seções que se seguem fornecem detalhes sobre as propriedades que são usadas para definir entidades do Data Factory específicas ao conector do ServiceNow.The following sections provide details about properties that are used to define Data Factory entities specific to ServiceNow connector.

Propriedades do serviço vinculadoLinked service properties

As propriedades a seguir têm suporte para o serviço vinculado do ServiceNow:The following properties are supported for ServiceNow linked service:

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
typetype A propriedade type deve ser definida para: ServiceNowThe type property must be set to: ServiceNow SimYes
endpointendpoint O endpoint do servidor do ServiceNow (http://<instance>.service-now.com).The endpoint of the ServiceNow server (http://<instance>.service-now.com). SimYes
authenticationTypeauthenticationType O tipo de autenticação a ser usado.The authentication type to use.
Os valores permitidos são: Básica, OAuth2Allowed values are: Basic, OAuth2
SimYes
Nome de Usuáriousername O nome de usuário usado para se conectar ao servidor ServiceNow para autenticação básica e OAuth2.The user name used to connect to the ServiceNow server for Basic and OAuth2 authentication. SimYes
passwordpassword A senha correspondente ao nome de usuário para autenticação básica e OAuth2.The password corresponding to the user name for Basic and OAuth2 authentication. Marque este campo como uma SecureString para armazená-la com segurança no Data Factory ou faça referência a um segredo armazenado no Azure Key Vault.Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. SimYes
clientIdclientId A ID do cliente para autenticação OAuth2.The client ID for OAuth2 authentication. NãoNo
clientSecretclientSecret O segredo do cliente para autenticação OAuth2.The client secret for OAuth2 authentication. Marque este campo como uma SecureString para armazená-la com segurança no Data Factory ou faça referência a um segredo armazenado no Azure Key Vault.Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. NãoNo
useEncryptedEndpointsuseEncryptedEndpoints Especifica se os endpoints de fonte de dados são criptografados usando HTTPS.Specifies whether the data source endpoints are encrypted using HTTPS. O valor padrão é true.The default value is true. NãoNo
useHostVerificationuseHostVerification Especifica se deve ser necessário o nome do host no certificado do servidor para corresponder ao nome do host do servidor ao se conectar via TLS.Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over TLS. O valor padrão é true.The default value is true. NãoNo
usePeerVerificationusePeerVerification Especifica se a identidade do servidor deve ser verificada ao se conectar via TLS.Specifies whether to verify the identity of the server when connecting over TLS. O valor padrão é true.The default value is true. NãoNo

Exemplo:Example:

{
    "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 dadosDataset properties

Para obter uma lista completa das seções e propriedades disponíveis para definir os conjuntos de dados, confira o artigo sobre conjuntos de dados.For a full list of sections and properties available for defining datasets, see the datasets article. Esta seção fornece uma lista das propriedades com suporte pelo conjunto de dados do ServiceNow.This section provides a list of properties supported by ServiceNow dataset.

Para copiar dados do ServiceNow, defina a propriedade type do conjunto de dados como ServiceNowObject.To copy data from ServiceNow, set the type property of the dataset to ServiceNowObject. Há suporte para as seguintes propriedades:The following properties are supported:

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
typetype A propriedade Type do conjunto de conjuntos deve ser definida como: ServiceNowObjectThe type property of the dataset must be set to: ServiceNowObject SimYes
tableNametableName Nome da tabela.Name of the table. Não (se "query" na fonte da atividade for especificada)No (if "query" in activity source is specified)

ExemploExample

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

Propriedades da atividade de cópiaCopy activity properties

Para obter uma lista completa das seções e propriedades disponíveis para definir atividades, confia o artigo Pipelines.For a full list of sections and properties available for defining activities, see the Pipelines article. Esta seção fornece uma lista das propriedades com suporte pela origem do ServiceNow.This section provides a list of properties supported by ServiceNow source.

ServiceNow como origemServiceNow as source

Para copiar dados do ServiceNow, defina o tipo de origem na atividade de cópia como ServiceNowSource.To copy data from ServiceNow, set the source type in the copy activity to ServiceNowSource. As propriedades a seguir têm suporte na seção source da atividade de cópia:The following properties are supported in the copy activity source section:

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
typetype A propriedade type da fonte da atividade de cópia deve ser definida como: ServiceNowSourceThe type property of the copy activity source must be set to: ServiceNowSource SimYes
Consultaquery Utiliza a consulta SQL personalizada para ler os dados.Use the custom SQL query to read data. Por exemplo: "SELECT * FROM Actual.alm_asset".For example: "SELECT * FROM Actual.alm_asset". Não (se "tableName" no conjunto de dados for especificado)No (if "tableName" in dataset is specified)

Observe o seguinte ao especificar o esquema e a coluna para ServiceNow em consulta, e consultem dicas de desempenho em implicação de desempenho de cópia.Note the following when specifying the schema and column for ServiceNow in query, and refer to Performance tips on copy performance implication.

  • Esquema: especifique o esquema como Actual ou Display na consulta ServiceNow, que você pode observar como o parâmetro de sysparm_display_value como verdadeiro ou falso ao chamar APIs restful ServiceNow.Schema: specify the schema as Actual or Display in the ServiceNow query, which you can look at it as the parameter of sysparm_display_value as true or false when calling ServiceNow restful APIs. 
  • Coluna: o nome da coluna para o valor real no esquema Actual é [column name]_value, e para o valor de exibição no esquema Display é [column name]_display_value.Column: the column name for actual value under Actual schema is [column name]_value, while for display value under Display schema is [column name]_display_value. Observe que o nome da coluna precisa ser mapeado para o esquema que está sendo usado na consulta.Note the column name need map to the schema being used in the query.

Consulta de exemplo: SELECT col_value FROM Actual.alm_asset OR  SELECT col_display_value FROM Display.alm_assetSample query: SELECT col_value FROM Actual.alm_asset OR  SELECT col_display_value FROM Display.alm_asset

Exemplo:Example:

"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>"
            }
        }
    }
]

Dicas de desempenhoPerformance tips

Esquema a ser usadoSchema to use

O ServiceNow possui 2 esquemas diferentes, um é ** "Real" ** que retorna dados reais, o outro é ** "Display" **, que retorna os valores de exibição dos dados.ServiceNow has 2 different schemas, one is "Actual" which returns actual data, the other is "Display" which returns the display values of data.

Se você tiver um filtro em sua consulta, use o esquema "Real" que tenha melhor desempenho de cópia.If you have a filter in your query, use "Actual" schema which has better copy performance. Ao consultar o esquema "Real", o ServiceNow suporta de forma nativa o filtro ao buscar os dados para retornar apenas o conjunto de resultados filtrado, enquanto ao consultar o esquema "Exibir", o ADF recupera todos os dados e aplica o filtro internamente.When querying against "Actual" schema, ServiceNow natively support filter when fetching the data to only return the filtered resultset, whereas when querying "Display" schema, ADF retrieve all the data and apply filter internally.

ÍndiceIndex

Índice da tabela de ServiceNow pode ajudar a melhorar o desempenho de consulta, consulte criar um índice de tabela.ServiceNow table index can help improve query performance, refer to Create a table index.

Pesquisar propriedades de atividadeLookup activity properties

Para saber detalhes sobre as propriedades, verifique Pesquisar atividade.To learn details about the properties, check Lookup activity.

Próximas etapasNext steps

Para obter uma lista de armazenamentos de dados com suporte como origens e coletores pela atividade de cópia no Azure Data Factory, consulte Armazenamentos de dados com suporte.For a list of data stores supported as sources and sinks by the copy activity in Azure Data Factory, see supported data stores.