Копирование данных из Azure Data Explorer или обратно с помощью Фабрики данных Azure или Synapse Analytics

Область применения:Фабрика данных Azure Azure Synapse Analytics

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

В этой статье описывается, как использовать действие копирования в конвейерах Фабрики данных Azure и Synapse Analytics для копирования данных в Azure Data Explorer или из него. Это продолжение статьи о действии копирования, в которой представлены общие сведения о копировании.

Совет

Дополнительные сведения об интеграции Azure Data Explorer со службой см. в статье Интеграция Azure Data Explorer.

Поддерживаемые возможности

Этот соединитель Azure Data Explorer поддерживается для следующих возможностей:

Поддерживаемые возможности IR
Действие копирования (источник/приемник) ① ②
Поток данных для сопоставления (источник/приемник)
Действие поиска ① ②

① Среда выполнения интеграции Azure ② Локальная среда выполнения интеграции

Вы можете скопировать данные из любого поддерживаемого хранилища исходных данных в Azure Data Explorer. Данные из базы данных Azure Data Explorer также можете скопировать в любое хранилище данных, поддерживаемое приемником. Список хранилищ данных, которые операция копирования поддерживает в качестве источников или приемников, см. в таблице Поддерживаемые хранилища данных.

Примечание.

Копирование данных в или из Azure Data Explorer через локальное хранилище данных с помощью локальной среды выполнения интеграции поддерживается в версии 3.14 и более поздних.

Соединитель Azure Data Explorer позволяет выполнять следующие действия:

  • Скопируйте данные с помощью проверки подлинности маркера приложения Microsoft Entra с субъектом-службой.
  • извлекать данные с помощью запроса KQL (Kusto) в качестве источника;
  • добавлять данные в таблицу назначения в качестве приемника.

Начало работы

Совет

Пошаговое руководство по соединителю Azure Data Explorer см. в статьях Копирование данных в или из Azure Data Explorer и Массовое копирование из базы данных в Azure Data Explorer.

Чтобы выполнить действие копирования с конвейером, можно воспользоваться одним из приведенных ниже средств или пакетов SDK:

Создание связанной службы для Azure Data Explorer с помощью пользовательского интерфейса

Выполните приведенные ниже действия, чтобы создать связанную службу для Azure Data Explorer с помощью пользовательского интерфейса на портале Azure.

  1. Перейдите на вкладку "Управление" в рабочей области Фабрики данных Azure или Synapse и выберите "Связанные службы", после чего нажмите "Создать":

  2. Выполните поиск по запросу "Explorer" и выберите соединитель Azure Data Explorer (Kusto).

    Screenshot of the Azure Data Explorer (Kusto) connector.

  3. Настройте сведения о службе, проверьте подключение и создайте связанную службу.

    Screenshot of linked service configuration for Azure Data Explorer.

Сведения о конфигурации соединителя

Следующие разделы содержат сведения о свойствах, которые используются для определения сущностей, характерных для соединителя Azure Data Explorer.

Свойства связанной службы

Соединитель Azure Data Explorer поддерживает приведенные ниже типы проверки подлинности. Дополнительные сведения см. в соответствующих разделах:

Аутентификация субъекта-службы

Чтобы использовать проверку подлинности субъекта-службы, выполните следующие действия для получения субъекта-службы и предоставления разрешений:

  1. Регистрация приложения с помощью платформы удостоверений Майкрософт. Дополнительные сведения см. в кратком руководстве. Регистрация приложения с помощью платформа удостоверений Майкрософт. Запишите эти значения, которые используются для определения связанной службы:

    • Application ID
    • ключ приложения.
    • Идентификатор клиента
  2. Предоставьте субъекту-службе правильные разрешения в Azure Data Explorer. Подробные сведения о ролях и разрешениях, а также об управлении разрешениями см. в статье Управление разрешениями базы данных Azure Data Explorer. Как правило, необходимо:

    • предоставить базе данных в качестве источника по крайней мере роль Представление базы данных;
    • В качестве приемника предоставьте по крайней мере роль пользователя базы данных вашей базе данных

Примечание.

Если действия по созданию выполняются в пользовательском интерфейсе, то для упорядочивания в виде списка кластеров, баз данных и таблиц Azure Data Explorer по умолчанию используется учетная запись пользователя для входа. С помощью субъекта-службы можно выбрать список объектов, щелкнув раскрывающееся меню рядом с кнопкой "Обновить" или введя имя вручную, если у вас нет разрешения на выполнение этих операций.

Для связанной службы Azure Data Explorer поддерживаются следующие свойства.

Свойство Описание: Обязательное поле
type Свойству type необходимо задать значение AzureDataExplorer. Да
конечная точка URL-адрес конечной точки кластера Azure Data Explorer в формате https://<clusterName>.<regionName>.kusto.windows.net. Да
database Имя базы данных. Да
tenant Укажите сведения о клиенте (доменное имя или идентификатор клиента), в котором находится приложение. Это свойство известно как "Идентификатор центра авторизации" в строке подключения Kusto. Эти сведения можно получить, наведя указатель мыши на правый верхний угол страницы портала Azure. Да
servicePrincipalId Укажите идентификатора клиента приложения. Это называется идентификатором клиента приложения Microsoft Entra в Kusto строка подключения. Да
servicePrincipalKey Укажите ключ приложения. Это называется ключом приложения Microsoft Entra в Kusto строка подключения. Присвойте этому полю метку SecureString для безопасного хранения или добавьте ссылку на безопасные данные, хранящиеся в Azure Key Vault. Да
connectVia Среда выполнения интеграции, используемая для подключения к хранилищу данных. Вы можете использовать среду выполнения интеграции Azure или локальную среду IR (если хранилище данных расположено в частной сети). Если не указано другое, используется среда выполнения интеграции Azure по умолчанию. No

Пример: использование проверки подлинности с помощью ключа субъекта-службы

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

Проверка подлинности с помощью назначенного системой управляемого удостоверения

Дополнительные сведения об управляемых удостоверениях для ресурсов Azure см. в статье Что такое управляемые удостоверения для ресурсов Azure?.

Для использования проверки подлинности с помощью управляемого удостоверения, назначаемого системой, выполните приведенные ниже действия по предоставлению разрешений.

  1. Получите управляемое удостоверение, скопировав значение идентификатора объекта управляемого удостоверения, созданного вместе с фабрикой или рабочей областью Synapse.

  2. Предоставьте управляемому удостоверению правильные разрешения в Azure Data Explorer. Подробные сведения о ролях и разрешениях, а также об управлении разрешениями см. в статье Управление разрешениями базы данных Azure Data Explorer. Как правило, необходимо:

    • В качестве источника предоставьте роль средства просмотра базы данных вашей базе данных.
    • В качестве приемника предоставьте ролям средства просмотра базы данных и ролей средства просмотра баз данных.

Примечание.

Если вы выполняет действия по созданию в пользовательском интерфейсе, то для упорядочивания в виде списка кластеров, баз данных и таблиц Azure Data Explorer по умолчанию используется учетная запись пользователя для входа. Введите имя вручную, если у вас нет разрешения на выполнение этих операций.

Для связанной службы Azure Data Explorer поддерживаются следующие свойства.

Свойство Описание: Обязательное поле
type Свойству type необходимо задать значение AzureDataExplorer. Да
конечная точка URL-адрес конечной точки кластера Azure Data Explorer в формате https://<clusterName>.<regionName>.kusto.windows.net. Да
database Имя базы данных. Да
connectVia Среда выполнения интеграции, используемая для подключения к хранилищу данных. Вы можете использовать среду выполнения интеграции Azure или локальную среду IR (если хранилище данных расположено в частной сети). Если не указано другое, используется среда выполнения интеграции Azure по умолчанию. No

Пример: использование проверки подлинности с помощью управляемого удостоверения, назначаемого системой

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

Проверка подлинности с помощью назначаемого пользователем управляемого удостоверения

Дополнительные сведения об управляемых удостоверениях для ресурсов Azure см. в статье Управляемые удостоверения для ресурсов Azure.

Для использования проверки подлинности с помощью управляемого удостоверения, назначаемого пользователем, выполните приведенные ниже действия.

  1. Создайте одно или несколько удостоверенный, назначаемых пользователем, и предоставьте разрешение в Azure Data Explorer. Подробные сведения о ролях и разрешениях, а также об управлении разрешениями см. в статье Управление разрешениями базы данных Azure Data Explorer. Как правило, необходимо:

    • предоставить базе данных в качестве источника по крайней мере роль Представление базы данных;
    • предоставить базе данных в качестве приемника по крайней мере роль Приемник базы данных.
  2. Присвойте Фабрике данных или рабочему пространству Synapse одно или несколько управляемых удостоверений, назначаемых пользователем, и создайте учетные данные для каждого подобного удостоверения.

Для связанной службы Azure Data Explorer поддерживаются следующие свойства.

Свойство Описание: Обязательное поле
type Свойству type необходимо задать значение AzureDataExplorer. Да
конечная точка URL-адрес конечной точки кластера Azure Data Explorer в формате https://<clusterName>.<regionName>.kusto.windows.net. Да
database Имя базы данных. Да
учетные данные Укажите назначаемое пользователем управляемое удостоверение в качестве объекта учетных данных. Да
connectVia Среда выполнения интеграции, используемая для подключения к хранилищу данных. Вы можете использовать среду выполнения интеграции Azure или локальную среду IR (если хранилище данных расположено в частной сети). Если не указано другое, используется среда выполнения интеграции Azure по умолчанию. No

Пример: использование проверки подлинности с помощью управляемого удостоверения, назначаемого пользователем

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

Свойства набора данных

Полный список разделов и свойств, доступных для определения наборов данных, см. в разделе Наборы данных в фабрике данных Azure. В этом разделе перечислены свойства, поддерживаемые набором данных Azure Data Explorer.

Чтобы скопировать данные в Azure Data Explorer, укажите для свойства type значение набора данных AzureDataExplorerTable.

Поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
type Свойству type необходимо присвоить значение AzureDataExplorerTable. Да
table Имя таблицы, на которое ссылается связанная служба. "Да" для приемника, "Нет" для источника

Пример свойств набора данных:

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

Свойства действия копирования

Полный список разделов и свойств, доступных для определения действий, см. в разделе Конвейеры и действия. Этот раздел содержит список свойств, поддерживаемых источником и приемником Azure Data Explorer.

Azure Data Explorer в качестве источника

Чтобы скопировать данные Azure Data Explorer, задайте для свойства type в источнике действия копирования значение AzureDataExplorerSource. В разделе source действия копирования поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
type Свойство type источника действия копирования должно иметь значение AzureDataExplorerSource Да
query Запрос только для чтения в формате KQL. Используйте пользовательский запрос KQL в качестве ссылки. Да
queryTimeout Срок до истечения времени ожидания запроса. Значение по умолчанию — 10 минут (00:10:00); допустимое максимальное значение — 1 час (01:00:00). No
noTruncation Указывает, следует ли усекать возвращенный результирующий набор. По умолчанию результат усекается после 500 000 записей или 64 мегабайт (МБ). Усечение настоятельно рекомендуется для обеспечения правильного поведения действия. No

Примечание.

По умолчанию источник Azure Data Explorer имеет ограничение объема в 500 000 записей или 64 МБ. Чтобы получить все записи без усечения, можно указать set notruncation; в начале запроса. Дополнительные сведения см. в статье об ограничениях запроса.

Пример:

"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 в качестве приемника

Чтобы скопировать данные Azure Data Explorer, задайте для свойства type в приемнике действия копирования значение AzureDataExplorerSink. В разделе sink действия копирования поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
type Свойству type приемника действий копирования должно быть присвоено значение: AzureDataExplorerSink. Да
ingestionMappingName Имя предварительно созданного сопоставления в таблице Kusto. Чтобы сопоставить столбцы из источника с Azure Data Explorer (который применяется ко всем поддерживаемым исходным хранилищам и форматам, включая форматы CSV, JSON или Avro), можно использовать сопоставление столбцов действия копирования (неявно по имени или явно настроенное) и (или) сопоставления Azure Data Explorer. No
additionalProperties Контейнер свойств, который можно использовать для указания любых свойств приема, которые еще не установлены Приемником Azure Data Explorer. В частности, это может быть полезно для указания тегов приема. Дополнительные сведения см. в документации по приему данных в Azure Data Explore. No

Пример:

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

Свойства потока данных для сопоставления

При преобразовании данных в потоке данных для сопоставления можно выполнять операции чтения и записи в таблицах в Azure Data Explorer. Дополнительные сведения см. в описаниях преобразования источника и преобразования приемника в разделе, посвященном потокам данных для сопоставления. Можно выбрать использование Azure Data Explorer или встроенного набора данных в качестве типа источника и приемника.

Преобразование источника

В таблице ниже перечислены свойства, поддерживаемые источником Azure Data Explorer. Изменить эти свойства можно на вкладке Source options (Параметры источника).

Имя Описание Обязательное поле Допустимые значения Свойство скрипта для потока данных
Таблицу Если в качестве входных данных выбрать вариант "Таблица", поток данных будет получать все данные из таблицы, указанной в наборе данных Azure Data Explorer, или в параметрах источника при использовании встроенного набора данных. Нет Строка (только для встроенного набора данных)
tableName
Query Запрос только для чтения в формате KQL. Используйте пользовательский запрос KQL в качестве ссылки. Нет Строка query
Timeout Срок до истечения времени ожидания запроса. По умолчанию — 172 000 (2 дня) No Целое timeout

Примеры сценариев источника Azure Data Explorer

Если используется набор данных Azure Data Explorer в качестве типа источника, связанным сценарием потока данных будет:

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

Если используется встроенный набор данных, связанный сценарий потока данных будет следующим:

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

Преобразование приемника

В таблице ниже перечислены свойства, поддерживаемые приемником Azure Data Explorer. Эти свойства можно изменить на вкладке Параметры. При использовании встроенного набора данных будут отображаться дополнительные параметры, совпадающие со свойствами, описанными в разделе Свойства набора данных.

Имя Описание Обязательное поле Допустимые значения Свойство скрипта для потока данных
Действие таблицы Определяет, следует ли повторно создавать или удалять все строки в целевой таблице перед записью.
- Нет: действия с таблицей не будут выполняться.
- Создать повторно: таблица будет удалена и создана повторно. Это действие необходимо, если новая таблица создается динамически.
- Усечь: все строки из целевой таблицы будут удалены.
No true или false создать повторно
truncate
Скрипты SQL предобработки и постобработки Укажите многострочные скрипты команд управления Kusto, которые будут выполняться до (предобработка) и после (постобработка) записи данных в базу данных-приемник. Нет Строка preSQLs; postSQLs
Timeout Срок до истечения времени ожидания запроса. По умолчанию — 172 000 (2 дня) No Целое timeout

Примеры сценариев приемника Azure Data Explorer

Если используется набор данных Azure Data Explorer в качестве типа приемника, связанным сценарием потока данных будет:

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

Если используется встроенный набор данных, связанный сценарий потока данных будет следующим:

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

Свойства действия поиска

Дополнительные сведения о свойствах см. в статье об действии поиска.