Sdílet prostřednictvím


Zrcadlení veřejných rozhraní REST API v Microsoft Fabric

Veřejná rozhraní API pro zrcadlení prostředků infrastruktury se skládají ze dvou kategorií: (1) Operace CRUD pro položku databáze se zrcadlenou databází infrastruktury a (2) Operace spuštění/zastavení a monitorování. Primární online referenční dokumentace k rozhraním REST API Microsoft Fabric najdete v referenčních materiálech k rozhraní REST API Microsoft Fabric.

Poznámka:

Tato rozhraní REST API se nevztahují na zrcadlenou databázi z Azure Databricks.

Vytvoření zrcadlené databáze

REST API – Položky – Vytvoření zrcadlené databáze

Před vytvořením zrcadlené databáze je potřeba odpovídající připojení ke zdroji dat. Pokud připojení ještě nemáte, projděte si informace o vytvoření nového připojení pomocí portálu a použijte toto ID připojení v následující definici. Můžete také odkazovat na vytvoření nového rozhraní REST API pro připojení k vytvoření nového připojení pomocí rozhraní REST API prostředků infrastruktury.

Příklad:

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

Text:

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

Vlastnost payload v předchozím textu JSON je zakódovaná v Base64. Kódování a dekódování base64 můžete použít k kódování.

Původní příklady definic JSON jsou následující. Další informace o definici zrcadlené položky databáze, včetně rozpisu struktury definice, naleznete v tématu Definice zrcadlené položky databáze. Můžete také odkazovat na definici existující zrcadlené databáze zavoláním rozhraní API pro definici zrcadlené databáze.

Důležité

Pokud chcete zrcadlit data ze služby Azure SQL Database, azure SQL Managed Instance, Azure Database for PostgreSQL nebo SQL Serveru 2025, musíte před zahájením zrcadlení provést následující kroky:

  1. Povolte spravovanou identitu logického serveru Azure SQL, azure SQL Managed Instance, Azure Database for PostgreSQL nebo SQL Serveru.
  2. Udělte spravované identitě oprávnění ke čtení a zápisu zrcadlené databázi. V současné době to musíte udělat na portálu Fabric. Případně můžete roli spravované identity pro pracovní prostor udělit pomocí rozhraní API pro přidání přiřazení role pracovního prostoru.

Poznámka:

deafultSchema Nastavte vlastnost tak, aby se zachovala hierarchie zdrojového schématu v zrcadlené databázi.

Příklad definice JSON pro replikaci celé databáze

Zrcadlení všech tabulek ze zdrojové databáze:

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

Příklad definice JSON pro replikaci zadaných tabulek

Chcete-li zrcadlit selektivní tabulky ze zdrojové databáze, můžete zadat mountedTables vlastnost jako v následujícím příkladu.

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

Odpověď 201:

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

Odstranění zrcadlené databáze

REST API – Položky – Odstranění zrcadlené databáze

Příklad:

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

Odpověď 200: (Bez textu)

Získání zrcadlené databáze

REST API – Položky – Získání zrcadlené databáze

Příklad:

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

Odpověď 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"
    }
}

Získání definice zrcadlené databáze

REST API – Položky – Získání definice zrcadlené databáze

Příklad:

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

Odpověď 200:

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

Výpis zrcadlených databází

REST API – Položky – Výpis zrcadlených databází

Příklad:

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

Odpověď 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"
            }
        }
    ] 
} 

Aktualizace zrcadlené databáze

REST API – Položky – Aktualizace zrcadlené databáze

Příklad:

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

Text:

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

Odpověď 200:

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

Aktualizace definice zrcadlené databáze

REST API – Položky – Aktualizace definice zrcadlené databáze

Příklad:

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

Text:

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

Odpověď 200: (Bez textu)

Vlastnost datové části v předchozím textu JSON je zakódovaná v Base64. Kódování a dekódování base64 můžete použít k kódování.

Poznámka:

Toto rozhraní API podporuje přidávání nebo odebírání tabulek aktualizací mountedTables vlastnosti. Podporuje také aktualizaci ID zdrojového připojení, názvu databáze a výchozího schématu (tyto tři vlastnosti je možné aktualizovat pouze při vrácení rozhraní Initialized/API Stopped).

Konfigurace uchovávání dat

Dobu uchovávání zrcadlených dat můžete nastavit pomocí retentionInDays vlastnosti. Výchozí hodnota je sedm dní. Povolené hodnoty jsou celé číslo od 1 do 30.

Příklad definice JSON před kódováním Base64:

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

Získání stavu zrcadlení

REST API – Zrcadlení – Získání stavu zrcadlení

Toto rozhraní API vrátí stav zrcadlené instance databáze. Seznam dostupných stavů je k dispozici v hodnotách MirroringStatus.

Příklad:

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

Odpověď 200:

{
    "status": "Running"
}

Zahájení zrcadlení

REST API – Zrcadlení – Zahájení zrcadlení

Příklad:

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

Odpověď 200: (Bez textu)

Poznámka:

Zrcadlení nejde spustit, když výše uvedené rozhraní API pro získání stavu zrcadlení vrátí Initializing stav.

Získání stavu zrcadlení tabulek

REST API – Zrcadlení – Získání stavu zrcadlení tabulek

Pokud se spustí zrcadlení a rozhraní API pro získání stavu zrcadlení vrátí stav, vrátí Running toto rozhraní API stav a metriky replikace tabulek.

Příklad:

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

Odpověď 200:

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

Zastavení zrcadlení

REST API – Zrcadlení – Zastavení zrcadlení

Příklad:

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

Odpověď 200: (Bez textu)

Poznámka:

Po zastavení zrcadlení můžete volat rozhraní API pro získání stavu zrcadlení a dotazovat se na stav zrcadlení.

Microsoft Fabric .NET SDK

Sada .NET SDK, která podporuje zrcadlení prostředků infrastruktury, je k dispozici v sadě Microsoft Fabric .NET SDK. Verze musí být >= 1.0.0-beta.11.