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:
- JSON-definisjonseksempel på Snowflake
- Eksempel på JSON-definisjon av Azure SQL Database
- Eksempel på JSON-definisjon av Azure SQL administrert forekomst
- Eksempel på JSON-definisjon av Azure Cosmos DB
- JSON-definisjonseksempel på åpen speiling
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:
- Aktiver System Assigned Managed Identity (SAMI) på azure SQL-logisk server eller Azure SQL administrert forekomst.
- 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.