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:
- Voorbeeld van JSON-definitie van Snowflake
- Voorbeeld van JSON-definitie van Azure SQL Database
- Voorbeeld van JSON-definitie van Azure SQL Managed Instance
- Voorbeeld van JSON-definitie van Azure Cosmos DB
- Voorbeeld van een JSON-definitie van open mirroring
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:
- Schakel door het systeem toegewezen beheerde identiteit (SAMI) van uw logische Azure SQL-server of Azure SQL Managed Instance in.
- 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
/Stopped
retourneert).
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 >.