Azure Cosmos DB 时间点还原功能的资源模型
适用对象: NoSQL MongoDB Gremlin 表
本文介绍了 Azure Cosmos DB 时间点还原功能的资源模型。 它介绍了用于支持连续备份的参数,以及可还原的资源。 适用于 SQL 的 Azure Cosmos DB API、适用于 Gremlin 的 Azure Cosmos DB API、表 API 和适用于 MongoDB 的 Azure Cosmos DB API 支持此功能。
数据库帐户的资源模型
数据库帐户的资源模型已更新,现有一些额外的属性来支持新的还原方案。 这三个属性是 BackupPolicy
、CreateMode
和 RestoreParameters
。
BackupPolicy
帐户级别备份策略中 backuppolicy
参数下一个名为 Type
的新属性,可启用连续备份和时间点还原。 此模式称为“连续备份”。 可以在创建帐户时或在将帐户从定期模式迁移到连续模式时设置此模式。 启用连续模式后,在此帐户中创建的所有容器和数据库都将默认启用连续备份和时间点还原。 可以将连续备份层设置为 Continuous7Days
或 Continuous30Days
。 默认情况下,如果未提供层,则帐户上将应用 Continuous30Days
。
注意
时间点还原功能现适用于 Azure Cosmos DB for NoSQL、API for MongoDB、表和 Gremlin 帐户。 使用连续模式创建帐户后,无法将其切换为定期模式。 Continuous7Days
层现为预览版。
CreateMode
此属性指示帐户是如何创建的。 可能的值为 Default 和 Restore 。 若要执行还原,请将此值设置为“Restore”,并在 RestoreParameters
属性中提供适当的值。
publicNetworkAccess
需要将此属性设置为“禁用”才能在没有公共网络访问权限的情况下恢复帐户。 如果未提供此属性,则将在 publicNetworkAccess 处于 Enabled
状态的情况下恢复帐户。
RestoreParameters
RestoreParameters
资源包含还原操作的详细信息,包括帐户 ID、还原时间和需要还原的资源。
属性名称 | 说明 |
---|---|
restoreMode |
还原模式应为 PointInTime 。 |
restoreSource |
将从中启动还原的源帐户的 instanceId。 |
restoreTimestampInUtc |
还原帐户的 UTC 时间点。 |
databasesToRestore |
DatabaseRestoreResource 对象的列表,用于指定应还原的数据库和容器。 每个资源都表示单一数据库及其包含的所有集合。 有关详细信息,请参阅可还原的 SQL 资源。 如果此值为空,则还原整个帐户。 |
gremlinDatabasesToRestore |
GremlinDatabaseRestoreResource 对象的列表,用于指定应还原的数据库和图形。 每个资源都表示单个数据库及其包含的所有图形。 有关详细信息,请参阅可还原的 Gremlin 资源。 如果此值为空,则还原整个帐户。 |
restoreWithTtlDisabled |
布尔标记值 (true/false),用于在恢复完成后禁用恢复帐户中的生存时间。 (预览) |
tablesToRestore |
TableRestoreResource 对象的列表,用于指定应还原的表。 每个资源都表示该数据库下的一个表。 有关详细信息,请参阅可还原的表资源。 如果此值为空,则还原整个帐户。 |
示例资源
以下 JSON 是启用了连续备份的示例数据库帐户资源:
{
"location": "chinanorth",
"properties": {
"databaseAccountOfferType": "Standard",
"locations": [
{
"failoverPriority": "0",
"locationName": "chinaeast",
"isZoneRedundant": "false"
}
],
"createMode": "Restore",
"publicNetworkAccess":"Disabled",
"restoreParameters": {
"restoreMode": "PointInTime",
"restoreWithTtlDisabled" : "true",
"restoreSource": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/chinanorth/restorableDatabaseAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"restoreTimestampInUtc": "2020-06-11T22:05:09Z",
"databasesToRestore": [
{
"databaseName": "db1",
"collectionNames": [
"collection1",
"collection2"
]
},
{
"databaseName": "db2",
"collectionNames": [
"collection3",
"collection4"
]
}
]
},
"backupPolicy": {
"type": "Continuous"
...
}
}
}
可还原的资源
提供了一组新的资源和 API,可帮助你发现资源的关键信息,其中包括:
- 可还原资源的位置
- 可从中还原资源的位置
- 对这些资源执行关键操作的时间戳。
注意
用于枚举这些资源的 API 都需要以下权限:
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read
可还原的数据库帐户
此资源包含可还原的数据库帐户实例。 数据库帐户可以是已删除的帐户,也可以是实时帐户。 你可使用它包含的信息找到想要还原的源数据库帐户。
属性名称 | 说明 |
---|---|
ID |
资源的唯一标识符。 |
accountName |
多区域数据库帐户名称。 |
creationTime |
创建或迁移帐户的时间 (UTC)。 |
deletionTime |
删除帐户的时间 (UTC)。 如果帐户是实时的,则此值为空。 |
apiType |
Azure Cosmos DB 帐户的 API 类型。 |
restorableLocations |
帐户所在的位置列表。 |
restorableLocations: locationName |
区域帐户的区域名称。 |
restorableLocations: regionalDatabaseAccountInstanceId |
区域帐户的 GUID。 |
restorableLocations: creationTime |
创建或迁移区域帐户的时间 (UTC)。 |
restorableLocations: deletionTime |
删除区域帐户的时间 (UTC)。 如果区域帐户是实时的,则此值为空。 |
OldestRestorableTimeStamp |
执行还原时可以还原到的最早的 UTC 时间。 对于 30 天层,此时间最多可为距现在起 30 天,对于七天层,此时间最多可为距现在起 7 天。 |
若要获取所有可还原帐户的列表,请查看可还原的数据库帐户 - 列表或可还原的数据库帐户 - 按位置列出文章。
可还原的 SQL 数据库
每个资源都包含突变事件的相关信息,例如在 SQL 数据库上发生的创建和删除事件。 如果意外删除了数据库,并且需要查明事件发生的时间,则此信息可能会有所帮助。
属性名称 | 说明 |
---|---|
eventTimestamp |
创建或删除数据库的时间 (UTC)。 |
ownerId |
SQL 数据库的名称。 |
ownerResourceId |
SQL 数据库的资源 ID、 |
operationType |
此数据库事件的操作类型。 |
database |
事件发生时 SQL 数据库的属性、 |
注意
operationType
可能的值包括:
Create
:数据库创建事件Delete
:数据库删除事件Replace
:数据库修改事件SystemOperation
:系统触发的数据库修改事件。 此事件并非由用户发起
若要获取所有数据库突变的列表,请查看可还原的 NoSQL 数据库 - 列表一文。
可还原的 SQL 容器
每个资源都包含突变事件的相关信息,例如在 SQL 容器上发生的创建和删除事件。 如果修改或删除了容器,并且需要查明事件发生的时间,则此信息可能会有所帮助。
属性名称 | 说明 |
---|---|
eventTimestamp |
此容器事件发生的时间 (UTC)。 |
ownerId |
SQL 容器的名称。 |
ownerResourceId |
SQL 容器的资源 ID。 |
operationType |
此容器事件的操作类型。 |
container |
事件发生时 SQL 容器的属性。 |
注意
operationType
可能的值包括:
Create
:容器创建事件Delete
:容器删除事件Replace
:容器修改事件SystemOperation
:系统触发的容器修改事件。 此事件并非由用户发起
若要获取同一数据库下所有容器突变的列表,请查看可还原的 NoSQL 容器 - 列表一文。
可还原的 SQL 资源
每个资源都表示单一数据库及其包含的所有容器。
属性名称 | 说明 |
---|---|
databaseName |
SQL 数据库的名称。 |
collectionNames |
此数据库下的 SQL 容器列表。 |
若要获取在给定时间戳和位置的帐户上存在的 SQL 数据库和容器组合的列表,请查看可还原的 NoSQL 资源 - 列表一文。
可还原的 MongoDB 数据库
每个资源都包含突变事件的相关信息,例如在 MongoDB 数据库上发生的创建和删除事件。 如果意外删除了数据库,并且用户需要查明事件发生的时间,则此信息可能会有所帮助。
属性名称 | 说明 |
---|---|
eventTimestamp |
此数据库事件发生的时间 (UTC)。 |
ownerId |
MongoDB 数据库的名称。 |
ownerResourceId |
MongoDB 数据库的资源 ID。 |
operationType |
此数据库事件的操作类型。 |
注意
operationType
可能的值包括:
Create
:数据库创建事件Delete
:数据库删除事件Replace
:数据库修改事件SystemOperation
:系统触发的数据库修改事件。 此事件并非由用户发起
若要获取所有数据库突变的列表,请查看可还原的 Mongodb 数据库 - 列表一文。
可还原的 MongoDB 集合
每个资源都包含突变事件的相关信息,例如在 MongoDB 集合上发生的创建和删除事件。 如果修改或删除了集合,并且用户需要查明事件发生的时间,则此信息可能会有所帮助。
属性名称 | 说明 |
---|---|
eventTimestamp |
此集合事件发生的时间 (UTC)。 |
ownerId |
MongoDB 集合的名称。 |
ownerResourceId |
MongoDB 集合的资源 ID。 |
operationType |
此集合事件的操作类型。 |
注意
operationType
可能的值包括:
Create
:集合创建事件Delete
:集合删除事件Replace
:集合修改事件SystemOperation
:系统触发的集合修改事件。 此事件并非由用户发起
若要获取同一数据库下所有容器突变的列表,请查看可还原的 MongoDB 资源 - 列表。
可还原的 MongoDB 资源
每个资源都表示单一数据库及其包含的所有集合。
属性名称 | 说明 |
---|---|
databaseName |
MongoDB 数据库的名称。 |
collectionNames |
此数据库下的 MongoDB 集合列表。 |
若要获取在给定时间戳和位置的帐户上存在的所有 MongoDB 数据库和集合组合的列表,请查看可还原的 MongoDB 资源 - 列表。
可还原的图形资源
每个资源都表示单个数据库及其包含的所有图形。
属性名称 | 说明 |
---|---|
gremlinDatabaseName |
图形数据库的名称。 |
graphNames |
此数据库下的图形列表。 |
若要获取在给定时间戳和位置的帐户上存在的所有 Gremlin 数据库和图形组合的列表,请参阅可还原的图形资源 - 列表一文。
可还原的图形数据库
每个资源都包含突变事件的相关信息,例如在图形数据库上发生的创建和删除事件。 如果意外删除了数据库,并且用户需要查明事件发生的时间,则此信息可能会有所帮助。
属性名称 | 说明 |
---|---|
eventTimestamp |
此数据库事件发生的时间 (UTC)。 |
ownerId |
图形数据库的名称。 |
ownerResourceId |
图形数据库的资源 ID。 |
operationType |
此数据库事件的操作类型。 |
注意
operationType
可能的值包括:
Create
:数据库创建事件Delete
:数据库删除事件Replace
:数据库修改事件SystemOperation
:系统触发的数据库修改事件。 此事件并非由用户发起。
若要获取 Gremlin 数据库上所有突变的事件源,请参阅可还原的图形数据库 - 列表。
可还原的图形
每个资源都包含突变事件的相关信息,例如在图形上发生的创建和删除事件。 如果修改或删除了图形,并且需要查明事件发生的时间,则此信息可能会有所帮助。
属性名称 | 说明 |
---|---|
eventTimestamp |
此集合事件发生的时间 (UTC)。 |
ownerId |
图形集合的名称。 |
ownerResourceId |
图形集合的资源 ID。 |
operationType |
此集合事件的操作类型。 |
注意
operationType
可能的值包括:
Create
:图形创建事件Delete
:图形删除事件Replace
:图形修改事件SystemOperation
:系统触发的集合修改事件。 此事件并非由用户发起。
若要获取同一数据库下所有容器突变的列表,请参阅可还原的图形 - 列表一文。
可还原的表资源
列出在给定时间和位置可用于特定数据库帐户的所有可还原的 Azure Cosmos DB 表。 请注意,API for Table 不会指定显式数据库。
属性名称 | 说明 |
---|---|
TableNames |
此帐户下的表容器列表。 |
若要获取在给定时间戳和位置的帐户上存在的表的列表,请参阅可还原的表资源 - 列表一文。
可还原的表
每个资源都包含突变事件的相关信息,例如在表上发生的创建和删除事件。 如果修改或删除了表,并且需要查明事件发生的时间,则此信息可能会有所帮助。
属性名称 | 说明 |
---|---|
eventTimestamp |
此数据库事件发生的时间 (UTC)。 |
ownerId |
表数据库的名称。 |
ownerResourceId |
表资源的资源 ID。 |
operationType |
此表事件的操作类型。 |
注意
operationType
可能的值包括:
Create
:表创建事件Delete
:表删除事件Replace
:表修改事件SystemOperation
:系统触发的数据库修改事件。 此事件并非由用户发起
若要获取同一数据库下所有表突变的列表,请查看可还原的表 - 列表一文。
后续步骤
- 使用 Azure 门户、PowerShell、CLI 或 Azure 资源管理器预配连续备份。
- 使用 Azure 门户、PowerShell、CLI 或 Azure 资源管理器还原帐户。
- 将帐户从定期备份迁移到连续备份。
- 管理以连续备份模式还原数据所需的权限。