Azure Cosmos DB のポイントインタイム リストア機能のリソース モデル

適用対象: SQL API Table API Gremlin API MongoDB用Azure Cosmos DB API

この記事では、Azure Cosmos DB のポイントインタイム リストア機能のリソース モデルについて説明されています。 継続的バックアップをサポートするパラメーターと、復元できるリソースについて説明されています。 この機能は、Azure Cosmos DB API for SQLとMongoDB用のCosmos DB APIでサポートされています。 現在、この機能はAzure Cosmos DB Gremlin APIとTable APIアカウントのプレビュー段階にあります。

データベース アカウントのリソース モデル

データベース アカウントのリソース モデルは、新しい復元シナリオをサポートするためのいくつかの追加プロパティで更新されました。 この 3 つのプロパティとは、BackupPolicyCreateMode および RestoreParameters です。

BackupPolicy

backuppolicy パラメーターの下にある Type という名前のアカウント レベルのバックアップ ポリシーの新しいプロパティにより、継続的バックアップとポイントインタイム リストアが有効になります。 このモードは、継続的バックアップと呼ばれます。 このモードは、アカウントを作成するとき、またはアカウントを定期モードから継続モードに移行するときに設定できます。 継続モードを有効にすると、このアカウント内で作成されたすべてのコンテナーとデータベースで、ポイントインタイム リストアと継続的バックアップが既定で有効になります。 継続的バックアップのレベルは、Continuous7Days または Continuous30Days に設定できます。 既定では、レベルが指定されていない場合、Continuous30Days がアカウントに適用されます。

Note

現時点では、ポイントインタイム リストア機能は、MongoDB および SQL API アカウント用の Azure Cosmos DB API で使用できます。 プレビューでは、Table API と Gremlin API でも使用できます。 継続的モードでアカウントを作成した後は、それを定期的モードに切り替えることはできません。 Continuous7Days レベルはプレビュー段階です。

CreateMode

このプロパティは、アカウントがどのように作成されたかを示します。 指定できる値は DefaultRestore です。 復元を実行するには、この値を Restore に設定し、RestoreParameters プロパティに適切な値を指定します。

RestoreParameters

RestoreParameters リソースには、アカウント ID、復元する時間、復元が必要なリソースなど、復元操作の詳細が含まれています。

プロパティ名 説明
restoreMode 復元モードは PointInTime にする必要があります。
restoreSource 復元が開始されるソース アカウントの instanceId。
restoreTimestampInUtc アカウントを復元する時点 (UTC)。
databasesToRestore 復元するデータベースとコンテナーを指定する DatabaseRestoreResource オブジェクトの一覧。 各リソースは、1 つのデータベースと、そのデータベースにあるすべてのコレクションを表します。 詳細については、「復元可能な SQL リソース」を参照してください。 この値が空の場合は、アカウント全体が復元されます。
gremlinDatabasesToRestore 復元するデータベースとグラフを指定するGremlinDatabaseRestoreResourceオブジェクトの一覧。 各リソースは、単一データベースと、そのデータベースにあるすべてのグラフを表します。 詳細については、復元可能な Gremlin リソースに関する記事を参照してください。 この値が空の場合は、アカウント全体が復元されます。
tablesToRestore 復元するテーブルを指定するTableRestoreResourceオブジェクトの一覧。 各リソースは、そのデータベースの下にあるテーブルを表します。 詳細については、「復元可能な Table リソース」を参照してください。 この値が空の場合は、アカウント全体が復元されます。

サンプル リソース

次の JSON は、継続的バックアップが有効になっているサンプル データベース アカウント リソースです。

{
  "location": "westus",
  "properties": {
    "databaseAccountOfferType": "Standard",
    "locations": [
      {
        "failoverPriority": "0",
        "locationName": "southcentralus",
        "isZoneRedundant": "false"
      }
    ],
    "createMode": "Restore",
    "restoreParameters": {
      "restoreMode": "PointInTime",
      "restoreSource": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1a97b4bb-f6a0-430e-ade1-638d781830cc",
      "restoreTimestampInUtc": "2020-06-11T22:05:09Z",
      "databasesToRestore": [
        {
          "databaseName": "db1",
          "collectionNames": [
            "collection1",
            "collection2"
          ]
        },
        {
          "databaseName": "db2",
          "collectionNames": [
            "collection3",
            "collection4"
          ]
        }
      ]
    },
    "backupPolicy": {
      "type": "Continuous"
      ....
    }
  }
}

復元可能なリソース

新規リソースと API のセットが利用可能であり、以下のようなリソースに関する重要な情報を見つける際に役立ちます。

  • ソースを復元できる場所
  • リソースの復元元にできる場所
  • これらのリソースに対してキー操作が実行されたときのタイムスタンプ

Note

これらのリソースを列挙するために使用されるすべての 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 日間のレベルの場合、この時間は現在から最大 7 日間にすることができます。

復元可能なすべてのアカウントの一覧を取得するには、復元可能なデータベース アカウント - 一覧または復元可能なデータベース アカウント - 場所別の一覧に関する記事を参照してください。

復元可能な SQL データベース

各リソースには、SQL Database で発生した作成や削除などの変更イベントの情報が含まれています。 この情報は、データベースが誤って削除されたときに、そのイベントがいつ発生したのかを調べる必要がある場合に役立ちます。

プロパティ名 説明
eventTimestamp データベースが作成または削除された時刻 (UTC)。
ownerId SQL データベースの名前。
ownerResourceId SQL データベースのリソース ID。
operationType このデータベース イベントの操作の種類。
database イベント発生時の SQL データベースのプロパティ。

Note

operationType に指定できる値は以下のとおりです。

  • Create: データベース作成イベント
  • Delete: データベース削除イベント
  • Replace: データベース変更イベント
  • SystemOperation: システムによってトリガーされたデータベース変更イベント。 このイベントはユーザーによって開始されません

すべてのデータベース変更の一覧を取得するには、復元可能な SQL データベース - 一覧に関する記事を参照してください。

復元可能な SQL コンテナー

各リソースには、SQL コンテナーで発生した作成や削除などの変更イベントの情報が含まれています。 この情報は、コンテナーが変更または削除されたときに、そのイベントがいつ発生したかを調べる必要がある場合に役立ちます。

プロパティ名 説明
eventTimestamp このコンテナー イベントが発生した時刻 (UTC)。
ownerId SQL コンテナーの名前。
ownerResourceId SQL コンテナーのリソース ID。
operationType このコンテナー イベントの操作の種類。
container イベント発生時の SQL コンテナーのプロパティ。

Note

operationType に指定できる値は以下のとおりです。

  • Create: コンテナー作成イベント
  • Delete: コンテナー削除イベント
  • Replace: コンテナー変更イベント
  • SystemOperation: システムによってトリガーされたコンテナー変更イベント。 このイベントはユーザーによって開始されません

同じデータベースにあるすべてのコンテナーの変更の一覧を取得するには、復元可能な SQL コンテナー - 一覧に関する記事を参照してください。

復元可能な SQL リソース

各リソースは、1 つのデータベースと、そのデータベースにあるすべてのコンテナーを表します。

プロパティ名 説明
databaseName SQL データベースの名前。
collectionNames このデータベースにある SQL コンテナーの一覧。

指定のタイムスタンプと場所にあるアカウントに存在する SQL データベースとコンテナーの組み合わせの一覧を取得するには、復元可能な SQL リソース - 一覧に関する記事を参照してください。

復元可能な MongoDB データベース

各リソースには、MongoDB データベースで発生した作成や削除などの変更イベントの情報が含まれています。 この情報は、データベースが誤って削除されたときに、そのイベントがいつ発生したのかをユーザーが調べる必要がある場合に役立ちます。

プロパティ名 説明
eventTimestamp このデータベース イベントが発生した時刻 (UTC)。
ownerId MongoDB データベースの名前。
ownerResourceId MongoDB データベースのリソース ID。
operationType このデータベース イベントの操作の種類。

Note

operationType に指定できる値は以下のとおりです。

  • Create: データベース作成イベント
  • Delete: データベース削除イベント
  • Replace: データベース変更イベント
  • SystemOperation: システムによってトリガーされたデータベース変更イベント。 このイベントはユーザーによって開始されません

すべてのデータベース変更の一覧を取得するには、復元可能な Mongodb データベース - 一覧に関する記事を参照してください。

復元可能な MongoDB コレクション

各リソースには、MongoDB コレクションで発生した作成や削除などの変更イベントの情報が含まれています。 この情報は、コレクションが変更または削除されたときに、そのイベントがいつ発生したのかをユーザーが調べる必要がある場合に役立ちます。

プロパティ名 説明
eventTimestamp このコレクション イベントが発生した時刻 (UTC)。
ownerId MongoDB コレクションの名前。
ownerResourceId MongoDB コレクションのリソース ID。
operationType このコレクション イベントの操作の種類。

Note

operationType に指定できる値は以下のとおりです。

  • Create: コレクション作成イベント
  • Delete: コレクション削除イベント
  • Replace: コレクション変更イベント
  • SystemOperation: システムによってトリガーされたコレクション変更イベント。 このイベントはユーザーによって開始されません

同じデータベースにあるすべてのコンテナーの変更の一覧を取得するには、復元可能な MongoDB リソース - 一覧に関する記事を参照してください。

復元可能な MongoDB リソース

各リソースは、1 つのデータベースと、そのデータベースにあるすべてのコレクションを表します。

プロパティ名 説明
databaseName MongoDB データベースの名前。
collectionNames このデータベースにある MongoDB コレクションの一覧。

指定のタイムスタンプと場所にあるアカウントに存在するすべての MongoDB データベースとコレクションの組み合わせの一覧を取得するには、「復元可能な Mongodb リソース - 一覧」を参照してください。

復元可能なGraphリソース

各リソースは、単一データベースと、そのデータベースにあるすべてのグラフを表します。

プロパティ名 説明
gremlinDatabaseName Graphデータベースの名前。
graphNames このデータベースにあるGraphの一覧。

指定のタイムスタンプと場所にあるアカウントに存在するすべてのGremlinデータベースとグラフの組み合わせの一覧を取得するには、復元可能なGraphリソース - 一覧に関する記事を参照してください。

復元可能なGraphデータベース

各リソースには、Graph データベースで発生した作成や削除などの変更イベントの情報が含まれています。 この情報は、データベースが誤って削除されたときに、そのイベントがいつ発生したのかをユーザーが調べる必要がある場合に役立ちます。

プロパティ名 説明
eventTimestamp このデータベース イベントが発生した時刻 (UTC)。
ownerId Graphデータベースの名前。
ownerResourceId GraphデータベースのリソースID。
operationType このデータベース イベントの操作の種類。

Note

operationType に指定できる値は以下のとおりです。

  • Create: データベース作成イベント
  • Delete: データベース削除イベント
  • Replace: データベース変更イベント
  • SystemOperation: システムによってトリガーされたデータベース変更イベント。 このイベントはユーザーによって開始されません。

Gremlin データベース上のすべての変更のイベントフィードを取得するには、復元可能な Graph データベース - 一覧に関する記事を参照してください。

復元可能なGraph

各リソースには、Graphで発生した作成や削除などの変更イベントの情報が含まれています。 この情報は、グラフが変更または削除されたときに、そのイベントがいつ発生したかを調べる必要がある場合に役立ちます。

プロパティ名 説明
eventTimestamp このコレクション イベントが発生した時刻 (UTC)。
ownerId Graphコレクションの名前。
ownerResourceId GraphコレクションのリソースID。
operationType このコレクション イベントの操作の種類。

Note

operationType に指定できる値は以下のとおりです。

  • Create: Graph 作成イベント
  • Delete: Graph 削除イベント
  • Replace: Graph 変更イベント
  • SystemOperation: システムによってトリガーされたコレクション変更イベント。 このイベントはユーザーによって開始されません。

同じデータベースにあるすべてのコンテナーの変更の一覧を取得するには、グラフ復元可能なGraph - 一覧に関する記事を参照してください。

復元可能なTableリソース

特定のデータベースアカウントで使用可能なすべての復元可能なAzure Cosmos DB Tableを、特定の時刻と場所に一覧表示します。 Table API では明示的なデータベースが指定されていないことに注意してください。

プロパティ名 説明
TableNames このデータベースにあるTableコンテナーの一覧。

指定のタイムスタンプと場所にあるアカウントに存在するTable の一覧を取得するには、復元可能な Table リソース - 一覧に関する記事を参照してください。

復元可能なTable

各リソースには、Tableで発生した作成や削除などの変更イベントの情報が含まれています。 この情報は、テーブルが変更または削除されたときに、そのイベントがいつ発生したかを調べる必要がある場合に役立ちます。

プロパティ名 説明
eventTimestamp このデータベース イベントが発生した時刻 (UTC)。
ownerId Tableデータベースの名前。
ownerResourceId TableリソースのリソースID。
operationType このTableイベントの操作の種類。

Note

operationType に指定できる値は以下のとおりです。

  • Create: Table 作成イベント
  • Delete: Table 削除イベント
  • Replace: Table 変更イベント
  • SystemOperation: システムによってトリガーされたデータベース変更イベント。 このイベントはユーザーによって開始されません

同じデータベースにあるすべてのテーブルの変更の一覧を取得するには、復元可能なTable - 一覧に関する記事を参照してください。

次のステップ