Копирование данных из источника OData с помощью Фабрики данных Azure или Synapse Analytics
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В этой статье описано, как с помощью действия копирования в конвейере Фабрики данных Azure и Synapse Analytics копировать данные из источника OData. Это продолжение статьи о действии копирования в Фабрике данных Azure, в которой представлены общие сведения о действии копирования.
Поддерживаемые возможности
Соединитель OData предназначен для поддержки следующих возможностей:
Поддерживаемые возможности | IR |
---|---|
Действие копирования (источник/-) | (1) (2) |
Действие поиска | (1) (2) |
① Среда выполнения интеграции Azure ② Локальная среда выполнения интеграции
Список хранилищ данных, которые поддерживаются в качестве источников/приемников, см. в разделе Поддерживаемые хранилища данных.
В частности, этот соединитель OData поддерживает:
- OData версии 2.0, 3.0 и 4.0.
- Копирование данных с помощью одной из следующих аутентификаций: Анонимный, Базовый, Windows и субъект-служба Microsoft Entra.
Необходимые компоненты
Если хранилище данных размещено в локальной сети, виртуальной сети Azure или виртуальном частном облаке Amazon, для подключения к нему нужно настроить локальную среду выполнения интеграции.
Если же хранилище данных представляет собой управляемую облачную службу данных, можно использовать Azure Integration Runtime. Если доступ предоставляется только по IP-адресам, утвержденным в правилах брандмауэра, вы можете добавить IP-адреса Azure Integration Runtime в список разрешений.
Вы также можете использовать функцию среды выполнения интеграции в управляемой виртуальной сети в Фабрике данных Azure для доступа к локальной сети без установки и настройки локальной среды выполнения интеграции.
Дополнительные сведения о вариантах и механизмах обеспечения сетевой безопасности, поддерживаемых Фабрикой данных, см. в статье Стратегии получения доступа к данным.
Начало работы
Чтобы выполнить действие копирования с конвейером, можно воспользоваться одним из приведенных ниже средств или пакетов SDK:
- средство копирования данных;
- Портал Azure
- Пакет SDK для .NET
- Пакет SDK для Python
- Azure PowerShell
- The REST API
- шаблон Azure Resource Manager.
Создание связанной службы для хранилища OData с помощью пользовательского интерфейса
Выполните следующие действия, чтобы создать связанную службу для хранилища OData с помощью пользовательского интерфейса на портале Azure.
Перейдите на вкладку "Управление" в Фабрике данных Azure или рабочей области Synapse и выберите "Связанные службы", затем щелкните "Создать".
Найдите OData и выберите соединитель OData.
Настройте сведения о службе, проверьте подключение и создайте связанную службу.
Сведения о конфигурации соединителя
В разделах ниже приведены сведения о свойствах, которые используются для определения сущностей Фабрики данных, относящихся к соединителю OData.
Свойства связанной службы
Для связанной службы OData поддерживаются следующие свойства.
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Для свойства type необходимо задать значение OData. | Да |
URL-адрес | Корневой URL-адрес службы OData. | Да |
authenticationType | Тип проверки подлинности, используемый для подключения к источнику OData. Допустимыми значениями являются Анонимная, Базовая, Windows и AadServicePrincipal. OAuth на основе данных пользователя не поддерживается. Кроме того, можно настроить заголовки проверки подлинности в свойстве authHeader . |
Да |
authHeaders | Дополнительные заголовки HTTP-запросов для проверки подлинности. Например, чтобы использовать проверку подлинности с помощью ключа API, можно выбрать тип проверки подлинности "Анонимный" и указать ключ API в заголовке. |
No |
userName | Укажите имя пользователя, если вы используете проверку подлинности типа "Обычная" или "Windows". | No |
password | Введите пароль для учетной записи пользователя, указанной для имени пользователя. Пометьте это поле как тип SecureString для безопасного хранения. Вы можете также указать секрет, хранящийся в Azure Key Vault. | No |
servicePrincipalId | Укажите идентификатор клиента приложения Microsoft Entra. | No |
aadServicePrincipalCredentialType | Укажите тип учетных данных для использования при аутентификации субъекта-службы. Допустимые значения: ServicePrincipalKey или ServicePrincipalCert . |
No |
servicePrincipalKey | Укажите ключ приложения Microsoft Entra. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. | No |
servicePrincipalEmbeddedCert | Укажите сертификат в кодировке Base64 приложения, зарегистрированного в идентификаторе Microsoft Entra ID, и убедитесь, что тип контента сертификата — PKCS #12. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. | No |
servicePrincipalEmbeddedCertPassword | Если ваш сертификат защищен паролем, укажите пароль сертификата. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. | No |
tenant | Укажите сведения о клиенте (доменное имя или идентификатор клиента), в котором находится приложение. Его можно получить, наведя указатель мыши на правый верхний угол страницы портала Azure. | No |
aadResourceId | Укажите ресурс Microsoft Entra, запрашивающий авторизацию. | No |
azureCloudType | Для проверки подлинности субъекта-службы укажите тип облачной среды Azure, в которой зарегистрировано приложение Microsoft Entra. Допустимые значения: AzurePublic, AzureChina, AzureUsGovernment и AzureGermany. По умолчанию используется облачная среда службы. |
No |
connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Дополнительные сведения см. в разделе Предварительные условия. Если не указано другое, по умолчанию используется интегрированная Azure Integration Runtime. | No |
Пример 1. Использование анонимной проверки подлинности
{
"name": "ODataLinkedService",
"properties": {
"type": "OData",
"typeProperties": {
"url": "https://services.odata.org/OData/OData.svc",
"authenticationType": "Anonymous"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Пример 2. Использование обычной проверки подлинности
{
"name": "ODataLinkedService",
"properties": {
"type": "OData",
"typeProperties": {
"url": "<endpoint of OData source>",
"authenticationType": "Basic",
"userName": "<user name>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Пример 3. Использование проверки подлинности Windows
{
"name": "ODataLinkedService",
"properties": {
"type": "OData",
"typeProperties": {
"url": "<endpoint of OData source>",
"authenticationType": "Windows",
"userName": "<domain>\\<user>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Пример 4. Использование проверки подлинности с ключом субъект-службы
{
"name": "ODataLinkedService",
"properties": {
"type": "OData",
"typeProperties": {
"url": "<endpoint of OData source>",
"authenticationType": "AadServicePrincipal",
"servicePrincipalId": "<service principal id>",
"aadServicePrincipalCredentialType": "ServicePrincipalKey",
"servicePrincipalKey": {
"type": "SecureString",
"value": "<service principal key>"
},
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
"aadResourceId": "<AAD resource URL>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
Пример 5. Использование проверки подлинности с сертификатом субъект-службы
{
"name": "ODataLinkedService",
"properties": {
"type": "OData",
"typeProperties": {
"url": "<endpoint of OData source>",
"authenticationType": "AadServicePrincipal",
"servicePrincipalId": "<service principal id>",
"aadServicePrincipalCredentialType": "ServicePrincipalCert",
"servicePrincipalEmbeddedCert": {
"type": "SecureString",
"value": "<base64 encoded string of (.pfx) certificate data>"
},
"servicePrincipalEmbeddedCertPassword": {
"type": "SecureString",
"value": "<password of your certificate>"
},
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
"aadResourceId": "<AAD resource e.g. https://tenant.sharepoint.com>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
Пример 6. Использование проверки подлинности с ключом API
{
"name": "ODataLinkedService",
"properties": {
"type": "OData",
"typeProperties": {
"url": "<endpoint of OData source>",
"authenticationType": "Anonymous",
"authHeader": {
"APIKey": {
"type": "SecureString",
"value": "<API key>"
}
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Свойства набора данных
Этот раздел содержит список свойств, поддерживаемых набором данных OData.
Полный список разделов и свойств, используемых для определения наборов данных, приведен в статье Наборы данных и связанные службы в фабрике данных Azure.
Чтобы скопировать данные из OData, установите свойство type набора данных ODataResource. Поддерживаются следующие свойства:
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Свойство type для набора данных должно иметь значение ODataResource. | Да |
path | Путь к ресурсу OData. | Да |
Пример
{
"name": "ODataDataset",
"properties":
{
"type": "ODataResource",
"schema": [],
"linkedServiceName": {
"referenceName": "<OData linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties":
{
"path": "Products"
}
}
}
Свойства действия копирования
Этот раздел содержит список свойств, поддерживаемых источником OData.
Полный список разделов и свойств, доступных для определения действий, см. в статье, посвященной конвейерам и действиям в Фабрике данных Azure.
OData в качестве источника
Для копирования данных из OData в поле "Действие копирования" раздела Источник поддерживаются следующие свойства:
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Свойству type для источника в поле "Действие копирования" должно быть задано значение ODataSource. | Да |
query | Параметры запроса OData для фильтрации данных. Пример: "$select=Name,Description&$top=5" .Примечание. Соединитель OData копирует данные из объединенного URL-адреса: [URL specified in linked service]/[path specified in dataset]?[query specified in copy activity source] . Дополнительные сведения см. в статье о компонентах URL-адреса OData. |
No |
httpRequestTimeout | Время ожидания (значение Временной диапазон) ответа для HTTP-запроса. Это значение является интервалом времени для получения ответа, а не считывания данных ответа. Если не указано иное, значение по умолчанию – 00:30:00 (30 минут). | No |
Пример
"activities":[
{
"name": "CopyFromOData",
"type": "Copy",
"inputs": [
{
"referenceName": "<OData input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "ODataSource",
"query": "$select=Name,Description&$top=5"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Если вы ранее использовали типизированный источник RelationalSource
, он пока поддерживается и не требует изменений, но мы рекомендуем в дальнейшем использовать более новую версию.
Сопоставление типов данных для OData
При копировании данных из OData в службе используются следующие сопоставления типов данных OData с промежуточными типами данных. Дополнительные сведения о том, как действие копирования сопоставляет исходную схему и типы данных для приемника, см. в статье Сопоставление схем в действии копирования.
Тип данных OData | Промежуточный тип данных службы |
---|---|
Edm.Binary | Byte[] |
Edm.Boolean | Bool |
Edm.Byte | Byte[] |
Edm.DateTime | Дата/время |
Edm.Decimal | Десятичное число |
Edm.Double | Двойной |
Edm.Single | Одна |
Edm.Guid | GUID |
Edm.Int16 | Int16 |
Edm.Int32 | Int32 |
Edm.Int64 | Int64 |
Edm.SByte | Int16 |
Edm.String | Строка |
Edm.Time | TimeSpan |
Edm.DateTimeOffset | DateTimeOffset |
Примечание.
Сложные типы данных OData (например объекты), не поддерживаются.
Копирование данных из Project Online
Для Project Online требуется OAuth на основе пользователя, который не поддерживается Фабрикой данных Azure. Для копирования данных из Project Online можно использовать соединитель OData и маркер доступа, полученный из таких инструментов, как Postman.
Внимание
По умолчанию срок действия маркера доступа истекает через 1 час. После этого необходимо получить новый маркер доступа.
Используйте Postman, чтобы получить маркер доступа:
Примечание.
Postman используется некоторыми разработчиками для тестирования удаленных веб-API. Однако существуют некоторые риски безопасности и конфиденциальности, связанные с его использованием. Эта статья не поддерживает использование Postman для рабочих сред. Используйте его в вашем собственном риске.
- Перейдите на вкладку Авторизация на веб-сайте Postman.
- В поле Тип выберите OAuth 2.0, а в поле Добавить данные авторизации в укажите Заголовки запросов.
- Заполните следующие сведения на странице "Настройка нового маркера ", чтобы получить новый маркер доступа:
- Тип предоставления разрешения: выберите Код авторизации.
- URL-адрес обратного вызова: введите
https://www.localhost.com/
. - URL-адрес проверки подлинности: введите
https://login.microsoftonline.com/common/oauth2/authorize?resource=https://<your tenant name>.sharepoint.com
. Замените<your tenant name>
собственным именем клиента. - URL–адрес маркера доступа: введите
https://login.microsoftonline.com/common/oauth2/token
. - Идентификатор клиента: введите идентификатор субъекта-службы Microsoft Entra.
- Секрет клиента: введите секрет субъект-службы.
- Проверка подлинности клиента: выберите Отправлять в качестве обычного заголовка проверки подлинности.
- Отобразится приглашение выполнить вход в систему с помощью имени пользователя и пароля.
- После получения маркера доступа скопируйте и сохраните его для следующего шага.
Чтобы создать связанную службу OData, выполните следующие действия:
- URL–адрес службы: введите
https://<your tenant name>.sharepoint.com/sites/pwa/_api/Projectdata
. Замените<your tenant name>
собственным именем клиента. - В поле Тип проверки подлинности выберите Анонимный.
- Заголовки проверки подлинности:
- Имя свойства укажите Проверка подлинности.
- Значение: ВВОД
Bearer <access token from step 1>
.
- Проверьте работу связанной службы.
- URL–адрес службы: введите
Создание набора данных OData:
- Создайте набор данных с помощью связанной службы OData, созданной на шаге 2.
- Предварительный просмотр данных.
Свойства действия поиска
Подробные сведения об этих свойствах см. в разделе Действие поиска.
Связанный контент
Список хранилищ данных, поддерживаемых действием копирования в качестве источников и приемников, приведен в разделе Поддерживаемые хранилища данных и форматы.