Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As APIs públicas para espelhamento do Fabric consistem em duas categorias: (1) operações CRUD para item de banco de dados espelhado do Fabric e (2) operações de início/parada e monitoramento. A documentação de referência online primária das APIs REST do Microsoft Fabric pode ser encontrada nas referências da API REST do Microsoft Fabric.
Observação
Essas APIs REST não se aplicam ao banco de dados espelhado do Azure Databricks.
Criar banco de dados espelhado
API REST – Itens – Criar banco de dados espelhado
Antes de criar um banco de dados espelhado, a conexão de fonte de dados correspondente é necessária. Se você ainda não tiver uma conexão, consulte para criar uma nova conexão usando o portal e use essa ID de conexão na definição a seguir. Você também pode se referir à criação de uma nova API REST de conexão para criar uma nova conexão usando APIs REST do Fabric.
Exemplo:
POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases
Corpo:
{
"displayName": "Mirrored database 1",
"description": "A mirrored database description",
"definition": {
"parts": [
{
"path": "mirroring.json",
"payload": "eyAicHJvcGVydGllcy..WJsZSIgfSB9IH0gXSB9IH0",
"payloadType": "InlineBase64"
}
]
}
}
A payload propriedade no corpo JSON anterior é codificada em Base64. Você pode usar a Codificação e a Decodificação base64 para codificar.
Os exemplos de definição JSON originais são os seguintes. Para obter mais informações sobre a definição de item de banco de dados espelhado, incluindo uma divisão da estrutura de definição, consulte a definição de item de banco de dados espelhado. Você também pode se referir à definição do banco de dados espelhado existente chamando a API de definição de banco de dados Espelho.
- Exemplo de definição JSON de replicação de banco de dados inteiro
- Exemplo de definição JSON de replicação de tabelas especificadas
Importante
Para espelhar dados do Banco de Dados SQL do Azure, da Instância Gerenciada de SQL do Azure, do Banco de Dados do Azure para PostgreSQL ou do SQL Server 2025, você também precisa fazer o seguinte antes de iniciar o espelhamento:
- Habilite a identidade gerenciada do servidor lógico do SQL do Azure, da Instância Gerenciada de SQL do Azure, do Banco de Dados do Azure para PostgreSQL ou do SQL Server.
- Conceda a permissão de leitura e gravação da identidade gerenciada ao banco de dados espelhado. No momento, você precisa fazer isso no portal do Fabric. Como alternativa, você pode conceder a função de espaço de trabalho de identidade gerenciada usando a API Adicionar Atribuição de Função do Workspace.
Observação
Defina a deafultSchema propriedade para preservar a hierarquia de esquema de origem no banco de dados espelhado.
Exemplo de definição JSON de replicação de banco de dados inteiro
Para espelhar todas as tabelas do banco de dados de origem:
{
"properties": {
"source": {
"type": "<your source type>",
"typeProperties": {
"connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"database": "xxxx"
}
},
"target": {
"type": "MountedRelationalDatabase",
"typeProperties": {
"defaultSchema": "xxxx",
"format": "Delta"
}
}
}
}
Exemplo de definição JSON de replicação de tabelas especificadas
Para espelhar tabelas seletivas do banco de dados de origem, você pode especificar a mountedTables propriedade como no exemplo a seguir.
{
"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"
}
}
}
]
}
}
Resposta 201:
{
"id": "<mirrored database ID>",
"type": "MirroredDatabase",
"displayName": "Mirrored database 1",
"description": "A mirrored database description",
"workspaceId": "<your workspace ID>"
}
Excluir banco de dados espelhado
API REST – Itens – Excluir banco de dados espelhado
Exemplo:
DELETE https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>
Resposta 200: (Sem corpo)
Obter banco de dados espelhado
API REST – Itens – Obter banco de dados espelhado
Exemplo:
GET https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>
Resposta 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"
}
}
Obter definição de banco de dados espelhado
API REST – Itens – Obter definição de banco de dados espelhado
Exemplo:
POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/getDefinition
Resposta 200:
{
"definition": {
"parts":[
{
"path": "mirroring.json",
"payload": "eyAicHJvcGVydGllcy..WJsZSIgfSB9IH0gXSB9IH0",
"payloadType": "InlineBase64"
}
]
}
}
Listar bancos de dados espelhados
API REST – Itens – Listar bancos de dados espelhados
Exemplo:
GET https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases
Resposta 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"
}
}
]
}
Atualizar banco de dados espelhado
API REST – Itens – Atualizar banco de dados espelhado
Exemplo:
PATCH https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>
Corpo:
{
"displayName": "MirroredDatabase's New name",
"description": "A new description for mirrored database."
}
Resposta 200:
{
"displayName": "MirroredDatabase's New name",
"description": "A new description for mirrored database.",
"type": "MirroredDatabase",
"workspaceId": "<your workspace ID>",
"id": "<mirrored database ID>"
}
Atualizar definição de banco de dados espelhado
API REST – Itens – Atualizar definição de banco de dados espelhado
Exemplo:
POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/updateDefinition
Corpo:
{
"definition": {
"parts": [
{
"path": "mirroring.json",
"payload": "eyAicHJvcGVydGllcy..WJsZSIgfSB9IH0gXSB9IH0",
"payloadType": "InlineBase64"
}
]
}
}
Resposta 200: (Sem corpo)
A propriedade payload no corpo JSON anterior é codificada em Base64. Você pode usar a Codificação e a Decodificação base64 para codificar.
Observação
Essa API dá suporte à adição/remoção de tabelas atualizando a mountedTables propriedade. Ele também dá suporte à atualização da ID de conexão de origem, do nome do banco de dados e do esquema padrão (essas três propriedades só podem ser atualizadas quando a API obter status de espelhamento retorna Initialized/Stopped).
Configurar retenção de dados
Você pode definir o período de retenção para dados espelhados usando a retentionInDays propriedade. O valor padrão é sete dias. Os valores permitidos são inteiros entre 1 e 30.
Exemplo de definição de JSON antes da codificação base64:
{
"properties": {
"source": {...},
"target": {
"type": "MountedRelationalDatabase",
"typeProperties": {
"defaultSchema": "xxxx",
"format": "Delta",
"retentionInDays": 1
}
}
}
}
Obter status de espelhamento
API REST – Espelhamento – Obter status de espelhamento
Essa API retorna o status da instância do banco de dados espelhado. A lista de status disponíveis é fornecida em valores de MirroringStatus.
Exemplo:
POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/getMirroringStatus
Resposta 200:
{
"status": "Running"
}
Iniciar espelhamento
API REST – Espelhamento – Iniciar espelhamento
Exemplo:
POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/startMirroring
Resposta 200: (Sem corpo)
Observação
O espelhamento não pode ser iniciado quando a API de status get mirroring acima retorna Initializing o status.
Obter status de espelhamento de tabelas
API REST – Espelhamento – Obter status de espelhamento de tabelas
Se o espelhamento for iniciado e a API obter status de espelhamento retornar Running o status, essa API retornará o status e as métricas da replicação de tabelas.
Exemplo:
POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/getTablesMirroringStatus
Resposta 200:
{
"continuationToken": null,
"continuationUri": null,
"data": [
{
"sourceSchemaName": "dbo",
"sourceTableName": "test",
"status": "Replicating",
"metrics": {
"processedBytes": 1247,
"processedRows": 6,
"lastSyncDateTime": "2024-10-08T05:07:11.0663362Z"
}
}
]
}
Parar espelhamento
API REST – Espelhamento – Parar espelhamento
Exemplo:
POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/stopMirroring
Resposta 200: (Sem corpo)
Observação
Depois de interromper o espelhamento, você pode chamar a API obter status de espelhamento para consultar o status de espelhamento.
Microsoft Fabric .NET SDK
O SDK do .NET que dá suporte ao espelhamento do Fabric está disponível no SDK do .NET do Microsoft Fabric. A versão precisa ser >= 1.0.0-beta.11.