È possibile ripristinare i contenitori e i database eliminati usando un modello di Azure Resource Manager.
Creare o individuare una risorsa di Azure Cosmos DB nel modello. Ecco un esempio generico di risorsa:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "msdocs-example-arm",
"type": "Microsoft.DocumentDB/databaseAccounts",
"apiVersion": "2022-02-15-preview",
"location": "West US",
"properties": {
"locations": [
{
"locationName": "West US"
}
],
"backupPolicy": {
"type": "Continuous"
},
"databaseAccountOfferType": "Standard"
}
}
]
}
Per aggiornare la risorsa di Azure Cosmos DB nel modello:
- Impostare
properties.createMode
su restore
.
- Definire un oggetto
properties.restoreParameters
.
- Impostare
properties.restoreParameters.restoreTimestampInUtc
su un timestamp UTC.
- Impostare
properties.restoreParameters.restoreSource
sull'identificatore dell'istanza dell'account che è l'origine dell'operazione di ripristino.
{
"properties": {
"name": "<name-of-database-or-container>",
"restoreParameters": {
"restoreSource": "<source-account-instance-id>",
"restoreTimestampInUtc": "<timestamp>",
"restoreWithTtlDisabled": "true"
},
"createMode": "Restore"
}
}
Per ripristinare un contenitore sql, aggiornare il modello seguente nel modo seguente:
- Impostare resources.name su
<accountname>/databasename>/<containername>
- Impostare resources.properties.resource.createMode da ripristinare.
- Impostare resources.properties.resource.restoreParameters.id nome del contenitore.
- Impostare resources.properties.resource.restoreParameters.restoreTimestampInUtc su un timestamp UTC.
- Impostare resources.properties.resource.restoreParameters.restoreSource sull'identificatore dell'istanza dell'account che rappresenta l'origine dell'operazione di ripristino.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources":[{
"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers",
"apiVersion": "2023-11-15",
"name": "<accountname>/<databasename>/<containername>",
"properties": {
"resource": {
"id": "<containername>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionid>/providers/Microsoft.DocumentDB/locations/<lowercaselocationwithoutspace>/restorableDatabaseAccounts/<databaseaccountinstanceId>",
"restoreTimestampInUtc": "<restore timestamp is utc iso format>"
},
"createMode": "Restore"
}
}
}
]
}
Per ripristinare un database SQL, aggiornare il modello seguente nel modo seguente:
- Impostare resources.name su
<accountname>/databasename>
- Impostare resources.properties.resource.createMode da ripristinare.
- Impostare resources.properties.resource.restoreParameters.id nome del database.
- Impostare resources.properties.resource.restoreParameters.restoreTimestampInUtc su un timestamp UTC.
- Impostare resources.properties.resource.restoreParameters.restoreSource sull'identificatore dell'istanza dell'account che rappresenta l'origine dell'operazione di ripristino.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases",
"apiVersion": "2023-11-15",
"name": "<account name>/<database name>",
"properties": {
"resource": {
"id": "<database name>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionId>/providers/Microsoft.DocumentDB/locations/<location>/restorableDatabaseAccounts/<databaseaccountinstanceid>",
"restoreTimestampInUtc": "restore timestamp"
},
"createMode": "Restore"
}
}
}
]
}
{
"properties": {
"name": "<name-of-database-or-collection>",
"restoreParameters": {
"restoreSource": "<source-account-instance-id>",
"restoreTimestampInUtc": "<timestamp>",
"restoreWithTtlDisabled": "true"
},
"createMode": "Restore"
}
}
Per ripristinare una raccolta mongo, aggiornare il modello seguente nel modo seguente:
- Impostare resources.name su
<accountname>/databasename>/<collectionname>
- Impostare resources.properties.resource.createMode da ripristinare.
- Impostare resources.properties.resource.restoreParameters.id nome della raccolta.
- Impostare resources.properties.resource.restoreParameters.restoreTimestampInUtc su un timestamp UTC.
- Impostare resources.properties.resource.restoreParameters.restoreSource sull'identificatore dell'istanza dell'account che rappresenta l'origine dell'operazione di ripristino.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/ mongoDBDatabases/collections",
"apiVersion": "2023-11-15",
"name": "<accountname>/<databasename>/<collectionname>",
"properties": {
"resource": {
"id": "<collectionname>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionid>/providers/Microsoft.DocumentDB/locations/<lowercaselocationwithoutspace>/restorableDatabaseAccounts/<databaseaccountinstanceId>",
"restoreTimestampInUtc": "<restore timestamp is utc iso format>"
},
"createMode": "Restore"
}
}
}
]
}
Per ripristinare un database mongo, aggiornare il modello seguente nel modo seguente:
- Impostare resources.name su
<accountname>/databasename>
- Impostare resources.properties.resource.createMode da ripristinare.
- Impostare resources.properties.resource.restoreParameters.id nome del database.
- Impostare resources.properties.resource.restoreParameters.restoreTimestampInUtc su un timestamp UTC.
- Impostare resources.properties.resource.restoreParameters.restoreSource sull'identificatore dell'istanza dell'account che rappresenta l'origine dell'operazione di ripristino.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/mongoDBDatabases",
"apiVersion": "2023-11-15",
"name": "<account name>/<database name>",
"properties": {
"resource": {
"id": "<database name>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionId>/providers/Microsoft.DocumentDB/locations/<location>/restorableDatabaseAccounts/<databaseaccountinstanceid>",
"restoreTimestampInUtc": "restore timestamp"
},
"createMode": "Restore"
}
}
}
]
}
{
"properties": {
"name": "<name-of-database-or-graph>",
"restoreParameters": {
"restoreSource": "<source-account-instance-id>",
"restoreTimestampInUtc": "<timestamp>",
"restoreWithTtlDisabled": "true"
},
"createMode": "Restore"
}
}
Per ripristinare un grafo gremlin, aggiornare il modello seguente nel modo seguente:
- Impostare resources.name su
<accountname>/databasename>/<graphname>
- Impostare resources.properties.resource.createMode da ripristinare.
- Impostare resources.properties.resource.restoreParameters.id nome del grafo.
- Impostare resources.properties.resource.restoreParameters.restoreTimestampInUtc su un timestamp UTC.
- Impostare resources.properties.resource.restoreParameters.restoreSource sull'identificatore dell'istanza dell'account che rappresenta l'origine dell'operazione di ripristino.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs",
"apiVersion": "2023-11-15",
"name": "<accountname>/<databasename>/<graphname>",
"properties": {
"resource": {
"id": "<graphname>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionid>/providers/Microsoft.DocumentDB/locations/<lowercaselocationwithoutspace>/restorableDatabaseAccounts/<databaseaccountinstanceId>",
"restoreTimestampInUtc": "<restore timestamp is utc iso format>"
},
"createMode": "Restore"
}
}
}
]
}
Per ripristinare un database gremlin, aggiornare il modello seguente come segue:
- Impostare resources.name su
<accountname>/databasename>
- Impostare resources.properties.resource.createMode da ripristinare.
- Impostare resources.properties.resource.restoreParameters.id nome del database.
- Impostare resources.properties.resource.restoreParameters.restoreTimestampInUtc su un timestamp UTC.
- Impostare resources.properties.resource.restoreParameters.restoreSource sull'identificatore dell'istanza dell'account che rappresenta l'origine dell'operazione di ripristino.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases",
"apiVersion": "2023-11-15",
"name": "<account name>/<database name>",
"properties": {
"resource": {
"id": "<database name>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionId>/providers/Microsoft.DocumentDB/locations/<location>/restorableDatabaseAccounts/<databaseaccountinstanceid>",
"restoreTimestampInUtc": "restore timestamp"
},
"createMode": "Restore"
}
}
}
]
}
{
"properties": {
"name": "<name-of-table>",
"restoreParameters": {
"restoreSource": "<source-account-instance-id>",
"restoreTimestampInUtc": "<timestamp>",
"restoreWithTtlDisabled": "true"
},
"createMode": "Restore"
}
}
Per ripristinare una tabella, aggiornare il modello seguente nel modo seguente:
- Impostare resources.name su
<accountname>/tablename>
- Impostare resources.properties.resource.createMode da ripristinare.
- Impostare resources.properties.resource.restoreParameters.id nome della tabella.
- Impostare resources.properties.resource.restoreParameters.restoreTimestampInUtc su un timestamp UTC.
- Impostare resources.properties.resource.restoreParameters.restoreSource sull'identificatore dell'istanza dell'account che rappresenta l'origine dell'operazione di ripristino.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/tables",
"apiVersion": "2023-11-15",
"name": "<account name>/<table name>",
"properties": {
"resource": {
"id": "<table name>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionId>/providers/Microsoft.DocumentDB/locations/<location>/restorableDatabaseAccounts/<databaseaccountinstanceid>",
"restoreTimestampInUtc": "restore timestamp"
},
"createMode": "Restore"
}
}
}
]
}
Distribuire il modello usando az deployment group create:
az deployment group create \
--resource-group <resource-group-name> \
--template-file <template-filename>