Общедоступный REST API конвейера данных Microsoft Fabric (предварительная версия)
Внимание
API Microsoft Fabric для фабрики данных create/Read/Update/Delete (CRUD) в настоящее время находится в предварительной версии. Эта информация относится к предварительному продукту, который может быть существенно изменен до выпуска. Корпорация Майкрософт не дает явных или подразумеваемых гарантий относительно предоставленных здесь сведений.
В Microsoft Fabric API фабрики данных состоят исключительно из операций CRUD для конвейеров и потоков данных. В настоящее время поддерживаются только конвейеры данных. API потоков данных будут выпущены позже. Другие распространенные области для проектов интеграции данных находятся в отдельных API: расписания, мониторинг, подключения, имеют собственные API в Fabric. Основная справочная документация по REST API Microsoft Fabric см. в справочниках по REST API Microsoft Fabric. Также обратитесь к API основных элементов и планировщику заданий.
Получение маркера авторизации
Вариант 1. Использование MSAL.Net
Краткое руководство по API Fabric — REST API Microsoft Fabric
Используйте MSAL.Net для получения маркера идентификатора Microsoft Entra для службы Fabric со следующими область: Workspace.ReadWrite.All, Item.ReadWrite.All. Дополнительные сведения о приобретении токенов с MSAL.Net см. в статье "Приобретение маркеров" — библиотека проверки подлинности Майкрософт для .NET.
Вставьте идентификатор приложения (клиента), скопированный ранее, и вставьте его для переменной ClientId.
Вариант 2. Использование портала Fabric
Войдите на портал Fabric для клиента, на который вы хотите протестировать, и нажмите клавишу F12, чтобы войти в режим разработчика браузера. В консоли выполните следующие действия:
powerBIAccessToken
Скопируйте маркер и вставьте его для переменной ClientId.
Определение элемента с закодированными полезными данными base64
- Для кодирования JSON используйте кодировку Base64 и декодирование .
- Убедитесь, что поле безопасного кодирования URL-адреса не проверка.
- Определения конвейера можно получить с помощью вкладки "Вид кода JSON-> Просмотр кода JSON" в пользовательском интерфейсе Fabric.
{
"name": "Pipeline_1_updated",
"objectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"properties": {
"description": "this is the description",
"activities": [
{
"name": "Wait1",
"type": "Wait",
"dependsOn": [],
"typeProperties": {
"waitTimeInSeconds": 240
}
}
],
"annotations": [],
"lastModifiedByObjectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"lastPublishTime": "2024-02-01T17:28:02Z"
}
}
Возьмите объект свойств и окружите их в фигурных скобках { } - поэтому полезные данные определения элемента REST будут:
{
"properties": {
"description": "this is the description",
"activities": [
{
"name": "Wait1",
"type": "Wait",
"dependsOn": [],
"typeProperties": {
"waitTimeInSeconds": 240
}
}
],
"annotations": [],
"lastModifiedByObjectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"lastPublishTime": "2024-02-01T17:28:02Z"
}
}
Создать элемент
REST API — элементы — создание элемента
Пример:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items
Текст:
{
"displayName": "pipeline_1",
"type": "DataPipeline"
}
Примечание.
В документации указано, что есть только 2 обязательных свойства — displayName и type. В настоящее время рабочая нагрузка-DI не поддерживает создание без определения . Исправление для этого ошибочного требования в настоящее время развертывается. Теперь можно отправить то же определение по умолчанию, используемое пользовательским интерфейсом Fabric: ‘{"properties":{"activities":[]}}’
Изменен JSON, включая определение:
{
"displayName": "pipeline_1",
"type": "DataPipeline",
"definition": {
"parts": [
{
"path": "pipeline-content.json",
"payload": "eyJwcm9wZXJ0aWVzIjp7ImFjdGl2aXRpZXMiOltdfX0=",
"payloadType": "InlineBase64"
}
]
}
}
Ответ 201:
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "DataPipeline",
"displayName": "Pipeline_1",
"description": "",
"workspaceId": "<Your WS Id>"
}
Удаление элемента
REST API — элементы — удаление элемента
Пример:
DELETE https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>
Ответ 200: (без текста)
Get item (Получение элемента)
REST API — элементы — получение элемента
Пример:
GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>
Ответ 200:
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "DataPipeline",
"displayName": "Pipeline_1",
"workspaceId": "<your WS Id>"
}
Получение определения элемента
REST API — элементы — получение определения элемента
Пример:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/getDefinition
Ответ 200:
{
"definition": {
"parts":[
{
"path": "pipeline-content.json",
"payload": "ewogICJwcm9wZXJ0aWVzIjogewogICAgImFjdGl2aXRpZXMiOiBbXQogIH0KfQ==",
"payloadType": "InlineBase64"
}
]
}
}
Элементы списка
Пример:
GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items
Ответ 200:
{
"value": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "SemanticModel",
"displayName": "deata_lh",
"description": "",
"workspaceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "SQLEndpoint",
"displayName": "deata_lh",
"description": "",
"workspaceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "Lakehouse",
"displayName": "deata_lh",
"description": "",
"workspaceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "DataPipeline",
"displayName": "Pipeline_1",
"description": "",
"workspaceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
}
Обновление элемента
REST API — элементы — обновление элемента
Пример:
PATCH https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>
Текст:
{
"displayName": "Pipeline_1_updated",
"description": "This is the description."
}
Ответ 200:
{
"id": "<pipeline id>",
"type": "DataPipeline",
"displayName": "Pipeline_1_updated",
"description": "This is the description.",
"workspaceId": "<Your WS id>"
}
Обновление определения элемента
REST API — элементы — обновление определения элементов
Пример:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/updateDefinition
Текст:
{
"definition": {
"parts": [
{
"path": "pipeline-content.json",
"payload": "eyJwcm9wZXJ0aWVzIjp7ImFjdGl2aXRpZXMiOltdfX0=",
"payloadType": "InlineBase64"
}
]
}
}
Ответ 200: (без текста)
Выполнение задания элемента по запросу
REST API — элементы — выполнение задания элемента по запросу
Пример:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances?jobType=Pipeline
Ответ 202: (без текста)
Пример с двумя значениями параметров:
Здесь у нас есть действие Wait с параметром с именем param_waitsec, чтобы указать количество секунд для ожидания.
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances?jobType=Pipeline
Текст:
{
"executionData": {
"parameters": {
"param_waitsec": 10"
}
}
}
Ответ 202: (без текста)
Примечание.
В настоящее время нет возвращаемого текста, но идентификатор задания должен быть возвращен. Во время предварительной версии его можно найти в возвращаемых заголовках в свойстве Location.
Получение экземпляра задания элемента
REST API — элементы — получение экземпляра задания элемента
Пример:
GET https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances/<job ID>
dotnetcli
Ответ 200:
{
"id": "4511ffcd-a9f6-4f75-91a9-9ceab08d7539",
"itemId": "2bb9fe4a-0a84-4725-a01f-7ac4e6850259",
"jobType": "Pipeline",
"invokeType": "Manual",
"status": "Completed",
"failureReason": null,
"rootActivityId": "f14bdd95-2cff-4451-b839-bea81509126d",
"startTimeUtc": "2024-02-01T03:03:19.8361605",
"endTimeUtc": "2024-02-01T03:05:00.3433333"
}
Отмена экземпляра задания элемента
REST API — элементы — экземпляр задания отмены
Пример:
POST https://api.fabric.microsoft.com/v1/workspaces/<your WS Id>/items/<pipeline id>/jobs/instances/<job ID>/cancel
Ответ 202: (без текста)
Примечание.
После отмены задания можно проверка состояние, вызвав экземпляр задания get item или просмотр журнала выполнения представления в пользовательском интерфейсе Fabric.
Известные ограничения
- Проверка подлинности субъекта-службы (SPN) не поддерживается
Следующие шаги
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по