Partager via


API REST publique de mise en miroir Microsoft Fabric

Les API publiques pour la mise en miroir fabric se composent de deux catégories : (1) opérations CRUD pour l’élément de base de données mis en miroir Fabric et (2) opérations de démarrage/arrêt et de surveillance. La documentation de référence en ligne principale pour les API REST Microsoft Fabric se trouve dans les références de l’API REST Microsoft Fabric.

Note

Ces API REST ne s’appliquent pas à la base de données mise en miroir à partir d’Azure Databricks.

Créer une base de données mise en miroir

API REST - Éléments - Créer une base de données mise en miroir

Avant de créer une base de données mise en miroir, la connexion de source de données correspondante est nécessaire. Si vous n’avez pas encore de connexion, reportez-vous à la création d’une connexion à l’aide du portail et utilisez cet ID de connexion dans la définition suivante. Vous pouvez également faire référence à la création d’une API REST de connexion pour créer une connexion à l’aide d’API REST Fabric.

Exemple :

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

Corps :

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

La propriété dans le payload corps JSON précédent est encodée en Base64. Vous pouvez utiliser l’encodage en base64 et le décodage pour encoder.

Les exemples de définition JSON d’origine sont les suivants. Pour plus d’informations sur la définition d’élément de base de données mise en miroir, notamment une répartition de la structure de définition, consultez définition d’élément de base de données mise en miroir. Vous pouvez également faire référence à la définition de votre base de données mise en miroir existante en appelant l’API Obtenir la définition de base de données mise en miroir.

Important

Pour mettre en miroir des données à partir d’Azure SQL Database, Azure SQL Managed Instance, Azure Database pour PostgreSQL ou SQL Server 2025, vous devez également effectuer les opérations suivantes avant de commencer la mise en miroir :

  1. Activez l’identité managée de votre serveur logique Azure SQL, Azure SQL Managed Instance, Azure Database pour PostgreSQL ou SQL Server.
  2. Accordez l’autorisation Lecture et écriture de l’identité managée à la base de données mise en miroir. Pour l’instant, vous devez effectuer cette opération sur le portail Fabric. Vous pouvez également accorder le rôle d'espace de travail à l'identité gérée à l'aide de l'API Ajouter une attribution de rôle d'espace de travail.

Note

Définissez la deafultSchema propriété pour conserver la hiérarchie de schéma source dans la base de données mise en miroir.

Exemple de définition JSON de réplication de la base de données entière

Pour mettre en miroir toutes les tables de la base de données source :

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

Exemple de définition JSON de réplication de tables spécifiées

Pour mettre en miroir des tables sélectives de la base de données source, vous pouvez spécifier la mountedTables propriété comme dans l’exemple suivant.

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

Réponse 201 :

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

Supprimer une base de données mise en miroir

API REST - Éléments - Supprimer une base de données mise en miroir

Exemple :

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

Réponse 200 : (Aucun corps)

Obtenir la base de données mise en miroir

API REST - Éléments - Obtenir une base de données mise en miroir

Exemple :

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

Réponse 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"
    }
}

Obtenir la définition de base de données mise en miroir

API REST - Éléments - Obtenir la définition de base de données mise en miroir

Exemple :

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

Réponse 200 :

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

Répertorier les bases de données mises en miroir

API REST - Éléments - Répertorier les bases de données mises en miroir

Exemple :

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

Réponse 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"
            }
        }
    ] 
} 

Mettre à jour la base de données mise en miroir

API REST - Éléments - Mettre à jour la base de données mise en miroir

Exemple :

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

Corps :

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

Réponse 200 :

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

Mettre à jour la définition de base de données mise en miroir

API REST - Éléments - Mettre à jour la définition de base de données mise en miroir

Exemple :

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

Corps :

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

Réponse 200 : (Aucun corps)

La propriété de charge utile dans le corps JSON précédent est encodée en Base64. Vous pouvez utiliser l’encodage en base64 et le décodage pour encoder.

Note

Cette API prend en charge l’ajout/la suppression de tables en actualisant la mountedTables propriété. Il prend également en charge la mise à jour de l’ID de connexion source, du nom de la base de données et du schéma par défaut (ces trois propriétés peuvent uniquement être mises à jour lorsque l’API d’état de mise en miroir est retournée Initialized/Stopped).

Configurer la conservation des données

Vous pouvez définir la période de rétention pour les données mises en miroir à l’aide de la retentionInDays propriété. La valeur par défaut est de sept jours. Les valeurs autorisées sont entières comprises entre 1 et 30.

Exemple de définition JSON avant l’encodage Base64 :

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

Obtenir l’état de la mise en miroir

API REST - Mise en miroir - Obtenir l’état de la mise en miroir

Cette API retourne l’état de l’instance de base de données mise en miroir. La liste des états disponibles est fournie aux valeurs de MirroringStatus.

Exemple :

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

Réponse 200 :

{
    "status": "Running"
}

Démarrer la mise en miroir

API REST - Mise en miroir - Démarrer la mise en miroir

Exemple :

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

Réponse 200 : (Aucun corps)

Note

La mise en miroir ne peut pas être démarrée au-dessus de l’API Obtenir l’état d’état de mise en miroir.Initializing

Obtenir l’état de la mise en miroir des tables

API REST - Mise en miroir - Obtenir l’état de la mise en miroir de tables

Si la mise en miroir est démarrée et que l’API Obtenir l’état d’état de mise en miroir retourne Running l’état, cette API retourne l’état et les métriques de la réplication des tables.

Exemple :

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

Réponse 200 :

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

Arrêter la mise en miroir

API REST - Mise en miroir - Arrêter la mise en miroir

Exemple :

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

Réponse 200 : (Aucun corps)

Note

Après avoir arrêté la mise en miroir, vous pouvez appeler l’API Obtenir l’état de mise en miroir pour interroger l’état de mise en miroir.

Kit de développement logiciel (SDK) .NET Microsoft Fabric

Le Kit de développement logiciel (SDK) .NET qui prend en charge la mise en miroir Fabric est disponible dans le Kit de développement logiciel (SDK) .NET Microsoft Fabric. La version doit être >= 1.0.0-beta.11.