แชร์ผ่าน


Microsoft Fabric mirroring public REST API

API สาธารณะสําหรับการทํามิเรอร์ Fabric ประกอบด้วยสองประเภท: (1) การดําเนินการ CRUD สําหรับรายการฐานข้อมูลที่มิเรอร์มิเรอร์ Fabric และ (2) การเริ่มต้น/หยุดและการตรวจสอบการดําเนินงาน เอกสารอ้างอิงออนไลน์หลักสําหรับ Microsoft Fabric REST API สามารถพบได้ใน การอ้างอิง Microsoft Fabric REST API

หมายเหตุ

REST API เหล่านี้ไม่ได้นําไปใช้กับฐานข้อมูลมิเรอร์จาก Azure Databricks

สร้างฐานข้อมูลที่มิเรอร์

REST API - รายการ - สร้างฐานข้อมูลที่มิเรอร์

ก่อนที่คุณจะสร้างฐานข้อมูลแบบมิเรอร์ จําเป็นต้องเชื่อมต่อแหล่งข้อมูลที่สอดคล้องกัน ถ้าคุณยังไม่มีการเชื่อมต่อ โปรดดูที่สร้าง การเชื่อมต่อใหม่โดยใช้พอร์ทัล และใช้ ID การเชื่อมต่อนั้นในข้อกําหนดต่อไปนี้ คุณยังสามารถอ้างอิงถึง การสร้างการเชื่อมต่อใหม่ REST API เพื่อสร้างการเชื่อมต่อใหม่โดยใช้ Fabric REST API ได้

ตัวอย่าง:

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

เนื้อความ:

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

คุณสมบัติส่วนข้อมูลในเนื้อความ JSON ก่อนหน้าถูกเข้ารหัสลับ Base64 คุณสามารถใช้ การเข้ารหัส Base64 และ ถอดรหัส เพื่อเข้ารหัส ตัวอย่างข้อกําหนด JSON ต้นฉบับสําหรับแหล่งข้อมูลชนิดต่าง ๆ มีดังนี้:

หากคุณต้องการทําซ้ําตารางที่เลือกแทนที่จะเป็นตารางทั้งหมดในฐานข้อมูลที่ระบุ โปรดดู ตัวอย่างข้อกําหนด JSON ของการจําลองแบบตารางที่ระบุ

สำคัญ

เพื่อมิเรอร์ข้อมูลจากฐานข้อมูล Azure SQL หรืออินสแตนซ์ที่จัดการแล้วของ Azure SQL คุณจําเป็นต้องทําสิ่งต่อไปนี้ก่อนที่จะเริ่มมิเรอร์:

  1. เปิดใช้งานข้อมูลประจําตัวที่มีการจัดการ (SAMI) ของระบบเซิร์ฟเวอร์เชิงตรรกะ Azure SQL หรืออินสแตนซ์ที่จัดการโดย Azure SQL
  2. ให้สิทธิ์ SAMI Read และ Write ไปยังฐานข้อมูลแบบมิเรอร์ ในขณะนี้คุณจําเป็นต้องทําสิ่งนี้บนพอร์ทัล Fabric อีกวิธีหนึ่งคือ คุณสามารถมอบบทบาทพื้นที่ทํางาน SAMI โดยใช้ เพิ่ม API การกําหนดบทบาทพื้นที่ทํางานได้

หมายเหตุ

คุณสมบัติ defaultSchema บ่งชี้ว่าจะจําลองลําดับชั้น Schema จากฐานข้อมูลต้นทางหรือไม่

ตัวอย่างข้อกําหนด JSON ของ Snowflake

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

ตัวอย่างข้อกําหนด JSON ของ 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"
            }
        }
    }
}

ตัวอย่างข้อกําหนด JSON ของอินสแตนซ์ที่จัดการแล้วของ Azure SQL

{
    "properties": {
        "source": {
            "type": "AzureSqlMI",
            "typeProperties": {
                "connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
                "landingZone":{
                    "type":"MountedRelationalDatabase"
                }
            }
        },
        "target": {
            "type": "MountedRelationalDatabase",
            "typeProperties": {
                "defaultSchema": "xxxx",
                "format": "Delta"
            }
        }
    }
}

ตัวอย่างข้อกําหนด JSON ของ Azure Cosmos DB

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

ตัวอย่างข้อกําหนด JSON ของการเปิดมิเรอร์

{
    "properties": {
        "source": {
            "type": "GenericMirror",
            "typeProperties": {}
        },
        "target": {
            "type": "MountedRelationalDatabase",
            "typeProperties": {
                "format": "Delta"
            }
        }
    }
}

ตัวอย่างข้อกําหนด JSON ของการจําลองแบบตารางที่ระบุ

ตัวอย่างก่อนหน้านี้นําไปใช้กับสถานการณ์ที่ทําซ้ําตารางทั้งหมดในฐานข้อมูลที่ระบุโดยอัตโนมัติ ถ้าคุณต้องการระบุตารางที่จะทําซ้ํา คุณสามารถระบุ mountedTables คุณสมบัติ ดังในตัวอย่างต่อไปนี้

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

การตอบสนอง 201:

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

ลบฐานข้อมูลแบบมิเรอร์

REST API - รายการ - ลบฐานข้อมูลที่มิเรอร์

ตัวอย่าง:

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

คําตอบ 200: (ไม่มีเนื้อความ)

รับฐานข้อมูลที่มิเรอร์

REST API - รายการ - รับฐานข้อมูลที่มิเรอร์

ตัวอย่าง:

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

คําตอบ 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"
    }
}

รับข้อกําหนดของฐานข้อมูลแบบมิเรอร์

REST API - รายการ - รับข้อกําหนดของฐานข้อมูลแบบมิเรอร์

ตัวอย่าง:

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

คําตอบ 200:

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

ทํารายการฐานข้อมูลมิเรอร์

REST API - รายการ - รายการฐานข้อมูลที่มิเรอร์

ตัวอย่าง:

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

คําตอบ 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"
            }
        }
    ] 
} 

อัปเดตฐานข้อมูลที่มิเรอร์

REST API - รายการ - อัปเดตฐานข้อมูลที่มิเรอร์

ตัวอย่าง:

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

เนื้อความ:

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

คําตอบ 200:

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

ปรับปรุงข้อกําหนดของฐานข้อมูลแบบมิเรอร์

REST API - รายการ - อัปเดตข้อกําหนดฐานข้อมูลที่มิเรอร์

ตัวอย่าง:

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

เนื้อความ:

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

คําตอบ 200: (ไม่มีเนื้อความ)

หมายเหตุ

API นี้รองรับการเพิ่ม/ลบตารางออกโดยการ mountedTables รีเฟรชคุณสมบัติ นอกจากนี้ยังสนับสนุนการอัปเดต ID การเชื่อมต่อต้นทาง ชื่อฐานข้อมูล และ schema เริ่มต้น (คุณสมบัติสามอย่างนี้สามารถอัปเดตได้เฉพาะเมื่อ รับสถานะการมิเรอร์ API ส่งกลับ Initialized/Stopped)

รับสถานะการมิเรอร์

REST API - มิลเลอร์ - รับสถานะการมิเรอร์

API นี้ส่งกลับสถานะของอินสแตนซ์ฐานข้อมูลที่มิเรอร์ รายการของสถานะที่พร้อมใช้งานจะแสดงที่ค่าของ MirroringStatus

ตัวอย่าง:

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

คําตอบ 200:

{
    "status": "Running"
}

เริ่มมิเรอร์

REST API - การทํามิเรอร์ - เริ่มมิเรอร์

ตัวอย่าง:

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

คําตอบ 200: (ไม่มีเนื้อความ)

หมายเหตุ

ไม่สามารถเริ่มมิเรอร์เมื่อ รับสถานะการมิเรอร์ API ส่งกลับสถานะ Initializing

รับสถานะการมิเรอร์ตาราง

REST API - การทํามิเรอร์ - รับสถานะการมิเรอร์ตาราง

ถ้าการมิเรอร์เริ่มต้นและ รับ API สถานะ การมิเรอร์กลับมา Running API นี้ API จะส่งกลับสถานะและเมตริกของการจําลองแบบตาราง

ตัวอย่าง:

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

คําตอบ 200:

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

หยุดมิเรอร์

REST API - มิลเลอร์ - หยุดมิเรอร์

ตัวอย่าง:

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

คําตอบ 200: (ไม่มีเนื้อความ)

หมายเหตุ

หลังจากหยุดมิเรอร์ คุณสามารถเรียกใช้ รับสถานะการมิเรอร์ API เพื่อคิวรีสถานะการมิเรอร์

Microsoft Fabric .NET SDK

.NET SDK ที่สนับสนุน Fabric mirroring มีให้ใน Microsoft Fabric .NET SDK เวอร์ชันต้องเป็น >= 1.0.0-beta.11