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:
- Eksempel på JSON-definition af Snowflake
- Eksempel på JSON-definition af Azure SQL Database
- JSON-definitionseksempel på Azure SQL Managed Instance
- Eksempel på JSON-definition af Azure Cosmos DB
- Eksempel på JSON-definition af åben spejling
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:
- Aktivér SAMI (System Assigned Managed Identity) for din logiske Azure SQL-server eller Azure SQL Managed Instance.
- 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.