Поделиться через


Общедоступный REST API зеркального отображения Microsoft Fabric

Общедоступные API для зеркального отображения Fabric состоят из двух категорий: (1) операции CRUD для элемента зеркальной базы данных Fabric и (2) Операции запуска и остановки и мониторинга. Основная справочная документация по REST API Microsoft Fabric см. в справочниках по REST API Microsoft Fabric.

Замечание

Эти ИНТЕРФЕЙСы REST API не применяются к зеркальной базе данных из Azure Databricks.

Создание зеркальной базы данных

REST API — элементы — создание зеркальной базы данных

Перед созданием зеркальной базы данных требуется соответствующее подключение к источнику данных. Если у вас еще нет подключения, перейдите к созданию нового подключения с помощью портала и используйте этот идентификатор подключения в следующем определении. Вы также можете создать REST API подключения , чтобы создать новое подключение с помощью REST API Fabric.

Пример:

POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases

Текст:

{
    "displayName": "Mirrored database 1",
    "description": "A mirrored database description",
    "definition": {
        "parts": [
            {
                "path": "mirroring.json",
                "payload": "eyAicHJvcGVydGllcy..WJsZSIgfSB9IH0gXSB9IH0",
                "payloadType": "InlineBase64"
            }
        ]
    }
}

Свойство payload в предыдущем тексте JSON закодировано в кодировке Base64. Для кодирования можно использовать кодировку Base64 и декодирование .

Ниже приведены примеры определения JSON. Дополнительные сведения об определении зеркального элемента базы данных, включая разбивку структуры определения, см. в разделе "Определение элемента зеркальной базы данных". Вы также можете ссылаться на определение существующей зеркальной базы данных, вызвав API определения зеркальной базы данных.

Это важно

Для зеркального отображения данных из Базы данных SQL Azure, Управляемого экземпляра SQL Azure, Базы данных Azure для PostgreSQL или SQL Server 2025 необходимо выполнить следующие действия перед началом зеркального отображения:

  1. Включите управляемое удостоверение логического сервера SQL Azure, Управляемого экземпляра SQL Azure, Базы данных Azure для PostgreSQL или SQL Server.
  2. Предоставьте управляемому удостоверению разрешение на чтение и запись зеркальной базы данных. Сейчас это необходимо сделать на портале Fabric. Кроме того, можно назначить рабочую роль управляемой идентичности с помощью API добавления назначения роли рабочей области.

Замечание

deafultSchema Задайте свойство для сохранения исходной иерархии схемы в зеркальной базе данных.

Пример определения JSON для репликации всей базы данных

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

{
    "properties": {
        "source": {
            "type": "<your source type>",
            "typeProperties": {
                "connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
                "database": "xxxx"
            }
        },
        "target": {
            "type": "MountedRelationalDatabase",
            "typeProperties": {
                "defaultSchema": "xxxx",
                "format": "Delta"
            }
        }
    }
}

Пример определения JSON для репликации указанных таблиц

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

{
    "properties": {
        "source": {
            "type": "<your source type>",
            "typeProperties": {
                "connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
                "database": "xxxx"
            }
        },
        "target": {
            "type": "MountedRelationalDatabase",
            "typeProperties": {
                "defaultSchema": "xxxx",
                "format": "Delta"
            }
        },
        "mountedTables": [
            {
                "source": {
                    "typeProperties": {
                        "schemaName": "xxxx",
                        "tableName": "xxxx"
                    }
                }
            }
        ]
    }
}

Ответ 201:

{ 
    "id": "<mirrored database ID>", 
    "type": "MirroredDatabase", 
    "displayName": "Mirrored database 1", 
    "description": "A mirrored database description", 
    "workspaceId": "<your workspace ID>" 
} 

Удаление зеркальной базы данных

REST API — элементы — удаление зеркальной базы данных

Пример:

DELETE https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>

Ответ 200: (без текста)

Получение зеркальной базы данных

REST API — элементы — получение зеркальной базы данных

Пример:

GET https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>

Ответ 200:

{
    "displayName": "Mirrored database 1",
    "description": "A mirrored database description.",
    "type": "MirroredDatabase",
    "workspaceId": "<your workspace ID>",
    "id": "<mirrored database ID>",
    "properties": {
        "oneLakeTablesPath": "https://onelake.dfs.fabric.microsoft.com/<your workspace ID>/<mirrored database ID>/Tables",
        "sqlEndpointProperties": {
            "connectionString": "xxxx.xxxx.fabric.microsoft.com",
            "id": "b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2",
            "provisioningStatus": "Success"
        },
        "defaultSchema": "xxxx"
    }
}

Получение определения зеркальной базы данных

REST API — элементы — получение зеркального определения базы данных

Пример:

POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/getDefinition

Ответ 200:

{ 
    "definition": { 
        "parts":[ 
            { 
                "path": "mirroring.json", 
                "payload": "eyAicHJvcGVydGllcy..WJsZSIgfSB9IH0gXSB9IH0", 
                "payloadType": "InlineBase64" 
            } 
        ] 
    } 
} 

Вывод списка зеркальных баз данных

REST API — элементы — список зеркальных баз данных

Пример:

GET https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases

Ответ 200:

{ 
    "value": [ 
        {
            "displayName": "Mirrored database 1",
            "description": "A mirrored database description.",
            "type": "MirroredDatabase",
            "workspaceId": "<your workspace ID>",
            "id": "<mirrored database ID>",
            "properties": {
                "oneLakeTablesPath": "https://onelake.dfs.fabric.microsoft.com/<your workspace ID>/<mirrored database ID>/Tables",
                "sqlEndpointProperties": {
                    "connectionString": "xxxx.xxxx.fabric.microsoft.com",
                    "id": "b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2",
                    "provisioningStatus": "Success"
                },
                "defaultSchema": "xxxx"
            }
        }
    ] 
} 

Обновление зеркальной базы данных

REST API — элементы — обновленная зеркальная база данных

Пример:

PATCH https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>

Текст:

{
    "displayName": "MirroredDatabase's New name",
    "description": "A new description for mirrored database."
}

Ответ 200:

{
    "displayName": "MirroredDatabase's New name",
    "description": "A new description for mirrored database.",
    "type": "MirroredDatabase",
    "workspaceId": "<your workspace ID>",
    "id": "<mirrored database ID>"
}

Обновление определения зеркальной базы данных

REST API — элементы — обновление зеркального определения базы данных

Пример:

POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/updateDefinition

Текст:

{ 
  "definition": { 
    "parts": [ 
      { 
        "path": "mirroring.json", 
        "payload": "eyAicHJvcGVydGllcy..WJsZSIgfSB9IH0gXSB9IH0", 
        "payloadType": "InlineBase64" 
      } 
    ] 
  } 
}

Ответ 200: (без текста)

Свойство полезных данных в предыдущем тексте JSON закодировано в кодировке Base64. Для кодирования можно использовать кодировку Base64 и декодирование .

Замечание

Этот API поддерживает добавление и удаление таблиц путем обновления mountedTables свойства. Он также поддерживает обновление идентификатора исходного подключения, имени базы данных и схемы по умолчанию (эти три свойства можно обновить только при возврате API состояния зеркальногоInitialized/Stoppedотображения).

Настройка хранения данных

Срок хранения зеркальных данных можно задать с помощью retentionInDays свойства. Значение по умолчанию составляет семь дней. Допустимые значения являются целыми числами от 1 до 30.

Пример определения JSON перед кодировкой Base64:

{
    "properties": {
        "source": {...},
        "target": {
            "type": "MountedRelationalDatabase",
            "typeProperties": {
                "defaultSchema": "xxxx",
                "format": "Delta",
                "retentionInDays": 1
            }
        }
    }
}

Получение состояния зеркального отображения

REST API — зеркальное отображение — получение состояния зеркального отображения

Этот API возвращает состояние зеркального экземпляра базы данных. Список доступных состояний предоставляется по значениям MirroringStatus.

Пример:

POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/getMirroringStatus

Ответ 200:

{
    "status": "Running"
}

Запуск зеркального отображения

REST API — зеркальное отображение — начало зеркального отображения

Пример:

POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/startMirroring

Ответ 200: (без текста)

Замечание

Зеркальное отображение невозможно запустить, когда выше api состояния зеркального отображения возвращает Initializing состояние.

Получение состояния зеркального отображения таблиц

REST API — зеркальное отображение — получение состояния зеркального отображения таблиц

Если выполняется зеркальное отображение и возвращается состояние API Running, этот API возвращает состояние и метрики репликации таблиц.

Пример:

POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/getTablesMirroringStatus

Ответ 200:

{
    "continuationToken": null,
    "continuationUri": null,
    "data": [
        {
            "sourceSchemaName": "dbo",
            "sourceTableName": "test",
            "status": "Replicating",
            "metrics": {
                "processedBytes": 1247,
                "processedRows": 6,
                "lastSyncDateTime": "2024-10-08T05:07:11.0663362Z"
            }
        }
    ]
}

Остановка зеркального отображения

REST API — зеркальное отображение — остановка зеркального отображения

Пример:

POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/stopMirroring

Ответ 200: (без текста)

Замечание

После остановки зеркального отображения можно вызвать API состояния зеркального отображения для запроса состояния зеркального отображения.

Microsoft Fabric .NET SDK

Пакет SDK для .NET, поддерживающий зеркальное отображение Fabric, доступен в пакете SDK для Microsoft Fabric .NET. Версия должна быть >= 1.0.0-beta.11.