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 ของ Snowflake
- ตัวอย่างข้อกําหนด JSON ของ Azure SQL Database
- ตัวอย่างข้อกําหนด JSON ของอินสแตนซ์ที่จัดการแล้วของ Azure SQL
- ตัวอย่างข้อกําหนด JSON ของ Azure Cosmos DB
- ตัวอย่างข้อกําหนด JSON ของการเปิดมิเรอร์
หากคุณต้องการทําซ้ําตารางที่เลือกแทนที่จะเป็นตารางทั้งหมดในฐานข้อมูลที่ระบุ โปรดดู ตัวอย่างข้อกําหนด JSON ของการจําลองแบบตารางที่ระบุ
สำคัญ
เพื่อมิเรอร์ข้อมูลจากฐานข้อมูล Azure SQL หรืออินสแตนซ์ที่จัดการแล้วของ Azure SQL คุณจําเป็นต้องทําสิ่งต่อไปนี้ก่อนที่จะเริ่มมิเรอร์:
- เปิดใช้งานข้อมูลประจําตัวที่มีการจัดการ (SAMI) ของระบบเซิร์ฟเวอร์เชิงตรรกะ Azure SQL หรืออินสแตนซ์ที่จัดการโดย Azure SQL
- ให้สิทธิ์ 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