Delen via


Openbare REST API van Microsoft Fabric spiegelen

De openbare API's voor Fabric-spiegeling bestaan uit twee categorieƫn: (1) CRUD-bewerkingen voor gespiegelde fabricdatabase-item en (2) Start-/stop- en bewakingsbewerkingen. De primaire online referentiedocumentatie voor Microsoft Fabric REST API's vindt u in Microsoft Fabric REST API-verwijzingen.

Notitie

Deze REST API's zijn niet van toepassing op gespiegelde databases van Azure Databricks.

Gespiegelde database maken

REST API - Items - Gespiegelde database maken

Voordat u een gespiegelde database maakt, is de bijbehorende gegevensbronverbinding nodig. Als u nog geen verbinding hebt, raadpleegt u een nieuwe verbinding via de portal en gebruikt u die verbindings-id in de volgende definitie. U kunt ook verwijzen naar het maken van een nieuwe REST API voor verbindingen om een nieuwe verbinding te maken met rest API's van Fabric.

Voorbeeld:

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

De nettoladingeigenschap in de vorige JSON-hoofdtekst is Base64 gecodeerd. U kunt Base64-codering en -decoderen gebruiken om te coderen. De oorspronkelijke JSON-definitievoorbeelden voor verschillende typen bronnen volgen:

Als u selectieve tabellen wilt repliceren in plaats van alle tabellen in de opgegeven database, raadpleegt u het JSON-definitievoorbeeld van het repliceren van opgegeven tabellen.

Belangrijk

Als u gegevens van Azure SQL Database of Azure SQL Managed Instance wilt spiegelen, moet u ook het volgende doen voordat u begint met spiegelen:

  1. Schakel door het systeem toegewezen beheerde identiteit (SAMI) van uw logische Azure SQL-server of Azure SQL Managed Instance in.
  2. Ververleent de SAMI lees- en schrijfmachtiging aan de gespiegelde database. Op dit moment moet u dit doen in de Fabric-portal. U kunt ook een SAMI-werkruimterol verlenen met behulp van Api voor roltoewijzing van werkruimte toevoegen.

Notitie

defaultSchema eigenschap geeft aan of de schemahiƫrarchie moet worden gerepliceerd vanuit de brondatabase.

Voorbeeld van JSON-definitie van Snowflake

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

Voorbeeld van JSON-definitie van 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"
            }
        }
    }
}

Voorbeeld van JSON-definitie van 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"
            }
        }
    }
}

Voorbeeld van JSON-definitie van Azure Cosmos DB

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

Voorbeeld van een JSON-definitie van open mirroring

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

Voorbeeld van JSON-definitie van het repliceren van opgegeven tabellen

De vorige voorbeelden zijn van toepassing op het scenario dat automatisch alle tabellen in de opgegeven database repliceert. Als u de tabellen wilt opgeven die moeten worden gerepliceerd, kunt u de mountedTables eigenschap opgeven, zoals in het volgende voorbeeld.

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

Antwoord 201:

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

Gespiegelde database verwijderen

REST API - Items - Gespiegelde database verwijderen

Voorbeeld:

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

Antwoord 200: (Geen hoofdtekst)

Gespiegelde database ophalen

REST API - Items - Gespiegelde database ophalen

Voorbeeld:

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

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

Gespiegelde databasedefinitie ophalen

REST API - Items - Definitie van gespiegelde database ophalen

Voorbeeld:

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

Antwoord 200:

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

Gespiegelde databases weergeven

REST API - Items - Gespiegelde databases weergeven

Voorbeeld:

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

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

Gespiegelde database bijwerken

REST API - Items - Gespiegelde database bijwerken

Voorbeeld:

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

Antwoord 200:

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

Gespiegelde databasedefinitie bijwerken

REST API - Items - Definitie van gespiegelde database bijwerken

Voorbeeld:

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

Antwoord 200: (Geen hoofdtekst)

Notitie

Deze API ondersteunt het toevoegen/verwijderen van tabellen door de mountedTables eigenschap te vernieuwen. Het biedt ook ondersteuning voor het bijwerken van de bronverbindings-id, de databasenaam en het standaardschema (deze drie eigenschappen kunnen alleen worden bijgewerkt wanneer mirroringstatus ophalen API Initialized/Stoppedretourneert).

Mirroringstatus ophalen

REST API - Spiegeling - Status van spiegeling ophalen

Deze API retourneert de status van een gespiegeld database-exemplaar. De lijst met beschikbare statussen wordt weergegeven bij de waarden van MirroringStatus.

Voorbeeld:

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

Antwoord 200:

{
    "status": "Running"
}

Spiegeling starten

REST API - Spiegeling - Spiegeling starten

Voorbeeld:

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

Antwoord 200: (Geen hoofdtekst)

Notitie

Spiegeling kan niet worden gestart wanneer boven Mirroringstatus ophalen API Initializing status retourneert.

De status van tabellen spiegelen ophalen

REST API - Spiegeling - Status van spiegeling van tabellen ophalen

Als spiegeling wordt gestart en de status-API voor spiegeling ophalen de status retourneert Running , retourneert deze API de status en metrische gegevens van de replicatie van tabellen.

Voorbeeld:

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

Antwoord 200:

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

Spiegeling stoppen

REST API - Spiegelen - Spiegelen stoppen

Voorbeeld:

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

Antwoord 200: (Geen hoofdtekst)

Notitie

Nadat u de spiegeling hebt gestopt, kunt u de Mirroring-status ophalen API aanroepen om de spiegelingsstatus op te vragen.

Microsoft Fabric .NET SDK

De .NET SDK die ondersteuning biedt voor Fabric-spiegeling is beschikbaar bij Microsoft Fabric .NET SDK. De versie moet = 1.0.0-beta.11 zijn >.