Dela via


Microsoft Fabric-spegling av offentligt REST API

De offentliga API:erna för infrastrukturspegling består av två kategorier: (1) CRUD-åtgärder för infrastrukturspegling av databasobjekt och (2) start-/stopp- och övervakningsåtgärder. Den primära onlinereferensdokumentationen för Microsoft Fabric REST API:er finns i MICROSOFT Fabric REST API-referenser.

Anmärkning

Dessa REST-API:er gäller inte för speglad databas från Azure Databricks.

Skapa speglad databas

REST API – Objekt – Skapa speglad databas

Innan du skapar en speglad databas behövs motsvarande datakällaanslutning. Om du inte har någon anslutning ännu kan du läsa skapa en ny anslutning med hjälp av portalen och använda anslutnings-ID:t i följande definition. Du kan också referera till att skapa ett nytt REST-API för anslutning för att skapa en ny anslutning med hjälp av REST-API:er för infrastrukturresurser.

Exempel:

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

Brödtext:

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

Egenskapen payload i föregående JSON-brödtext är Base64-kodad. Du kan använda Base64-koda och avkoda för att koda.

De ursprungliga JSON-definitionsexemplen är följande. Mer information om definitionen av speglade databasobjekt, inklusive en uppdelning av definitionsstrukturen, finns i Definitionen av speglade databasobjekt. Du kan också referera till definitionen för den befintliga speglade databasen genom att anropa API:et för hämta speglad databasdefinition.

Viktigt!

Om du vill spegla data från Azure SQL Database, Azure SQL Managed Instance, Azure Database for PostgreSQL eller SQL Server 2025 måste du också göra följande innan du börjar speglingen:

  1. Aktivera systemtilldelad hanterad identitet (SAMI) för din logiska Azure SQL-server, Azure SQL Managed Instance, Azure Database for PostgreSQL eller SQL Server.
  2. Ge SAMI läs- och skrivbehörighet till den speglade databasen. För närvarande måste du göra detta på Fabric-portalen. Du kan också bevilja SAMI-arbetsyteroll med hjälp av LÄGG till API för rolltilldelning för arbetsyta.

Anmärkning

Ange egenskapen deafultSchema för att bevara källschemahierarkin i den speglade databasen.

JSON-definitionsexempel på replikering av hela databasen

Så här speglar du alla tabeller från källdatabasen:

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

JSON-definitionsexempel på replikering av angivna tabeller

Om du vill spegla selektiva tabeller från källdatabasen kan du ange egenskapen mountedTables som i följande exempel.

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

Svar 201:

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

Ta bort speglad databas

REST API – Objekt – Ta bort speglad databas

Exempel:

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

Svar 200: (Ingen brödtext)

Hämta speglad databas

REST API – Objekt – Hämta speglad databas

Exempel:

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

Svar 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"
    }
}

Hämta en speglad databasdefinition

REST API – Objekt – Hämta speglad databasdefinition

Exempel:

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

Svar 200:

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

Visa en lista över speglade databaser

REST API – Objekt – Lista speglade databaser

Exempel:

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

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

Uppdatera speglad databas

REST API – Objekt – Uppdatera speglad databas

Exempel:

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

Brödtext:

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

Svar 200:

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

Uppdatera speglad databasdefinition

REST API – Objekt – Uppdatera speglad databasdefinition

Exempel:

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

Brödtext:

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

Svar 200: (Ingen brödtext)

Nyttolastegenskapen i föregående JSON-brödtext är Base64-kodad. Du kan använda Base64-koda och avkoda för att koda.

Anmärkning

Det här API:et har stöd för att lägga till/ta bort tabeller genom att uppdatera egenskapen mountedTables . Det stöder också uppdatering av källanslutnings-ID, databasnamn och standardschema (dessa tre egenskaper kan bara uppdateras när Hämta speglingsstatus-API returnerar Initialized/Stopped).

Konfigurera datakvarhållning

Du kan ange kvarhållningsperioden för speglade data med hjälp av retentionInDays egenskapen . Standardvärdet är sju dagar. De tillåtna värdena är heltal mellan 1 och 30.

JSON-definitionsexempel före Base64-kodning:

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

Hämta speglingsstatus

REST API – Spegling – Hämta speglingsstatus

Det här API:et returnerar statusen för den speglade databasinstansen. Listan över tillgängliga statusar anges med värden för MirroringStatus.

Exempel:

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

Svar 200:

{
    "status": "Running"
}

Starta spegling

REST API – Spegling – Starta spegling

Exempel:

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

Svar 200: (Ingen brödtext)

Anmärkning

Spegling kan inte startas när api:et Hämta speglingsstatus returnerar Initializing status ovan.

Hämta speglingsstatus för tabeller

REST API – Spegling – Hämta speglingsstatus för tabeller

Om spegling har startats och API:et För att hämta speglingsstatus returnerar Running statusen returnerar det här API:et status och mått för replikering av tabeller.

Exempel:

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

Svar 200:

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

Stoppa spegling

REST API – Spegling – Stoppa spegling

Exempel:

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

Svar 200: (Ingen brödtext)

Anmärkning

När speglingen har stoppats kan du anropa API:et hämta speglingsstatus för att fråga speglingsstatusen.

Microsoft Fabric .NET SDK

.NET SDK som stöder Fabric-spegling finns på Microsoft Fabric .NET SDK. Versionen måste vara >= 1.0.0-beta.11.