Общедоступный 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"
}
]
}
}
Свойство полезных данных в предыдущем тексте JSON закодировано в кодировке Base64. Для кодирования можно использовать кодировку Base64 и декодирование . Исходные примеры определения JSON для различных типов источников:
- Пример определения JSON Для Snowflake
- Пример определения JSON База данных SQL Azure
- Пример определения JSON Управляемый экземпляр SQL Azure
- Пример определения JSON в Azure Cosmos DB
- Пример определения JSON для открытого зеркального отображения
Если вы хотите реплицировать выборочные таблицы вместо всех таблиц в указанной базе данных, обратитесь к примеру определения JSON для репликации указанных таблиц.
Внимание
Чтобы зеркально отображать данные из База данных SQL Azure или Управляемый экземпляр SQL Azure, перед началом зеркального отображения необходимо выполнить следующие действия.
- Включите управляемое удостоверение, назначаемое системой (SAMI) логического сервера SQL Azure или Управляемый экземпляр SQL Azure.
- Предоставьте разрешение на чтение и запись SAMI зеркальной базе данных. Сейчас это необходимо сделать на портале Fabric. Alternativley можно предоставить роль рабочей области SAMI с помощью API добавления назначения ролей рабочей области.
Пример определения JSON Для Snowflake
{
"properties": {
"source": {
"type": "Snowflake",
"typeProperties": {
"connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"database": "xxxx"
}
},
"target": {
"type": "MountedRelationalDatabase",
"typeProperties": {
"defaultSchema": "xxxx",
"format": "Delta"
}
}
}
}
Пример определения JSON База данных SQL Azure
{
"properties": {
"source": {
"type": "AzureSqlDatabase",
"typeProperties": {
"connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
}
},
"target": {
"type": "MountedRelationalDatabase",
"typeProperties": {
"defaultSchema": "xxxx",
"format": "Delta"
}
}
}
}
Пример определения JSON Управляемый экземпляр SQL Azure
{
"properties": {
"source": {
"type": "AzureSqlMI",
"typeProperties": {
"connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
}
},
"target": {
"type": "MountedRelationalDatabase",
"typeProperties": {
"defaultSchema": "xxxx",
"format": "Delta"
}
}
}
}
Пример определения JSON в Azure Cosmos DB
{
"properties": {
"source": {
"type": "CosmosDb",
"typeProperties": {
"connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"database": "xxxx"
}
},
"target": {
"type": "MountedRelationalDatabase",
"typeProperties": {
"defaultSchema": "xxxx",
"format": "Delta"
}
}
}
}
Пример определения JSON для открытого зеркального отображения
{
"properties": {
"source": {
"type": "GenericMirror",
"typeProperties": {}
},
"target": {
"type": "MountedRelationalDatabase",
"typeProperties": {
"format": "Delta"
}
}
}
}
Пример определения JSON для репликации указанных таблиц
Предыдущие примеры применяются к сценарию, который автоматически реплицирует все таблицы в указанной базе данных. Если вы хотите указать таблицы для репликации, можно указать mountedTables
свойство, как показано в следующем примере.
{
"properties": {
"source": {
"type": "Snowflake",
"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: (без текста)
Примечание.
Этот API поддерживает добавление и удаление таблиц путем обновления mountedTables
свойства. Он также поддерживает обновление идентификатора исходного подключения, имени базы данных и схемы по умолчанию (эти три свойства можно обновить только при возврате Initialized
/Stopped
api состояния зеркального отображения).
Получение состояния зеркального отображения
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 — зеркальное отображение — получение состояния зеркального отображения таблиц
Если выполняется зеркальное отображение и возвращается Running
состояние API состояния зеркального отображения, этот 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.
Известные ограничения
В настоящее время проверка подлинности субъекта-службы или управляемого удостоверения не поддерживается, если домашний регион клиента находится в северной части США или восточной части США. Его можно использовать в других регионах.