本文对镜像数据库项的定义结构进行了细分。
定义部件
下表列出了镜像的数据库定义部分。
| 定义部件路径 | 类型 | 必选 | DESCRIPTION |
|---|---|---|---|
mirroring.json |
MirroredDatabase | ✅ | 描述镜像数据库项 |
.platform |
PlatformDetails | ❌ | 描述项的元数据 |
镜像数据库项的定义部分构造如下:
-
路径:文件名,例如:
mirroring.json - 有效负载类型:InlineBase64
- 有效负载:请参阅 从 Base64 解码的有效负载内容示例
MirroredDatabase
描述镜像数据库项。
| 名称 | 类型 | 必选 | DESCRIPTION |
|---|---|---|---|
source |
SourceProperties | 是 | 描述源类型属性。 |
target |
目标属性 | 是 | 描述目标类型属性。 |
mountedTables |
MountedTable[] | 假 | 列出要从源数据库镜像的表。 (如果未指定此属性,则会镜像所有表。新表也将自动添加到复制中。 |
SourceProperties
描述要镜像的源数据库。
| 名称 | 类型 | 必选 | DESCRIPTION |
|---|---|---|---|
type |
SourceType | 是 | 源数据库的类型。 |
typeProperties |
SourceTypeProperties | 是 | 源连接的属性,例如connectiondatabase,等等。 |
来源类型
源类型的最新值(可能会随着时间的推移添加其他源类型)。
| 名称 | DESCRIPTION |
|---|---|
Snowflake |
表示 Snowflake 源。 |
AzureSqlDatabase |
表示 Azure SQL 数据库源。 |
AzureSqlMI |
表示 Azure SQL 托管实例源。 |
AzurePostgreSql |
表示 Azure PostgreSQL 源。 |
CosmosDb |
表示 Cosmos DB 源。 |
SqlServer2025 |
表示 SQL Server 2025 源。 |
MSSQL |
表示Microsoft SQL Server 2016-2022 源。 |
GenericMirror |
表示打开的镜像源。 |
SourceTypeProperties
描述源类型属性。
| 名称 | 类型 | 必选 | DESCRIPTION |
|---|---|---|---|
connection |
Guid | 假 | 源数据库的连接标识符。
GenericMirror源类型不需要。 |
database |
字符串 | 假 | 源数据库的名称。 对于、AzureSqlDatabaseAzureSqlMI或AzurePostgreSql源类型,不是必需的GenericMirror。 |
目标属性
描述目标类型属性。
| 名称 | 类型 | 必选 | DESCRIPTION |
|---|---|---|---|
type |
字符串 | 是 | 目标的类型(目前仅 MountedRelationalDatabase 受支持)。 |
typeProperties |
TargetTypeProperties | 是 | 目标的属性,例如 defaultSchema 和 format。 |
TargetType属性
描述目标的属性。
| 名称 | 类型 | 必选 | DESCRIPTION |
|---|---|---|---|
defaultSchema |
字符串 | 假 | 目标的默认架构。 |
format |
字符串 | 是 | 目标的格式(目前仅 Delta 受支持)。 |
MountedTable
描述要从源数据库镜像的表。
| 名称 | 类型 | 必选 | DESCRIPTION |
|---|---|---|---|
source |
MountedTableSourceProperties | 是 | 源表的属性,例如 schemaName 和 tableName。 |
MountedTableSourceProperties
描述源表的属性。
| 名称 | 类型 | 必选 | DESCRIPTION |
|---|---|---|---|
typeProperties |
MountedTableSourceTypeProperties | 是 | 键入源表的属性。 |
MountedTableSourceTypeProperties
描述源表的类型属性。
| 名称 | 类型 | 必选 | DESCRIPTION |
|---|---|---|---|
schemaName |
字符串 | 是 | 源表的架构名称。 |
tableName |
字符串 | 是 | 源表的表名。 |
mirroring.json 示例
若要了解如何为各种源创建描述镜像数据库项的 JSON 文件,请参阅 各种源的镜像数据库定义。
{
"properties": {
"source": {
"type": "Snowflake",
"typeProperties": {
"connection": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"database": "TESTDB"
}
},
"target": {
"type": "MountedRelationalDatabase",
"typeProperties": {
"defaultSchema": "dbo",
"format": "Delta"
}
},
"mountedTables": [
{
"source": {
"typeProperties": {
"schemaName": "dbo",
"tableName": "testtable"
}
}
}
]
}
}
定义示例
下面是 Base64 编码的镜像数据库定义的示例,其中示例的内容mirroring.json在 Base64 中编码,并放置在payload路径设置为mirroring.json:
{
"displayName": "myMirroredDatabase",
"type": "MirroredDatabase",
"description": "Create Mirrored Database item with definition",
"definition": {
"parts": [
{
"path": "mirroring.json",
"payload": "<base64 encoded string>",
"payloadType": "InlineBase64"
},
{
"path": ".platform",
"payload": "<base64 encoded string>",
"payloadType": "InlineBase64"
}
]
}
}