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 支持此功能。

数据库帐户的资源模型

数据库帐户的资源模型已更新,现有一些额外的属性来支持新的还原方案。 这三个属性是 BackupPolicyCreateModeRestoreParameters

BackupPolicy

帐户级别备份策略中 backuppolicy 参数下一个名为 Type 的新属性,可启用连续备份和时间点还原。 此模式称为“连续备份”。 可以在创建帐户时或在将帐户从定期模式迁移到连续模式时设置此模式。 启用连续模式后,在此帐户中创建的所有容器和数据库都将默认启用连续备份和时间点还原。 可以将连续备份层设置为 Continuous7DaysContinuous30Days。 默认情况下,如果未提供层,则帐户上将应用 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:系统触发的数据库修改事件。 此事件并非由用户发起

若要获取同一数据库下所有表突变的列表,请查看可还原的表 - 列表一文。

后续步骤