Zrcadlení veřejných rozhraní REST API v Microsoft Fabric
Veřejná rozhraní API pro zrcadlení prostředků infrastruktury se skládají ze dvou kategorií: (1) Operace CRUD pro položku databáze se zrcadlenou databází infrastruktury a (2) Operace spuštění/zastavení a monitorování. Primární online referenční dokumentace k rozhraním REST API Microsoft Fabric najdete v referenčních materiálech k rozhraní REST API Microsoft Fabric.
Poznámka:
Tato rozhraní REST API se nevztahují na zrcadlenou databázi z Azure Databricks.
Vytvoření zrcadlené databáze
REST API – Položky – Vytvoření zrcadlené databáze
Před vytvořením zrcadlené databáze je potřeba odpovídající připojení ke zdroji dat. Pokud připojení ještě nemáte, projděte si informace o vytvoření nového připojení pomocí portálu a použijte toto ID připojení v následující definici. Můžete také odkazovat na vytvoření nového rozhraní REST API pro připojení k vytvoření nového připojení pomocí rozhraní REST API prostředků infrastruktury.
Příklad:
POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases
Text:
{
"displayName": "Mirrored database 1",
"description": "A mirrored database description",
"definition": {
"parts": [
{
"path": "mirroring.json",
"payload": "eyAicHJvcGVydGllcy..WJsZSIgfSB9IH0gXSB9IH0",
"payloadType": "InlineBase64"
}
]
}
}
Vlastnost datové části v předchozím textu JSON je zakódovaná v Base64. Kódování a dekódování base64 můžete použít k kódování. Původní příklady definic JSON pro různé typy zdrojů následují:
- Příklad definice JSON Snowflake
- Příklad definice JSON služby Azure SQL Database
- Příklad definice JSON služby Azure SQL Managed Instance
- Příklad definice JSON služby Azure Cosmos DB
- Příklad definice JSON otevřeného zrcadlení
Pokud chcete replikovat selektivní tabulky místo všech tabulek v zadané databázi, projděte si příklad definice JSON pro replikaci zadaných tabulek.
Důležité
Pokud chcete zrcadlit data ze služby Azure SQL Database nebo azure SQL Managed Instance, musíte před zahájením zrcadlení provést následující kroky:
- Povolte spravovanou identitu přiřazenou systémem (SAMI) logického serveru Azure SQL nebo spravované instance Azure SQL.
- Udělte zrcadlené databázi oprávnění SAMI ke čtení a zápisu. V současné době to musíte udělat na portálu Fabric. Případně můžete udělit roli pracovního prostoru SAMI pomocí rozhraní API pro přidání přiřazení role pracovního prostoru .
Poznámka:
defaultSchema
vlastnost označuje, zda se má replikovat hierarchie schématu ze zdrojové databáze. Pokud je váš region kapacity Fabric v oblasti USA – středosever nebo USA – východ, nezadávejte tuto vlastnost, protože tato funkce není v těchto oblastech aktuálně podporována.
Příklad definice JSON Snowflake
{
"properties": {
"source": {
"type": "Snowflake",
"typeProperties": {
"connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"database": "xxxx"
}
},
"target": {
"type": "MountedRelationalDatabase",
"typeProperties": {
"defaultSchema": "xxxx",
"format": "Delta"
}
}
}
}
Příklad definice JSON služby 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"
}
}
}
}
Příklad definice JSON služby 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"
}
}
}
}
Příklad definice JSON služby Azure Cosmos DB
{
"properties": {
"source": {
"type": "CosmosDb",
"typeProperties": {
"connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"database": "xxxx"
}
},
"target": {
"type": "MountedRelationalDatabase",
"typeProperties": {
"defaultSchema": "xxxx",
"format": "Delta"
}
}
}
}
Příklad definice JSON otevřeného zrcadlení
{
"properties": {
"source": {
"type": "GenericMirror",
"typeProperties": {}
},
"target": {
"type": "MountedRelationalDatabase",
"typeProperties": {
"format": "Delta"
}
}
}
}
Příklad definice JSON pro replikaci zadaných tabulek
Předchozí příklady platí pro scénář, který automaticky replikuje všechny tabulky v zadané databázi. Pokud chcete zadat tabulky, které se mají replikovat, můžete zadat mountedTables
vlastnost, jako v následujícím příkladu.
{
"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"
}
}
}
]
}
}
Odpověď 201:
{
"id": "<mirrored database ID>",
"type": "MirroredDatabase",
"displayName": "Mirrored database 1",
"description": "A mirrored database description",
"workspaceId": "<your workspace ID>"
}
Odstranění zrcadlené databáze
REST API – Položky – Odstranění zrcadlené databáze
Příklad:
DELETE https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>
Odpověď 200: (Bez textu)
Získání zrcadlené databáze
REST API – Položky – Získání zrcadlené databáze
Příklad:
GET https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>
Odpověď 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"
}
}
Získání definice zrcadlené databáze
REST API – Položky – Získání definice zrcadlené databáze
Příklad:
POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/getDefinition
Odpověď 200:
{
"definition": {
"parts":[
{
"path": "mirroring.json",
"payload": "eyAicHJvcGVydGllcy..WJsZSIgfSB9IH0gXSB9IH0",
"payloadType": "InlineBase64"
}
]
}
}
Výpis zrcadlených databází
REST API – Položky – Výpis zrcadlených databází
Příklad:
GET https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases
Odpověď 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"
}
}
]
}
Aktualizace zrcadlené databáze
REST API – Položky – Aktualizace zrcadlené databáze
Příklad:
PATCH https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>
Text:
{
"displayName": "MirroredDatabase's New name",
"description": "A new description for mirrored database."
}
Odpověď 200:
{
"displayName": "MirroredDatabase's New name",
"description": "A new description for mirrored database.",
"type": "MirroredDatabase",
"workspaceId": "<your workspace ID>",
"id": "<mirrored database ID>"
}
Aktualizace definice zrcadlené databáze
REST API – Položky – Aktualizace definice zrcadlené databáze
Příklad:
POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/updateDefinition
Text:
{
"definition": {
"parts": [
{
"path": "mirroring.json",
"payload": "eyAicHJvcGVydGllcy..WJsZSIgfSB9IH0gXSB9IH0",
"payloadType": "InlineBase64"
}
]
}
}
Odpověď 200: (Bez textu)
Poznámka:
Toto rozhraní API podporuje přidávání nebo odebírání tabulek aktualizací mountedTables
vlastnosti. Podporuje také aktualizaci ID zdrojového připojení, názvu databáze a výchozího schématu (tyto tři vlastnosti je možné aktualizovat pouze v případě, že Získat stav zrcadlení rozhraní API vrátí Initialized
/Stopped
).
Získání stavu zrcadlení
REST API – Zrcadlení – Získání stavu zrcadlení
Toto rozhraní API vrátí stav zrcadlené instance databáze. Seznam dostupných stavů je k dispozici v hodnotách MirroringStatus.
Příklad:
POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/getMirroringStatus
Odpověď 200:
{
"status": "Running"
}
Zahájení zrcadlení
REST API – Zrcadlení – Zahájení zrcadlení
Příklad:
POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/startMirroring
Odpověď 200: (Bez textu)
Poznámka:
Zrcadlení nelze zahájit, když rozhraní API pro získání stavu zrcadlení vrátí výše uvedený stav Initializing
.
Získání stavu zrcadlení tabulek
REST API – Zrcadlení – Získání stavu zrcadlení tabulek
Pokud se spustí zrcadlení a rozhraní API pro získání stavu zrcadlení vrátí stav, vrátí Running
toto rozhraní API stav a metriky replikace tabulek.
Příklad:
POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/getTablesMirroringStatus
Odpověď 200:
{
"continuationToken": null,
"continuationUri": null,
"data": [
{
"sourceSchemaName": "dbo",
"sourceTableName": "test",
"status": "Replicating",
"metrics": {
"processedBytes": 1247,
"processedRows": 6,
"lastSyncDateTime": "2024-10-08T05:07:11.0663362Z"
}
}
]
}
Zastavení zrcadlení
REST API – Zrcadlení – Zastavení zrcadlení
Příklad:
POST https://api.fabric.microsoft.com/v1/workspaces/<your workspace ID>/mirroredDatabases/<mirrored database ID>/stopMirroring
Odpověď 200: (Bez textu)
Poznámka:
Po zastavení zrcadlení můžete volat API Get mirroring status k dotazování stavu zrcadlení.
Microsoft Fabric .NET SDK
Sada .NET SDK, která podporuje zrcadlení prostředků infrastruktury, je k dispozici v sadě Microsoft Fabric .NET SDK. Verze musí být >= 1.0.0-beta.11.