Condividi tramite


API REST pubblica del mirroring di Microsoft Fabric

Le API pubbliche per il mirroring dell'infrastruttura sono costituite da due categorie: (1) operazioni CRUD per l'elemento del database con mirroring dell'infrastruttura e (2) Avvio/arresto e operazioni di monitoraggio. La documentazione di riferimento online principale per le API REST di Microsoft Fabric è disponibile nelle informazioni di riferimento sulle API REST di Microsoft Fabric.

Annotazioni

Queste API REST non si applicano al database con mirroring di Azure Databricks.

Creare un database con mirroring

API REST - Elementi - Creare un database con mirroring

Prima di creare il database con mirroring, è necessaria la connessione all'origine dati corrispondente. Se non si ha ancora una connessione, vedere creare una nuova connessione usando il portale e usare tale ID connessione nella definizione seguente. È anche possibile fare riferimento alla creazione di una nuova API REST di connessione per creare una nuova connessione usando le API REST di Fabric.

Esempio:

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

Testo:

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

La payload proprietà nel corpo JSON precedente è codificata in Base64. È possibile usare codifica e decodifica Base64 per codificare.

Gli esempi di definizione JSON originali sono i seguenti. Per altre informazioni sulla definizione dell'elemento del database con mirroring, inclusa una suddivisione della struttura di definizione, vedere Definizione dell'elemento di database con mirroring. È anche possibile fare riferimento alla definizione del database con mirroring esistente chiamando l'API Get mirrored database definition .You can also refer to your existing mirrored database definition API.

Importante

Per eseguire il mirroring dei dati dal database SQL di Azure, Istanza gestita di SQL di Azure, Database di Azure per PostgreSQL o SQL Server 2025, è necessario eseguire le operazioni seguenti prima di avviare il mirroring:

  1. Abilita l'identità gestita del server logico di Azure SQL, Istanza gestita di Azure SQL, Database di Azure per PostgreSQL o SQL Server.
  2. Concedere l'autorizzazione Lettura e scrittura all'identità gestita per il database con funzioni di mirroring. Attualmente è necessario eseguire questa operazione nel portale di Fabric. In alternativa, è possibile concedere il ruolo di workspace all'identità gestita utilizzando l'API per Aggiungere l'Assegnazione del Ruolo Workspace.

Annotazioni

Impostare la proprietà deafultSchema per preservare la gerarchia dello schema di origine nel database con mirroring.

Esempio di definizione JSON della replica dell'intero database

Per eseguire il mirroring di tutte le tabelle dal database di origine:

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

Esempio di definizione JSON della replica delle tabelle specificate

Per eseguire il mirroring di tabelle selettive dal database di origine, è possibile specificare la mountedTables proprietà come nell'esempio seguente.

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

Risposta 201:

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

Eliminare il database con mirroring

API REST - Elementi - Eliminare il database con mirroring

Esempio:

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

Risposta 200: (Nessun corpo)

Ottenere il database con mirroring

API REST - Elementi - Ottenere il database con mirroring

Esempio:

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

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

Ottenere la definizione del database con mirroring

API REST - Elementi - Ottenere la definizione del database con mirroring

Esempio:

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

Risposta 200:

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

Elencare i database con mirroring

API REST - Elementi - Elencare i database con mirroring

Esempio:

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

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

Aggiornare il database con mirroring

API REST - Elementi - Aggiornare il database con mirroring

Esempio:

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

Testo:

{
    "displayName": "MirroredDatabase's New name",
    "description": "A new description for mirrored database."
}

Risposta 200:

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

Aggiornare la definizione del database con mirroring

API REST - Elementi - Aggiornare la definizione del database con mirroring

Esempio:

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

Testo:

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

Risposta 200: (Nessun corpo)

La proprietà payload nel corpo JSON precedente è codificata in Base64. È possibile usare codifica e decodifica Base64 per codificare.

Annotazioni

Questa API supporta l'aggiunta o la rimozione di tabelle aggiornando la mountedTables proprietà . Supporta anche l'aggiornamento dell'ID connessione di origine, del nome del database e dello schema predefinito ( queste tre proprietà possono essere aggiornate solo quando l'API Get mirroring status restituisce Initialized/Stopped).

Configurare la conservazione dei dati

È possibile impostare il periodo di conservazione per i dati con mirroring usando la retentionInDays proprietà . Il valore predefinito è sette giorni. I valori consentiti sono interi compresi tra 1 e 30.

Esempio di definizione JSON prima della codifica Base64:

{
    "properties": {
        "source": {...},
        "target": {
            "type": "MountedRelationalDatabase",
            "typeProperties": {
                "defaultSchema": "xxxx",
                "format": "Delta",
                "retentionInDays": 1
            }
        }
    }
}

Ottenere lo stato del mirroring

API REST - Mirroring - Ottenere lo stato del mirroring

Questa API restituisce lo stato dell'istanza del database con mirroring. L'elenco degli stati disponibili viene fornito in corrispondenza dei valori di MirroringStatus.

Esempio:

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

Risposta 200:

{
    "status": "Running"
}

Avviare il mirroring

API REST - Mirroring - Avviare il mirroring

Esempio:

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

Risposta 200: (Nessun corpo)

Annotazioni

Non è possibile avviare il mirroring quando sopra l'API Get mirroring status restituisce Initializing lo stato.

Ottenere lo stato del mirroring delle tabelle

API REST - Mirroring - Ottenere lo stato del mirroring delle tabelle

Se il mirroring viene avviato e l'API Get mirroring status restituisce Running lo stato, questa API restituisce lo stato e le metriche della replica delle tabelle.

Esempio:

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

Risposta 200:

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

Arrestare il mirroring

API REST - Mirroring - Arrestare il mirroring

Esempio:

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

Risposta 200: (Nessun corpo)

Annotazioni

Dopo aver arrestato il mirroring, è possibile chiamare l'API Get mirroring status (Ottieni stato mirroring ) per eseguire una query sullo stato del mirroring.

Microsoft Fabric .NET SDK

.NET SDK che supporta il mirroring dell'infrastruttura è disponibile in Microsoft Fabric .NET SDK. La versione deve essere >= 1.0.0-beta.11.