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
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ść ładunku 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 dla różnych typów źródeł są następujące:
- Przykład definicji JSON snowflake
- Przykład definicji JSON usługi Azure SQL Database
- Przykład definicji JSON usługi Azure SQL Managed Instance
- Przykład definicji JSON usługi Azure Cosmos DB
- Przykład definicji JSON otwierania dublowania
Jeśli chcesz replikować selektywne tabele zamiast wszystkich tabel w określonej bazie danych, zapoznaj się z przykładem definicji JSON replikowania określonych tabel.
Ważne
Aby dublować dane z usługi Azure SQL Database lub Azure SQL Managed Instance, przed rozpoczęciem dublowania należy również wykonać następujące czynności:
- Włącz tożsamość zarządzaną przypisaną przez system (SAMI) serwera logicznego Azure SQL lub usługi Azure SQL Managed Instance.
- Przyznaj uprawnienia DO odczytu i zapisu SAMI do dublowanej bazy danych. Obecnie należy to zrobić w portalu sieci szkieletowej. Alternatywnie możesz przyznać rolę w obszarze roboczym SAMI przy użyciu interfejsu API dodawania przypisania roli w obszarze roboczym .
Uwaga
defaultSchema
właściwość wskazuje, czy replikować hierarchię schematu z źródłowej bazy danych. Jeśli region pojemności Fabric znajduje się w Północno-Centralnych Stanach Zjednoczonych lub we Wschodnich Stanach Zjednoczonych, nie należy określać tej właściwości, ponieważ obecnie ta funkcja nie jest obsługiwana w tych regionach.
Przykład definicji JSON snowflake
{
"properties": {
"source": {
"type": "Snowflake",
"typeProperties": {
"connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"database": "xxxx"
}
},
"target": {
"type": "MountedRelationalDatabase",
"typeProperties": {
"defaultSchema": "xxxx",
"format": "Delta"
}
}
}
}
Przykład definicji JSON usługi Azure SQL Database
{
"properties": {
"source": {
"type": "AzureSqlDatabase",
"typeProperties": {
"connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"landingZone":{
"type":"MountedRelationalDatabase"
}
}
},
"target": {
"type": "MountedRelationalDatabase",
"typeProperties": {
"defaultSchema": "xxxx",
"format": "Delta"
}
}
}
}
Przykład definicji JSON usługi Azure SQL Managed Instance
{
"properties": {
"source": {
"type": "AzureSqlMI",
"typeProperties": {
"connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"landingZone":{
"type":"MountedRelationalDatabase"
}
}
},
"target": {
"type": "MountedRelationalDatabase",
"typeProperties": {
"defaultSchema": "xxxx",
"format": "Delta"
}
}
}
}
Przykład definicji JSON usługi Azure Cosmos DB
{
"properties": {
"source": {
"type": "CosmosDb",
"typeProperties": {
"connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"database": "xxxx"
}
},
"target": {
"type": "MountedRelationalDatabase",
"typeProperties": {
"defaultSchema": "xxxx",
"format": "Delta"
}
}
}
}
Przykład definicji JSON otwierania dublowania
{
"properties": {
"source": {
"type": "GenericMirror",
"typeProperties": {}
},
"target": {
"type": "MountedRelationalDatabase",
"typeProperties": {
"format": "Delta"
}
}
}
}
Przykład definicji JSON replikowania określonych tabel
Poprzednie przykłady dotyczą scenariusza, który automatycznie replikuje wszystkie tabele w określonej bazie danych. Jeśli chcesz określić tabele do replikacji, możesz 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)
Uwaga
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 pobierz stan mirroringu interfejs API zwraca Initialized
/Stopped
).
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
Nie można uruchomić mirroringu, gdy powyżej Get mirroring status interfejs API zwraca status Initializing
.
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
Po zatrzymaniu mirroringu można wywołać API uzyskiwania stanu mirroringu, aby wykonać zapytanie dotyczące stanu mirroringu.
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.