Del via


Microsoft Fabric speiler offentlig REST-API

De offentlige API-ene for stoffspeiling består av to kategorier: (1) CRUD-operasjoner for fabric mirrored database item og (2) Start/stop and monitoring operations. Du finner den primære referansedokumentasjonen for Microsoft Fabric REST-API-er i Microsoft Fabric REST-API-referanser.

Merk

Disse REST-API-ene gjelder ikke for speilvendt database fra Azure Databricks.

Opprett speilvendt database

REST-API – Elementer – Opprett speilvendt database

Før du oppretter en speilvendt database, er den tilsvarende datakildetilkoblingen nødvendig. Hvis du ikke har en tilkobling ennå, kan du se opprette ny tilkobling ved hjelp av portalen og bruke tilkoblings-ID-en i følgende definisjon. Du kan også referere til å opprette ny REST-API for tilkobling for å opprette ny tilkobling ved hjelp av REST-API-er for stoff.

Eksempel:

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

Brødtekst:

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

Nyttelastegenskapen i forrige JSON-brødtekst er Base64-kodet. Du kan bruke Base64-kode og Dekode til å kode. De opprinnelige JSON-definisjonseksempler for ulike typer kilder følger:

Hvis du vil replikere selektive tabeller i stedet for alle tabellene i den angitte databasen, kan du se eksemplet på JSON-definisjon for replisering av angitte tabeller.

Viktig

Hvis du vil speile data fra Azure SQL Database eller Azure SQL administrert forekomst, må du også gjøre følgende før du begynner å speile:

  1. Aktiver System Assigned Managed Identity (SAMI) på azure SQL-logisk server eller Azure SQL administrert forekomst.
  2. Gi samene lese- og skrivetilgang til den speilede databasen. For øyeblikket må du gjøre dette på Fabric-portalen. Alternativt kan du gi SAMI-arbeidsområderolle ved hjelp av Legg til API for rolletilordning av arbeidsområde.

Merk

defaultSchema egenskap angir om skjemahierarkiet skal replikeres fra kildedatabasen. Hvis fabric-kapasitetsområdet er i USA, nord-sentralt eller øst-USA, må du ikke angi denne egenskapen slik denne funksjonen for øyeblikket ikke støttes i disse områdene.

JSON-definisjonseksempel på 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-definisjon av 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"
            }
        }
    }
}

Eksempel på JSON-definisjon av Azure SQL administrert forekomst

{
    "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-definisjon av Azure Cosmos DB

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

JSON-definisjonseksempel på åpen speiling

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

JSON-definisjonseksempel på replisering av angitte tabeller

De forrige eksemplene gjelder for scenarioet som automatisk replikerer alle tabellene i den angitte databasen. Hvis du vil angi tabellene som skal replikeres, kan du angi mountedTables egenskapen, som i eksemplet nedenfor.

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

Slett speilvendt database

REST-API – Elementer – Slett speilvendt database

Eksempel:

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

Svar 200: (Ingen brødtekst)

Få speilvendt database

REST-API – Elementer – Få speilvendt 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"
    }
}

Få speilvendt databasedefinisjon

REST-API – Elementer – Få speilvendt databasedefinisjon

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

Liste over speilvendte databaser

REST-API – Elementer – Liste over speilvendte 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"
            }
        }
    ] 
} 

Oppdater speilvendt database

REST-API – Elementer – Oppdater speilvendt database

Eksempel:

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

Brødtekst:

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

Oppdater speilvendt databasedefinisjon

REST-API – Elementer – Oppdater speilvendt databasedefinisjon

Eksempel:

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

Brødtekst:

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

Svar 200: (Ingen brødtekst)

Merk

Denne API-en støtter å legge til/fjerne tabeller ved å oppdatere mountedTables egenskapen. Den støtter også oppdatering av kildetilkoblings-ID, databasenavn og standardskjema (disse tre egenskapene kan bare oppdateres når Få speilingsstatus API-en returnerer Initialized/Stopped).

Få speilingsstatus

REST-API – Speiling – Få speilingsstatus

Denne API-en returnerer statusen for speilvendt databaseforekomst. Listen over tilgjengelige statuser angis ved verdiene i MirroringStatus.

Eksempel:

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

Svar 200:

{
    "status": "Running"
}

Start speiling

REST-API - Speiling - Start speiling

Eksempel:

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

Svar 200: (Ingen brødtekst)

Merk

Speiling kan ikke startes når du er over Få speilingsstatus API returnerer Initializing status.

Få speilingsstatus for tabeller

REST-API - Speiling – Få tabeller som speiler status

Hvis speiling er startet og API-en for speilingsstatus returnerer Running status, returnerer denne API-en statusen og måleverdiene for tabellreplikering.

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

Stopp speiling

REST API - Speiling - Stopp speiling

Eksempel:

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

Svar 200: (Ingen brødtekst)

Merk

Når du har stoppet speilingen, kan du kalle Få speilingsstatus API for å spørre speilingsstatusen.

Microsoft Fabric .NET SDK

.NET SDK som støtter stoffspeiling, er tilgjengelig på Microsoft Fabric .NET SDK. Versjonen må være >= 1.0.0-beta.11.