Azure Cosmos DB 時間點還原功能的資源模型
適用於:NoSQL MongoDB Gremlin 桌子
本文說明 Azure Cosmos DB 時間點還原功能的資源模型。 會說明支援連續備份與可供還原的資源的參數。 Azure Cosmos DB API for SQL、Azure Cosmos DB API for Gremlin、Table API 和 Azure Cosmos DB API for MongoDB 支援此功能。
資料庫帳戶的資源模型
資料庫帳戶的資源模型更新了一些額外的屬性,以支援新的還原案例。 這些屬性是 BackupPolicy
、CreateMode
和 RestoreParameters
。
BackupPolicy
backuppolicy
參數下帳戶層級備份原則中有一個名為 Type
的新屬性,可啟用連續備份和時間點還原。 此模式稱為連續備份。 您可以在建立帳戶或將帳戶從定期移轉到連續模式時,設定此模式。 啟用連續模式之後,在此帳戶中建立的所有容器和資料庫預設都會啟用時間點還原和連續備份。 連續備份層可以設定為 Continuous7Days
或 Continuous30Days
。 根據預設,如果未提供任何層級,則會在帳戶上套用 Continuous30Days
。
注意
目前,時間點還原功能適用於 Azure Cosmos DB for NoSQL、API for MongoDB、Table 和 Gremlin 帳戶。 在您建立具有連續模式的帳戶之後,就無法將其切換至定期模式。 Continuous7Days
層目前為預覽狀態。
CreateMode
此屬性會指出帳戶的建立方式。 可能的值為 Default 和 Restore。 若要執行還原,請將此值設定為 Restore,並在 RestoreParameters
屬性中提供適當的值。
publicNetworkAccess
此屬性必須設定為 『Disabled』,才能還原沒有公用網路存取權的帳戶。 如果未提供此屬性,帳戶的還原將會繼續以 publicNetworkAccess 作為 Enabled
。
RestoreParameters
RestoreParameters
資源包含還原作業詳細資料,包括帳戶識別碼、還原時間,以及需要還原的資源。
屬性名稱 | 描述 |
---|---|
restoreMode |
還原模式應為 PointInTime 。 |
restoreSource |
將從中起始還原的來源帳戶 instanceId。 |
restoreTimestampInUtc |
還原帳戶的時間點 (UTC)。 |
databasesToRestore |
物件的 DatabaseRestoreResource 清單,指定應還原的資料庫和容器。 每個資源都代表單一資料庫,以及該資料庫下的所有集合。 如需詳細資訊,請參閱可還原的 SQL 資源。 如果此值為空白,則會還原整個帳戶。 |
gremlinDatabasesToRestore |
物件的 GremlinDatabaseRestoreResource 清單,指定應還原的資料庫和圖表。 每個資源都代表單一資料庫,以及該資料庫下的所有圖表。 如需詳細資訊,請參閱可還原的 Gremlin 資源。 如果此值為空白,則會還原整個帳戶。 |
restoreWithTtlDisabled |
布爾值旗標值 (true/false) 在還原完成時停用還原帳戶中的生存時間。 (預覽版) |
tablesToRestore |
物件的 TableRestoreResource 清單,指定應還原的資料庫和圖表。 每個資源各代表該資料庫底下的一個資料表。 如需詳細資訊,請參閱可還原的資料表資源。 如果此值為空白,則會還原整個帳戶。 |
範例資源
下列 JSON 是已啟用連續備份的範例資料庫帳戶資源:
{
"location": "westus",
"properties": {
"databaseAccountOfferType": "Standard",
"locations": [
{
"failoverPriority": "0",
"locationName": "southcentralus",
"isZoneRedundant": "false"
}
],
"createMode": "Restore",
"publicNetworkAccess":"Disabled",
"restoreParameters": {
"restoreMode": "PointInTime",
"restoreWithTtlDisabled" : "true",
"restoreSource": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/westus/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 天層,此時間會是從現在算起最多 7 天。 |
若要取得所有可還原的帳戶清單,請參閱可還原的資料庫帳戶 - 列出或可還原的資料庫帳戶 - 依位置列出文章。
可還原的 SQL 資料庫
每個資源都包含變動事件的資訊,例如 SQL Database 上發生的建立和刪除。 在不慎刪除資料庫且如果您需要了解該事件發生的時間的情況下,此資訊可能會很有幫助。
屬性名稱 | 描述 |
---|---|
eventTimestamp |
建立或刪除資料庫的時間 (UTC)。 |
ownerId |
SQL 資料庫的名稱。 |
ownerResourceId |
SQL 資料庫的資源識別碼。 |
operationType |
此資料庫事件的作業類型。 |
database |
發生事件時的 SQL 資料庫屬性。 |
注意
operationType
的可能值包括︰
Create
:資料庫建立事件Delete
:資料庫刪除事件Replace
:資料庫修改事件SystemOperation
:由系統觸發的資料庫修改事件。 此事件不是由使用者起始
若要取得所有資料庫變動清單,請參閱可還原的 NoSQL 資料庫 - 列出一文。
可還原的 SQL 容器
每個資源都包含變動事件的資訊,例如 SQL 容器上發生的建立和刪除。 在修改或刪除容器且如果您需要了解該事件發生的時間的情況下,此資訊可能會很有幫助。
屬性名稱 | 描述 |
---|---|
eventTimestamp |
此容器事件發生的時間 (UTC)。 |
ownerId |
SQL 容器的名稱。 |
ownerResourceId |
SQL 容器的資源識別碼。 |
operationType |
此容器事件的作業類型。 |
container |
發生事件時的 SQL 容器屬性。 |
注意
operationType
的可能值包括︰
Create
:容器建立事件Delete
:容器刪除事件Replace
:容器修改事件SystemOperation
:由系統觸發的容器修改事件。 此事件不是由使用者起始
若要取得相同資料庫下的所有容器變動清單,請參閱可還原的 NoSQL 容器 - 列出一文。
可還原的 SQL 資源
每個資源都代表單一資料庫,以及該資料庫下的所有容器。
屬性名稱 | 描述 |
---|---|
databaseName |
SQL 資料庫的名稱。 |
collectionNames |
此資料庫下的 SQL 容器清單。 |
若要取得指定時間戳記和位置之帳戶上存在的 SQL 資料庫和容器組合清單,請參閱可還原的 NoSQL 資源 - 列出一文。
可還原的 MongoDB 資料庫
每個資源都包含變動事件的資訊,例如 MongoDB 資料庫上發生的建立和刪除。 在不慎刪除資料庫且使用者需要了解該事件發生時間的情況下,此資訊可能會很有幫助。
屬性名稱 | 描述 |
---|---|
eventTimestamp |
此資料庫事件發生的時間 (UTC)。 |
ownerId |
MongoDB 資料庫的名稱。 |
ownerResourceId |
MongoDB 資料庫的資源識別碼。 |
operationType |
此資料庫事件的作業類型。 |
注意
operationType
的可能值包括︰
Create
:資料庫建立事件Delete
:資料庫刪除事件Replace
:資料庫修改事件SystemOperation
:由系統觸發的資料庫修改事件。 此事件不是由使用者起始
若要取得所有資料庫變動清單,請參閱可還原的 Mongodb 資料庫 - 列出一文。
可還原的 MongoDB 集合
每個資源都包含變動事件的資訊,例如 MongoDB 集合上發生的建立和刪除。 在修改或刪除集合且使用者需要了解該事件發生時間的情況下,此資訊可能會很有幫助。
屬性名稱 | 描述 |
---|---|
eventTimestamp |
此集合事件發生的時間 (UTC)。 |
ownerId |
MongoDB 集合的名稱。 |
ownerResourceId |
MongoDB 集合的資源識別碼。 |
operationType |
此集合事件的作業類型。 |
注意
operationType
的可能值包括︰
Create
:集合建立事件Delete
:集合刪除事件Replace
:集合修改事件SystemOperation
:由系統觸發的集合修改事件。 此事件不是由使用者起始
若要取得相同資料庫下的所有容器變動清單,請參閱可還原的 MongoDB 資源 - 清單。
可還原的 MongoDB 資源
每個資源都代表單一資料庫,以及該資料庫下的所有集合。
屬性名稱 | 描述 |
---|---|
databaseName |
MongoDB 資料庫的名稱。 |
collectionNames |
此資料庫下的 MongoDB 集合清單。 |
若要取得指定時間戳記和位置之帳戶上存在的所有 MongoDB 資料庫和集合組合清單,請參閱可還原的 MongoDB 資源 - 清單。
可還原的 Graph 資源
每個資源都代表單一資料庫,以及該資料庫下的所有圖表。
屬性名稱 | 描述 |
---|---|
gremlinDatabaseName |
Graph 資料庫的名稱。 |
graphNames |
此資料庫底下的 Graph 清單。 |
若要取得於指定時間戳記和位置的帳戶上存在的所有 Gremlin 資料庫和 Graph 清單,請參閱可還原的 Graph 資源 - 清單一文。
可還原的 Graph 資料庫
每個資源都包含變動事件的資訊,例如 Graph 資料庫上發生的建立和刪除行為。 在不慎刪除資料庫且使用者需要了解該事件發生時間的情況下,此資訊可能會很有幫助。
屬性名稱 | 描述 |
---|---|
eventTimestamp |
此資料庫事件發生的時間 (UTC)。 |
ownerId |
Graph 資料庫的名稱。 |
ownerResourceId |
Graph 資料庫的資源識別碼。 |
operationType |
此資料庫事件的作業類型。 |
注意
operationType
的可能值包括︰
Create
:資料庫建立事件Delete
:資料庫刪除事件Replace
:資料庫修改事件SystemOperation
:由系統觸發的資料庫修改事件。 此事件不是由使用者起始。
若要取得 Gremlin 資料庫上所有變動的事件摘要,請參閱可還原的圖形資料庫 - 清單。
可還原的 Graph
每個資源都包含變動事件的資訊,例如 Graph 上發生的建立和刪除。 若 Graph 遭到修改或刪除,且您需要了解該事件發生時的情境,此資訊可能會很有幫助。
屬性名稱 | 描述 |
---|---|
eventTimestamp |
此集合事件發生的時間 (UTC)。 |
ownerId |
Graph 集合的名稱。 |
ownerResourceId |
Graph 集合的資源識別碼。 |
operationType |
此集合事件的作業類型。 |
注意
operationType
的可能值包括︰
Create
:Graph 建立事件Delete
:Graph 刪除事件Replace
:Graph 修改事件SystemOperation
:由系統觸發的集合修改事件。 此事件不是由使用者起始。
若要取得相同資料庫下所有容器變動清單,請參閱可還原的 Graph - 清單一文。
可還原的資料表資源
列出可供特定資料庫帳戶於指定時間和位置使用的所有可還原 Azure Cosmos DB 資料庫資料表。 請注意,適用於資料表的 API 未指定明確的資料庫。
屬性名稱 | 描述 |
---|---|
TableNames |
此帳戶下的資料表容器清單。 |
若要取得於指定時間戳記和位置的帳戶上存在的資料表清單,請參閱可還原的資料表資源 - 清單一文。
可還原的資料表
每個資源都包含變動事件的資訊,例如資料表上發生的建立和刪除。 若資料表遭到修改或刪除,且您需要了解該事件發生時的情境,此資訊可能會很有幫助。
屬性名稱 | 描述 |
---|---|
eventTimestamp |
此資料庫事件發生的時間 (UTC)。 |
ownerId |
資料表資料庫的名稱。 |
ownerResourceId |
資料表資源的資源識別碼。 |
operationType |
此資料表事件的作業類型。 |
注意
operationType
的可能值包括︰
Create
:資料表建立事件Delete
:資料表刪除事件Replace
:資料表修改事件SystemOperation
:由系統觸發的資料庫修改事件。 此事件不是由使用者起始
若要取得相同資料庫下的所有資料表變動清單,請參閱可還原的資料表 - 清單一文。
下一步
- 使用 Azure 入口網站、PowerShell、CLI 或 Azure Resource Manager 佈建連續備份。
- 使用 Azure 入口網站、PowerShell、CLI 或 Azure Resource Manager 來還原帳戶。
- 將帳戶從定期備份遷移到連續備份。
- 管理以連續備份模式還原資料所需的權限。