Partilhar via


Copiar dados para ou a partir do Azure Data Explorer usando Azure Data Factory ou Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Data Factory em Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA incorporada e novas funcionalidades. Se és novo na integração de dados, começa pelo Fabric Data Factory. As cargas de trabalho existentes do ADF podem atualizar para o Fabric para aceder a novas capacidades em ciência de dados, análise em tempo real e relatórios.

Este artigo descreve como utilizar a atividade de cópia nos pipelines Azure Data Factory e Synapse Analytics para copiar dados para ou de Azure Data Explorer. Ele se baseia no artigo de visão geral da atividade de cópia, que oferece uma visão geral da atividade de cópia.

Gorjeta

Para saber mais sobre a integração do Azure Data Explorer com o serviço em geral, leia o Integre Azure Data Explorer.

Capacidades suportadas

Este conector Azure Data Explorer é suportado para as seguintes capacidades:

Capacidades suportadas IR
atividade Copy (fonte/sumidouro) (1) (2)
Mapeando o fluxo de dados (origem/destino) (1)
Atividade de Pesquisa (1) (2)

(1) Runtime de integração Azure (2) Runtime de integração auto-hospedado

Pode copiar dados de qualquer armazenamento de dados de origem suportado para o Azure Data Explorer. Também pode copiar dados do Azure Data Explorer para qualquer repositório de dados de destino suportado. Para obter uma lista de armazenamentos de dados que a atividade de cópia suporta como fontes ou destinos, consulte a tabela de armazenamentos de dados suportados.

Nota

A cópia de dados para ou a partir do Azure Data Explorer através de um armazenamento de dados local, utilizando tempo de execução de integração autogerido, é suportada na versão 3.14 e posteriores.

Com o conector Azure Data Explorer, pode fazer o seguinte:

  • Copiar dados usando autenticação de token de aplicação do Microsoft Entra com um principal de serviço .
  • Como fonte, recupere dados usando uma consulta KQL (Kusto).
  • Como um coletor, acrescente dados a uma tabela de destino.

Começar

Gorjeta

Para uma orientação sobre o conector do Azure Data Explorer, veja Copiar dados para/de Azure Data Explorer e Copiar em massa de uma base de dados para Azure Data Explorer.

Para executar a atividade de cópia com um pipeline, você pode usar uma das seguintes ferramentas ou SDKs:

Criar um serviço ligado ao Azure Data Explorer usando UI

Use os seguintes passos para criar um serviço ligado ao Azure Data Explorer na interface do portal do Azure.

  1. Navegue até ao separador Gerir no seu espaço de trabalho Azure Data Factory ou Synapse e selecione Serviços Ligados, depois clique em Novo:

  2. Procure por Explorer e selecione o conector Azure Data Explorer (Kusto).

    Captura de ecrã do conector Azure Data Explorer (Kusto).

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

    Captura de ecrã da configuração do serviço ligado para Azure Data Explorer.

Detalhes de configuração do conector

As secções seguintes fornecem detalhes sobre propriedades que são usadas para definir entidades específicas do conector Azure Data Explorer.

Propriedades do serviço vinculado

O conector Azure Data Explorer suporta os seguintes tipos de autenticação. Consulte as seções correspondentes para obter detalhes:

Autenticação do principal de serviço

Para usar a autenticação da entidade de serviço, siga estas etapas para obter uma entidade de serviço e conceder permissões:

  1. Registe uma aplicação na plataforma de identidades da Microsoft. Para saber como, veja Quickstart: Registe uma candidatura com a plataforma de identidades da Microsoft. Anote estes valores, que você usa para definir o serviço vinculado:

    • ID da aplicação
    • Chave de aplicação
    • ID de Locatário
  2. Conceda ao principal do serviço as permissões corretas no Azure Data Explorer. Consulte Gerenciar permissões Azure Data Explorer bases de dados para informações detalhadas sobre funções e permissões e sobre gestão de permissões. Em geral, deve:

    • Como origem, conceda pelo menos a função de visualizador de banco de dados ao seu banco de dados
    • Como sink, conceda pelo menos a função de Utilizador da Base de Dados ao seu banco de dados

Nota

Quando usas a interface de utilizador para criar conteúdo, por defeito, a tua conta de utilizador de login é usada para listar os clusters, as bases de dados e as tabelas do Azure Data Explorer. Você pode optar por listar os objetos usando a entidade de serviço clicando na lista suspensa ao lado do botão de atualização ou inserir manualmente o nome se não tiver permissão para essas operações.

As seguintes propriedades são suportadas para o serviço ligado Azure Data Explorer:

Propriedade Descrição Obrigatório
tipo A propriedade type deve ser definida como AzureDataExplorer. Sim
ponto final URL do endpoint do cluster Azure Data Explorer, com o formato https://<clusterName>.<regionName>.kusto.windows.net. Sim
base de dados Nome da base de dados. Sim
inquilino Especifique as informações do locatário (nome de domínio ou ID do locatário) sob as quais seu aplicativo reside. Isto é conhecido como "ID de Autoridade" em Kusto cadeia de ligação. Recupere-o passando o ponteiro do rato no canto superior direito do portal Azure. Sim
ID do Serviço Principal Especifique o ID do cliente do aplicativo. Isto é conhecido como "Microsoft Entra application client ID" em Kusto cadeia de ligação. Sim
chavePrincipalDoServiço Especifique a chave do aplicativo. Isto é conhecido como "chave de aplicação Microsoft Entra" em Kusto cadeia de ligação. Marque este campo como SecureString para o armazenar de forma segura, ou como dados seguros reference armazenados em Azure Key Vault. Sim
conectarVia O runtime de integração a ser usado para se conectar ao armazenamento de dados. Pode usar o runtime de integração do Azure ou um runtime de integração auto-hospedado se o seu armazenamento de dados estiver numa rede privada. Se não for especificado, utiliza-se o runtime de integração padrão do Azure. Não

Exemplo: usando autenticação por chave do principal de serviço

{
    "name": "AzureDataExplorerLinkedService",
    "properties": {
        "type": "AzureDataExplorer",
        "typeProperties": {
            "endpoint": "https://<clusterName>.<regionName>.kusto.windows.net ",
            "database": "<database name>",
            "tenant": "<tenant name/id e.g. microsoft.onmicrosoft.com>",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            }
        }
    }
}

Autenticação de identidade gerenciada atribuída pelo sistema

Para saber mais sobre identidades geridas para recursos Azure, consulte Identidades geridas para recursos Azure.

Para usar a autenticação de identidade gerenciada atribuída pelo sistema, siga estas etapas para conceder permissões:

  1. Recupere as informações de identidade geridas copiando o valor do ID do objeto de identidade geridas gerado juntamente com a sua fábrica ou com o espaço de trabalho Synapse.

  2. Conceda à identidade gerida as permissões corretas no Azure Data Explorer. Consulte Gerenciar permissões Azure Data Explorer bases de dados para informações detalhadas sobre funções e permissões e sobre gestão de permissões. Em geral, deve:

    • Como origem, conceda a função Visualizador de banco de dados ao seu banco de dados.
    • Como coletor, conceda as funções Ingestor de banco de dados e Visualizador de banco de dados ao seu banco de dados.

Nota

Quando usa a interface para criar, a sua conta de utilizador de login é usada para listar clusters, bases de dados e tabelas do Azure Data Explorer. Introduza manualmente o nome se não tiver permissão para estas operações.

As seguintes propriedades são suportadas para o serviço ligado Azure Data Explorer:

Propriedade Descrição Obrigatório
tipo A propriedade type deve ser definida como AzureDataExplorer. Sim
ponto final URL do endpoint do cluster Azure Data Explorer, com o formato como https://<clusterName>.<regionName>.kusto.windows.net. Sim
base de dados Nome da base de dados. Sim
conectarVia O runtime de integração a ser usado para se conectar ao armazenamento de dados. Pode usar o runtime de integração do Azure ou um runtime de integração auto-hospedado se o seu armazenamento de dados estiver numa rede privada. Se não for especificado, utiliza-se o runtime de integração padrão do Azure. Não

Exemplo: usando autenticação de identidade gerenciada atribuída pelo sistema

{
    "name": "AzureDataExplorerLinkedService",
    "properties": {
        "type": "AzureDataExplorer",
        "typeProperties": {
            "endpoint": "https://<clusterName>.<regionName>.kusto.windows.net ",
            "database": "<database name>",
        }
    }
}

Autenticação de identidade gerenciada atribuída pelo usuário

Para saber mais sobre identidades geridas para recursos Azure, consulte Identidades geridas para recursos Azure

Para usar a autenticação de identidade gerenciada atribuída pelo usuário, siga estas etapas:

  1. Crie uma ou várias identidades geridas atribuídas pelo utilizador e conceda permissão em Azure Data Explorer. Consulte Gerenciar permissões Azure Data Explorer bases de dados para informações detalhadas sobre funções e permissões e sobre gestão de permissões. Em geral, deve:

    • Como origem, conceda pelo menos a função de visualizador de banco de dados ao seu banco de dados
    • Como destino, conceda pelo menos a função de ingestor de bases de dados ao seu banco de dados
  2. Atribua uma ou várias identidades gerenciadas atribuídas pelo usuário ao seu data factory ou espaço de trabalho Synapse e crie credenciais para cada identidade gerenciada atribuída pelo usuário.

As seguintes propriedades são suportadas para o serviço ligado Azure Data Explorer:

Propriedade Descrição Obrigatório
tipo A propriedade type deve ser definida como AzureDataExplorer. Sim
ponto final URL do endpoint do cluster Azure Data Explorer, com o formato como https://<clusterName>.<regionName>.kusto.windows.net. Sim
base de dados Nome da base de dados. Sim
credenciais Especifique a identidade gerenciada atribuída pelo usuário como o objeto de credencial. Sim
conectarVia O runtime de integração a ser usado para se conectar ao armazenamento de dados. Pode usar o runtime de integração do Azure ou um runtime de integração auto-hospedado se o seu armazenamento de dados estiver numa rede privada. Se não for especificado, utiliza-se o runtime de integração padrão do Azure. Não

Exemplo: usando a autenticação de identidade gerenciada atribuída pelo usuário

{
    "name": "AzureDataExplorerLinkedService",
    "properties": {
        "type": "AzureDataExplorer",
        "typeProperties": {
            "endpoint": "https://<clusterName>.<regionName>.kusto.windows.net ",
            "database": "<database name>",
            "credential": {
                "referenceName": "credential1",
                "type": "CredentialReference"
            }
        }
    }
}

Propriedades do conjunto de dados

Para obter uma lista completa de seções e propriedades disponíveis para definir conjuntos de dados, consulte Conjuntos de dados. Esta secção lista as propriedades que o conjunto de dados Azure Data Explorer suporta.

Para copiar dados para Azure Data Explorer, defina a propriedade de tipo do conjunto de dados para AzureDataExplorerTable.

As seguintes propriedades são suportadas:

Propriedade Descrição Obrigatório
tipo A propriedade type deve ser definida como AzureDataExplorerTable. Sim
tabela O nome da tabela à qual o serviço vinculado se refere. Sim para pia; Não para a fonte

Exemplo de propriedades de conjunto de dados:

{
   "name": "AzureDataExplorerDataset",
    "properties": {
        "type": "AzureDataExplorerTable",
        "typeProperties": {
            "table": "<table name>"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Azure Data Explorer linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Propriedades da atividade de cópia

Para obter uma lista completa de seções e propriedades disponíveis para definir atividades, consulte Pipelines e atividades. Esta secção fornece uma lista de propriedades que o Azure Data Explorer suporta fontes e sinks.

Azure Data Explorer como fonte

Para copiar dados de Azure Data Explorer, defina a propriedade type na fonte atividade Copy para AzureDataExplorerSource. As seguintes propriedades são suportadas na seção de origem da atividade de cópia:

Propriedade Descrição Obrigatório
tipo A propriedade tipo da fonte de atividade de cópia deve ser definida para: AzureDataExplorerSource Sim
consulta Uma solicitação somente leitura fornecida em um formato KQL. Use a consulta KQL personalizada como referência. Sim
tempo de espera da consulta O tempo de espera antes que a solicitação de consulta atinja o tempo limite. O valor padrão é 10 min (00:10:00); O valor máximo permitido é de 1 hora (01:00:00). Não
noTruncamento Indica se o conjunto de resultados retornado deve ser truncado. Por padrão, o resultado é truncado após 500.000 registros ou 64 megabytes (MB). O truncamento é altamente recomendado para garantir o comportamento correto da atividade. Não

Nota

Por padrão, a origem do Azure Data Explorer tem um limite de tamanho de 500.000 registos ou 64 MB. Para recuperar todos os registros sem truncamento, você pode especificar set notruncation; no início da consulta. Para obter mais informações, consulte Limites de consulta.

Exemplo:

"activities":[
    {
        "name": "CopyFromAzureDataExplorer",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "AzureDataExplorerSource",
                "query": "TestTable1 | take 10",
                "queryTimeout": "00:10:00"
            },
            "sink": {
                "type": "<sink type>"
            }
        },
        "inputs": [
            {
                "referenceName": "<Azure Data Explorer input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ]
    }
]

Azure Data Explorer como destino

Para copiar dados para o Azure Data Explorer, configure a propriedade type no destino da atividade de cópia para AzureDataExplorerSink. As seguintes propriedades são suportadas na seção coletor de atividade de cópia:

Propriedade Descrição Obrigatório
tipo A propriedade "type" do destino de atividade de cópia deve ser definida como: AzureDataExplorerSink. Sim
nomeDeMapeamentoDeIngestão Nome de um mapeamento pré-criado em uma tabela Kusto. Para mapear as colunas da fonte para o Azure Data Explorer (o que se aplica a todos os armazenamentos e formatos de fonte suportados, incluindo formatos CSV/JSON/Avro), pode usar a atividade de cópia mapeamento de colunas (implicitamente pelo nome ou explicitamente conforme configurado) e/ou mapeamentos do Azure Data Explorer. Não
propriedades adicionais Um saco de propriedades que pode ser usado para especificar quaisquer propriedades de ingestão que ainda não estejam a ser definidas pelo Azure Data Explorer Sink. Especificamente, pode ser útil para especificar etiquetas de ingestão. Saiba mais em Azure Data Explore data ingestion doc. Não

Exemplo:

"activities":[
    {
        "name": "CopyToAzureDataExplorer",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "AzureDataExplorerSink",
                "ingestionMappingName": "<optional Azure Data Explorer mapping name>",
                "additionalProperties": {<additional settings for data ingestion>}
            }
        },
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Azure Data Explorer output dataset name>",
                "type": "DatasetReference"
            }
        ]
    }
]

Mapeando propriedades de fluxo de dados

Ao transformar dados no mapeamento do fluxo de dados, pode ler e escrever em tabelas no Azure Data Explorer. Para obter mais informações, consulte a transformação de origem e a transformação de coletor no mapeamento de fluxos de dados. Pode optar por usar um conjunto de dados Azure Data Explorer ou um conjunto de dados inline como tipo de origem e sumidouro.

Transformação da fonte

A tabela abaixo lista as propriedades suportadas pelo Azure Data Explorer source. Você pode editar essas propriedades na guia Opções de origem .

Nome Descrição Obrigatório Valores permitidos Propriedade do script de fluxo de dados
Tabela Se selecionar Tabela como entrada, o fluxo de dados irá buscar todos os dados da tabela especificada no conjunto de dados do Azure Data Explorer ou nas opções de origem ao usar conjunto de dados inline. Não Cordão (apenas para conjunto de dados integrado)
nome da tabela
Pergunta Uma solicitação somente leitura fornecida em um formato KQL. Use a consulta KQL personalizada como referência. Não Cordão consulta
Limite de tempo excedido O tempo de espera antes que a solicitação de consulta atinja o tempo limite. O padrão é '172000' (2 dias) Não Número inteiro tempo limite

Exemplos de scripts de origem do Azure Data Explorer

Quando utiliza o conjunto de dados do Azure Data Explorer como tipo de fonte, o script de fluxo de dados associado é:

source(allowSchemaDrift: true,
	validateSchema: false,
	query: 'table | take 10',
	format: 'query') ~> AzureDataExplorerSource

Se você usar o conjunto de dados embutido, o script de fluxo de dados associado será:

source(allowSchemaDrift: true,
    validateSchema: false,
    format: 'query',
    query: 'table | take 10',
    store: 'azuredataexplorer') ~> AzureDataExplorerSource

Transformação do lavatório

A tabela abaixo lista as propriedades suportadas pelo Azure Data Explorer sink. Você pode editar essas propriedades na guia Configurações. Ao usar o conjunto de dados embutido, você verá configurações adicionais, que são as mesmas que as propriedades descritas na seção de propriedades do conjunto de dados.

Nome Descrição Obrigatório Valores permitidos Propriedade do script de fluxo de dados
Ação da tabela Determina se todas as linhas da tabela de destino devem ser recriadas ou removidas antes de serem escritas.
- Nenhuma: Nenhuma ação será feita à tabela.
- Recriar: A tabela será eliminada e recriada. Necessário apenas ao criar uma nova tabela dinamicamente.
- Truncate: Todas as linhas da tabela de destino serão removidas.
Não true ou false recriar
truncar
Scripts pré e pós SQL Especifique múltiplos comandos de controlo do Kusto que serão executados antes (pré-processamento) e depois (pós-processamento) de os dados serem gravados no banco de dados de destino. Não Cordão pré-SQLs; pós-SQLs
Limite de tempo excedido O tempo de espera antes que a solicitação de consulta atinja o tempo limite. O padrão é '172000' (2 dias) Não Número inteiro tempo limite

Azure Data Explorer exemplos de scripts de destino

Quando usa o conjunto de dados do Azure Data Explorer como tipo sink, o script de fluxo de dados associado é:

IncomingStream sink(allowSchemaDrift: true,
	validateSchema: false,
	format: 'table',
	preSQLs:['pre SQL scripts'],
	postSQLs:['post SQL script'],
	skipDuplicateMapInputs: true,
	skipDuplicateMapOutputs: true) ~> AzureDataExplorerSink

Se você usar o conjunto de dados embutido, o script de fluxo de dados associado será:

IncomingStream sink(allowSchemaDrift: true,
    validateSchema: false,
    format: 'table',
    store: 'azuredataexplorer',
    skipDuplicateMapInputs: true,
    skipDuplicateMapOutputs: true) ~> AzureDataExplorerSink

Propriedades da atividade de consulta

Para obter mais informações sobre as propriedades, consulte Atividade de Pesquisa.