Udostępnij za pomocą


Publiczny interfejs API REST dublowania usługi Microsoft Fabric

Publiczne interfejsy API dublowania sieci szkieletowej składają się z dwóch kategorii: (1) operacje CRUD dla dublowanego elementu bazy danych sieci szkieletowej oraz (2) Operacje uruchamiania/zatrzymywania i monitorowania. Podstawowa dokumentacja referencyjna online dla interfejsów API REST usługi Microsoft Fabric znajduje się w dokumentacji interfejsu API REST usługi Microsoft Fabric.

Uwaga / Notatka

Te interfejsy API REST nie mają zastosowania do dublowanej bazy danych z usługi Azure Databricks.

Tworzenie dublowanej bazy danych

Interfejs API REST — Elementy — tworzenie dublowanej bazy danych

Przed utworzeniem dublowanej bazy danych potrzebne jest odpowiednie połączenie ze źródłem danych. Jeśli nie masz jeszcze połączenia, zapoznaj się z tematem Tworzenie nowego połączenia przy użyciu portalu i użyj tego identyfikatora połączenia w poniższej definicji. Możesz również zapoznać się z artykułem Tworzenie nowego interfejsu API REST połączenia w celu utworzenia nowego połączenia przy użyciu interfejsów API REST sieci szkieletowej.

Przykład:

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

Treść:

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

Właściwość payload w poprzedniej treści JSON jest zakodowana w formacie Base64. Do kodowania można użyć kodowania base64 i dekodowania .

Oryginalne przykłady definicji JSON są następujące. Aby uzyskać więcej informacji na temat definicji dublowanego elementu bazy danych, w tym podziału struktury definicji, zobacz Dublowana definicja elementu bazy danych. Możesz również odwołać się do istniejącej definicji dublowanej bazy danych, wywołując interfejs API pobierania definicji dublowanej bazy danych.

Ważne

Aby dublować dane z usługi Azure SQL Database, azure SQL Managed Instance, Azure Database for PostgreSQL lub SQL Server 2025, przed rozpoczęciem dublowania należy również wykonać następujące czynności:

  1. Włącz tożsamość zarządzaną serwera logicznego Azure SQL, usługi Azure SQL Managed Instance, usługi Azure Database for PostgreSQL lub programu SQL Server.
  2. Przyznaj tożsamości zarządzanej uprawnienie zapis i odczyt do replikowanej bazy danych. Obecnie należy to zrobić w portalu sieci szkieletowej. Alternatywnie możesz przyznać rolę obszaru roboczego dla tożsamości zarządzanej, używając interfejsu API przypisania roli do obszaru roboczego.

Uwaga / Notatka

Ustaw właściwość , deafultSchema aby zachować hierarchię schematu źródłowego w dublowanej bazie danych.

Przykład definicji JSON replikowania całej bazy danych

Aby zdublować wszystkie tabele ze źródłowej bazy danych:

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

Przykład definicji JSON replikowania określonych tabel

Aby dublować selektywne tabele ze źródłowej bazy danych, można określić mountedTables właściwość, jak w poniższym przykładzie.

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

Odpowiedź 201:

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

Usuwanie dublowanej bazy danych

Interfejs API REST — Elementy — usuwanie dublowanej bazy danych

Przykład:

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

Odpowiedź 200: (Brak treści)

Pobieranie dublowanej bazy danych

Interfejs API REST — Elementy — uzyskiwanie dublowanej bazy danych

Przykład:

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

Odpowiedź 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"
    }
}

Pobieranie definicji dublowanej bazy danych

Interfejs API REST — Elementy — uzyskiwanie definicji dublowanej bazy danych

Przykład:

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

Odpowiedź 200:

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

Lista dublowanych baz danych

Interfejs API REST — elementy — dublowane bazy danych listy

Przykład:

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

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

Aktualizowanie dublowanej bazy danych

Interfejs API REST — Elementy — aktualizowanie dublowanej bazy danych

Przykład:

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

Treść:

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

Odpowiedź 200:

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

Aktualizowanie definicji dublowanej bazy danych

Interfejs API REST — Elementy — aktualizowanie definicji dublowanej bazy danych

Przykład:

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

Treść:

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

Odpowiedź 200: (Brak treści)

Właściwość ładunku w poprzedniej treści JSON jest zakodowana w formacie Base64. Do kodowania można użyć kodowania base64 i dekodowania .

Uwaga / Notatka

Ten interfejs API obsługuje dodawanie/usuwanie tabel przez odświeżenie mountedTables właściwości. Obsługuje również aktualizowanie identyfikatora połączenia źródłowego, nazwy bazy danych i schematu domyślnego (te trzy właściwości można zaktualizować tylko wtedy, gdy zwracany Initialized/jest interfejs API Stopped).

Konfigurowanie przechowywania danych

Okres przechowywania danych dublowanych można ustawić przy użyciu retentionInDays właściwości . Wartość domyślna to siedem dni. Dozwolone wartości są liczbą całkowitą z zakresu od 1 do 30.

Przykład definicji JSON przed kodowaniem Base64:

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

Uzyskiwanie stanu dublowania

Interfejs API REST — dublowanie — uzyskiwanie stanu dublowania

Ten interfejs API zwraca stan dublowanego wystąpienia bazy danych. Lista dostępnych stanów znajduje się w wartościach MirroringStatus.

Przykład:

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

Odpowiedź 200:

{
    "status": "Running"
}

Rozpoczynanie dublowania

Interfejs API REST — dublowanie — rozpoczynanie dublowania

Przykład:

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

Odpowiedź 200: (Brak treści)

Uwaga / Notatka

Nie można uruchomić dublowania, gdy powyżej interfejsu API uzyskiwania stanu dublowania zwraca Initializing stan.

Pobieranie stanu dublowania tabel

Interfejs API REST — dublowanie — uzyskiwanie stanu dublowania tabel

Jeśli funkcja dublowania jest uruchamiana i interfejs API uzyskiwania stanu dublowania zwraca stan, ten interfejs API zwraca Running stan i metryki replikacji tabel.

Przykład:

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

Odpowiedź 200:

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

Zatrzymaj dublowanie

Interfejs API REST — dublowanie — zatrzymywanie dublowania

Przykład:

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

Odpowiedź 200: (Brak treści)

Uwaga / Notatka

Po zatrzymaniu dublowania można wywołać interfejs API Uzyskiwanie stanu dublowania , aby wykonać zapytanie dotyczące stanu dublowania.

Microsoft Fabric .NET SDK

Zestaw .NET SDK, który obsługuje dublowanie sieci szkieletowej, jest dostępny w zestawie SDK platformy .NET usługi Microsoft Fabric. Wersja musi mieć wartość >= 1.0.0-beta.11.