Del via


Microsoft Fabric spejling af offentlig REST-API

De offentlige API'er til strukturspejling består af to kategorier: (1) CRUD-handlinger for Fabric-spejlede databaseelement og (2) start/stop- og overvågningsaktiviteter. Den primære onlinereferencedokumentation til Microsoft Fabric REST API'er findes i Microsoft Fabric REST API-referencer.

Bemærk

Disse REST API'er gælder ikke for spejlede databaser fra Azure Databricks.

Opret en spejlet database

REST API – Elementer – Opret spejlvendt database

Før du opretter en spejlet database, skal der oprettes forbindelse til datakilden. Hvis du endnu ikke har en forbindelse, skal du se Opret ny forbindelse ved hjælp af portalen og bruge dette forbindelses-id i følgende definition. Du kan også referere til opret ny forbindelses-REST API for at oprette ny forbindelse ved hjælp af Fabric REST API'er.

Eksempel:

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

Tekst:

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

Payload-egenskaben i forrige JSON-brødtekst er Base64-kodet. Du kan bruge Base64 Encode og Decode til at kode. De oprindelige JSON-definitionseksempler for forskellige typer kilder følger:

Hvis du vil replikere selektive tabeller i stedet for alle tabellerne i den angivne database, skal du se JSON-definitionseksempel på replikering af angivne tabeller.

Vigtigt

Hvis du vil spejle data fra Azure SQL Database eller Azure SQL Managed Instance, skal du også gøre følgende, før du begynder at spejle:

  1. Aktivér SAMI (System Assigned Managed Identity) for din logiske Azure SQL-server eller Azure SQL Managed Instance.
  2. Tildel SAMI tilladelsen Læs og Skriv til den spejlede database. I øjeblikket skal du gøre dette på Fabric-portalen. Du kan også tildele SAMI-arbejdsområderollen ved hjælp af API'en Tilføj rolletildeling for arbejdsområde.

Bemærk

defaultSchema egenskab angiver, om skemahierarkiet skal replikeres fra kildedatabasen.

Eksempel på JSON-definition af Snowflake

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

Eksempel på JSON-definition af 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"
            }
        }
    }
}

JSON-definitionseksempel på 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"
            }
        }
    }
}

Eksempel på JSON-definition af Azure Cosmos DB

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

Eksempel på JSON-definition af åben spejling

{
    "properties": {
        "source": {
            "type": "GenericMirror",
            "typeProperties": {}
        },
        "target": {
            "type": "MountedRelationalDatabase",
            "typeProperties": {
                "format": "Delta"
            }
        }
    }
}

JSON-definitionseksempel på replikering af angivne tabeller

De tidligere eksempler gælder for det scenarie, der automatisk replikerer alle tabellerne i den angivne database. Hvis du vil angive de tabeller, der skal replikeres, kan du angive mountedTables egenskaben som i følgende eksempel.

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

Slet spejlvendt database

REST API – Elementer – Slet spejlvendt database

Eksempel:

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

Svar 200: (ingen brødtekst)

Hent spejlvendt database

REST API – Elementer – Hent spejlvendt database

Eksempel:

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

Hent spejlvendt databasedefinition

REST API – Elementer – Hent spejlvendt databasedefinition

Eksempel:

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

Vis spejlede databaser

REST API – Elementer – Liste over spejlede databaser

Eksempel:

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

Opdater spejlvendt database

REST API – Elementer – Opdater spejlvendt database

Eksempel:

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

Tekst:

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

Opdater definitionen af den spejlede database

REST API – Elementer – Opdater spejlvendt databasedefinition

Eksempel:

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

Tekst:

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

Svar 200: (ingen brødtekst)

Bemærk

Denne API understøtter tilføjelse/fjernelse af tabeller ved at opdatere egenskaben mountedTables . Det understøtter også opdatering af kildeforbindelses-id, databasenavn og standardskema (disse tre egenskaber kan kun opdateres, når Hent spejlingsstatus API returnerer Initialized/Stopped).

Hent spejlingsstatus

REST API – Spejling – Hent spejlingsstatus

Denne API returnerer status for den spejlede databaseforekomst. Listen over tilgængelige statusser er angivet til værdierne i MirroringStatus.

Eksempel:

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

Svar 200:

{
    "status": "Running"
}

Start spejling

REST API – Spejling – Start spejling

Eksempel:

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

Svar 200: (ingen brødtekst)

Bemærk

Spejling kan ikke startes, når over Hent spejlingsstatus, API returnerer Initializing status.

Hent tabeller med spejlingsstatus

REST API – Spejling – Hent tabellers spejlingsstatus

Hvis spejling startes, og API'en Hent spejlingsstatus returnerer Running status, returnerer denne API status og målepunkter for replikering af tabeller.

Eksempel:

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

Stop spejling

REST API – Spejling – Stop spejling

Eksempel:

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

Svar 200: (ingen brødtekst)

Bemærk

Når du har stoppet spejling, kan du kalde Hent spejlingsstatus API for at forespørge om spejlingsstatus.

Microsoft Fabric .NET SDK

.NET SDK, der understøtter Fabric-spejling, er tilgængelig på Microsoft Fabric .NET SDK. Versionen skal være >= 1.0.0-beta.11.