Obnovení účtu služby Azure Cosmos DB, který používá režim průběžného zálohování

Funkce obnovení k určitému bodu v čase ve službě Azure Cosmos DB pomáhá obnovit z náhodné změny v rámci kontejneru, obnovit odstraněný účet, databázi nebo kontejner nebo obnovit do libovolné oblasti (kde existovaly zálohy). V režimu průběžného zálohování můžete provést obnovení k určitému bodu v čase během posledních 30 dnů.

Tento článek popisuje, jak identifikovat čas obnovení a obnovit živý nebo odstraněný účet služby Azure Cosmos DB. Ukazuje, jak obnovit účet pomocí webu Azure Portal, PowerShellu, rozhraní příkazového řádku nebo šablony Azure Resource Manageru.

Note

Obnovení ze satelitního regionu je pomalejší v porovnání s obnovením v centrálním regionu pro účet s více regiony, aby se vyřešily místní předběžné zápisy po jejich potvrzení nebo očekává provedení akce k jejich vrácení.

Obnovení účtu pomocí webu Azure Portal

Obnovení aktivního účtu po náhodné úpravě

Azure Portal můžete použít k obnovení celého živého účtu nebo vybraných databází a kontejnerů. K obnovení dat použijte následující postup:

  1. Přihlaste se do Azure Portalu.

  2. Přejděte do svého účtu služby Azure Cosmos DB a otevřete sekci Obnovení k určitému bodu v čase.

    Note

    Sekce obnovení v Azure Portal se vyplní jenom v případě, že máte Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read oprávnění. Další informace o nastavení tohoto oprávnění najdete v článku o oprávněních zálohování a obnovení.

  3. Zadejte následující podrobnosti:

    • Bod obnovení (UTC) – časové razítko za posledních 30 dnů. Účet má existovat v daném časovém bodě. Bod obnovení můžete zadat v UTC. Pokud ho chcete obnovit, může být to časově přesné na sekundu. Kliknutím sem získáte nápovědu k identifikaci bodu obnovení.

    • Umístění – cílová oblast, do které se účet obnoví. Účet by měl existovat v této oblasti v daném časovém razítku (například USA – západ nebo USA – východ). Účet lze obnovit pouze do oblastí, ve kterých existoval zdrojový účet.

    • Obnovit prostředek – Můžete zvolit buď celý účet , nebo vybranou databázi nebo kontejner , který chcete obnovit. Databáze a kontejnery by měly existovat v daném časovém okamžiku. Na základě vybraného bodu obnovení a umístění se naplní prostředky obnovení, což uživateli umožňuje vybrat konkrétní databáze nebo kontejnery, které je potřeba obnovit.

    • Skupina prostředků – Skupina prostředků , ve které se vytvoří a obnoví cílový účet. Skupina prostředků už musí existovat.

    • Obnovit cílový účet – název cílového účtu. Název cílového účtu musí dodržovat stejné pokyny jako při vytváření nového účtu. Tento účet se vytvoří procesem obnovení ve stejné oblasti, ve které existuje váš zdrojový účet.

    Obnovení živého účtu z náhodné změny webu Azure Portal

  4. Po výběru výše uvedených parametrů vyberte tlačítko Odeslat a spusťte obnovení. Náklady na obnovení jsou jednorázové poplatky, které vycházejí z velikosti dat a nákladů na úložiště záloh ve vybrané oblasti. Další informace najdete v části Ceny .

Odstranění zdrojového účtu v době, kdy probíhá obnovení, může vést k selhání obnovení.

Obnovitelné časové razítko pro živé účty

Pokud chcete obnovit živé účty Azure Cosmos DB, které se neodstraní, doporučujeme vždy identifikovat nejnovější obnovovatelné časové razítko kontejneru. Toto časové razítko pak můžete použít k obnovení účtu na nejnovější verzi.

Pomocí událostního kanálu identifikujte čas obnovení

Při vyplňování času bodu obnovení v Azure portálu, pokud potřebujete pomoc s identifikací bodu obnovení, vyberte odkaz Zde klikněte, který vás přenese na stránku informačního kanálu událostí. Informační kanál událostí poskytuje podrobný seznam událostí vytváření, nahrazování a odstraňování v databázích a kontejnerech účtu zdroje.

Pokud například chcete obnovit bod před odstraněním nebo aktualizací určitého kontejneru, zkontrolujte tento informační kanál událostí. Události se zobrazují chronologicky sestupně v čase, kdy došlo k jejich výskytu, s nedávnými událostmi v horní části. Výsledky můžete procházet a vybrat čas před událostí nebo po této události a zúžit tak čas.

K identifikaci času bodu obnovení použijte kanál událostí.

Note

Informační kanál událostí nezobrazuje změny zdrojů položek. Vždy můžete ručně zadat jakékoli časové razítko za posledních 30 dnů (pokud účet v té době existuje) pro obnovení.

Obnovení odstraněného účtu

K úplnému obnovení odstraněného účtu můžete použít Azure Portal do 30 dnů od jeho odstranění. K obnovení odstraněného účtu použijte následující postup:

  1. Přihlaste se do Azure Portalu.

  2. Na globálním panelu hledání vyhledejte prostředky Azure Cosmos DB . Zobrazí seznam všech vašich stávajících účtů.

  3. Pak vyberte tlačítko Obnovit . V části Obnovit se zobrazí seznam odstraněných účtů, které je možné obnovit během doby uchovávání, což je 30 dnů od času odstranění.

  4. Zvolte účet, který chcete obnovit.

    Obnovení odstraněného účtu z webu Azure Portal

    Note

    Sekce obnovení v Azure Portal se vyplní jenom v případě, že máte Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read oprávnění. Další informace o nastavení tohoto oprávnění najdete v článku o oprávněních zálohování a obnovení.

  5. Vyberte účet, který chcete obnovit, a zadejte následující podrobnosti pro obnovení odstraněného účtu:

    • Bod obnovení (UTC) – časové razítko za posledních 30 dnů. Účet měl v daném časovém okamžiku již existovat. Zadejte bod obnovení ve standardu UTC. Pokud ho chcete obnovit, může být to časově přesné na sekundu.

    • Umístění – cílová oblast, do které je potřeba účet obnovit. Zdrojový účet by měl být dostupný v této oblasti v určený čas. Příklad USA – západ nebo USA – východ

    • Skupina prostředků – Skupina prostředků , ve které se vytvoří a obnoví cílový účet. Skupina prostředků už musí existovat.

    • Obnovit cílový účet – Název cílového účtu musí dodržovat stejné pokyny jako při vytváření nového účtu. Tento účet se vytvoří procesem obnovení ve stejné oblasti, ve které existuje váš zdrojový účet.

Sledování stavu operace obnovení

Po zahájení operace obnovení vyberte ikonu zvonku Oznámení v pravém horním rohu portálu. Poskytuje odkaz zobrazující stav obnovovaného účtu. Během obnovení se stav účtu vytvoří, jakmile se operace obnovení dokončí, stav účtu se změní na Online.

Po dokončení operace se stav obnoveného účtu změní z vytváření na online.

Získat podrobnosti obnovení z obnoveného účtu

Po dokončení operace obnovení můžete chtít znát podrobnosti o zdrojovém účtu, ze kterého jste obnovili, nebo čas obnovení.

Pomocí následujících kroků získejte podrobnosti o obnovení z webu Azure Portal:

  1. Přihlaste se k webu Azure Portal a přejděte na obnovený účet.

  2. Přejděte do podokna Exportovat šablonu . Otevře šablonu JSON odpovídající obnoveným účtům.

Obnovení účtu pomocí Azure PowerShellu

Před obnovením účtu nainstalujte nejnovější verzi Azure PowerShellu nebo verze vyšší než 9.6.0. Pak se připojte ke svému účtu Azure a vyberte požadované předplatné pomocí následujících příkazů:

  1. Přihlaste se k Azure pomocí následujícího příkazu:

    Connect-AzAccount
    
  2. Pomocí následujícího příkazu vyberte konkrétní předplatné:

    Select-AzSubscription -Subscription <SubscriptionName>
    

Spusťte operaci obnovení pro účet API pro NoSQL

Následující rutina je příkladem aktivace operace obnovení pomocí příkazu restore pomocí cílového účtu, zdrojového účtu, umístění, skupiny prostředků, PublicNetworkAccess, DisableTtl a časového razítka:


Restore-AzCosmosDBAccount `
  -TargetResourceGroupName "MyRG" `
  -TargetDatabaseAccountName "RestoredAccountName" `
  -SourceDatabaseAccountName "SourceDatabaseAccountName" `
  -RestoreTimestampInUtc "UTCTime" `
  -Location "AzureRegionName" ` 
  -PublicNetworkAccess Disabled `
  -DisableTtl $true

Příklad 1: Obnovení celého účtu:


Restore-AzCosmosDBAccount `
  -TargetResourceGroupName "MyRG" `
  -TargetDatabaseAccountName "Pitracct" `
  -SourceDatabaseAccountName "source-sql" `
  -RestoreTimestampInUtc "2021-01-05T22:06:00" `
  -Location "West US" `
  -PublicNetworkAccess Disabled
  -DisableTtl $false


Pokud není PublicNetworkAccess nastaveno, obnovený účet je přístupný z veřejné sítě. Ujistěte se, že předáte Disabled do volby PublicNetworkAccess, abyste zakázali přístup k veřejné síti pro obnovený účet. Pokud nastavíte DisableTtl na $true, zajistíte tím, že hodnota TTL bude při obnovení účtu zakázána. Pokud tento parametr neuvedete a TTL bylo dříve nastaveno, účet bude obnoven s povoleným TTL.

Note

Pro obnovení s zakázaným přístupem k veřejné síti je minimální stabilní verze Az.CosmosDB 1.12.0.

Příklad 2: Obnovení konkrétních kolekcí a databází Tento příklad obnoví kolekce MyCol1, MyCol2 z MyDB1 a celou databázi MyDB2, která zahrnuje všechny kontejnery v něm.

$datatabaseToRestore1 = New-AzCosmosDBDatabaseToRestore -DatabaseName "MyDB1" -CollectionName "MyCol1", "MyCol2"
$datatabaseToRestore2 = New-AzCosmosDBDatabaseToRestore -DatabaseName "MyDB2"

Restore-AzCosmosDBAccount `
  -TargetResourceGroupName "MyRG" `
  -TargetDatabaseAccountName "Pitracct" `
  -SourceDatabaseAccountName "SourceSql" `
  -RestoreTimestampInUtc "2021-01-05T22:06:00" `
  -DatabasesToRestore $datatabaseToRestore1, $datatabaseToRestore2 `
  -Location "West US"

Příklad 3: Obnovení rozhraní API pro účet Gremlin Tento příklad obnoví grafy 1, graf2 z MyDB1 a celou databázi MyDB2, která zahrnuje všechny kontejnery v ní.

$datatabaseToRestore1 = New-AzCosmosDBGremlinDatabaseToRestore  -DatabaseName "MyDB1" -GraphName "graph1", "graph2"  
$datatabaseToRestore2 = New-AzCosmosDBGremlinDatabaseToRestore  -DatabaseName "MyDB2"

Restore-AzCosmosDBAccount `
  -TargetResourceGroupName "MyRG" `
  -TargetDatabaseAccountName "Pitracct" `
  -SourceDatabaseAccountName "SourceGremlin" `
  -RestoreTimestampInUtc "2022-04-05T22:06:00" `
  -DatabasesToRestore $datatabaseToRestore1, $datatabaseToRestore2 `
  -Location "West US"

Příklad 4: Obnovení rozhraní API pro účet tabulky Tento příklad obnoví tabulku table1, table1 z MyDB1.

$tablesToRestore  = New-AzCosmosDBTableToRestore -TableName "table1", "table2"  

Restore-AzCosmosDBAccount `
  -TargetResourceGroupName "MyRG" `
  -TargetDatabaseAccountName "Pitracct" `
  -SourceDatabaseAccountName "SourceTable" `
  -RestoreTimestampInUtc "2022-04-06T22:06:00" `
  -TablesToRestore $tablesToRestore ` 
  -Location "West US"

Obnovení průběžného účtu, který je nakonfigurovaný se spravovanou identitou pomocí rozhraní příkazového řádku

Pokud chcete obnovit průběžný účet klíče spravovaného zákazníkem (CMK), projděte si postup uvedený tady.

Získat podrobnosti obnovení z obnoveného účtu

Importujte Az.CosmosDB modul verze 1.12.0 a spuštěním následujícího příkazu získejte podrobnosti o obnovení. RestoreTimestamp bude pod objektem restoreParameters:

Get-AzCosmosDBAccount -ResourceGroupName MyResourceGroup -Name MyCosmosDBDatabaseAccount 

Vytvoření výčtu obnovitelných prostředků pro rozhraní API pro NoSQL

Rutiny výčtu pomáhají zjistit prostředky, které jsou k dispozici pro obnovení v různých časových razítkech. Kromě toho poskytují také kanál klíčových událostí v obnovovatelném účtu, databázi a prostředcích kontejneru.

Výpis všech účtů, které je možné obnovit v aktuálním předplatném

Spuštěním příkazu PowerShellu Get-AzCosmosDBRestorableDatabaseAccount zobrazte seznam všech účtů, které je možné obnovit v aktuálním předplatném.

Odpověď zahrnuje všechny databázové účty (živé i odstraněné), které je možné obnovit, a oblasti, ze kterých se dají obnovit.

{
    "accountName": "SampleAccount",
    "apiType": "Sql",
    "creationTime": "2020-08-08T01:04:52.070190+00:00",
    "deletionTime": null,
    "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    "identity": null,
    "location": "West US",
    "name": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    "restorableLocations": [
      {
        "creationTime": "2020-08-08T01:04:52.945185+00:00",
        "deletionTime": null,
        "location": "West US",
        "regionalDatabaseAccountInstanceId": "30701557-ecf8-43ce-8810-2c8be01dccf9"
      },
      {
        "creationTime": "2020-08-08T01:15:43.507795+00:00",
        "deletionTime": null,
        "location": "East US",
        "regionalDatabaseAccountInstanceId": "8283b088-b67d-4975-bfbe-0705e3e7a599"
      }
    ],
    "tags": null,
    "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts"
  }

Stejně jako CreationTime nebo DeletionTime pro účet, existuje také CreationTime nebo DeletionTime pro oblast. Tyto možnosti vám umožňují vybrat správný region a platný časový rozsah pro obnovení v této oblasti.

Výpis všech verzí databází SQL v účtu živé databáze

Výpis všech verzí databází umožňuje zvolit správnou databázi ve scénáři, ve kterém je skutečná doba existence databáze neznámá.

Spuštěním následujícího příkazu PowerShellu zobrazte seznam všech verzí databází. Tento příkaz funguje jenom s živými účty. Parametry DatabaseAccountInstanceId a Location jsou získány z vlastností name a location v odpovědi z rutiny Get-AzCosmosDBRestorableDatabaseAccount. Atribut DatabaseAccountInstanceId odkazuje na instanceId vlastnost obnoveného zdrojového databázového účtu:


Get-AzCosmosdbSqlRestorableDatabase `
  -Location "East US" `
  -DatabaseAccountInstanceId <DatabaseAccountInstanceId>

Výpis všech verzí kontejnerů SQL databáze v účtu živé databáze

Pomocí následujícího příkazu zobrazíte seznam všech verzí kontejnerů SQL. Tento příkaz funguje jenom s živými účty. Parametr DatabaseRId je ResourceId databáze, kterou chcete obnovit. Je to hodnota atributu ownerResourceid nalezená v odpovědi rutiny Get-AzCosmosdbSqlRestorableDatabase . Odpověď obsahuje také seznam operací prováděných se všemi kontejnery uvnitř této databáze.


Get-AzCosmosdbSqlRestorableContainer `
  -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
  -DatabaseRId "AoQ13r==" `
  -Location "West US"

Najít databáze nebo kontejnery, které lze obnovit k libovolnému časovému bodu.

Pomocí následujícího příkazu získáte seznam databází nebo kontejnerů, které je možné obnovit v libovolném časovém razítku. Tento příkaz funguje jenom s živými účty.


Get-AzCosmosdbSqlRestorableResource `
  -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
  -Location "West US" `
  -RestoreLocation "East US" `
  -RestoreTimestamp "2020-07-20T16:09:53+0000"

Vytvoření výčtu obnovitelných prostředků v rozhraní API pro MongoDB

Příkazy enumerace popsané níže vám pomůžou zjistit prostředky, které jsou k dispozici pro obnovení v různých časových intervalech. Kromě toho poskytují také kanál klíčových událostí v obnovovatelném účtu, databázi a prostředcích kontejneru. Tyto příkazy fungují jenom pro živé účty a jsou podobné příkazům API for NoSQL, ale v MongoDB názvu příkazu místo sql.

Výpis všech verzí databází MongoDB v účtu živé databáze


Get-AzCosmosdbMongoDBRestorableDatabase `
  -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
  -Location "West US"

Výpis všech verzí kolekcí databáze MongoDB v aktivním účtu databáze


Get-AzCosmosdbMongoDBRestorableCollection `
  -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
  -DatabaseRId "AoQ13r==" `
  -Location "West US"

Seznam všech prostředků účtu databáze MongoDB, které jsou k dispozici k obnovení v konkrétním časovém okamžiku a oblasti.


Get-AzCosmosdbMongoDBRestorableResource `
  -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
  -Location "West US" `
  -RestoreLocation "West US" `
  -RestoreTimestamp "2020-07-20T16:09:53+0000"

Seznam obnovitelných zdrojů pro API Gremlin

Rutiny výčtu pomáhají zjistit prostředky, které jsou k dispozici pro obnovení v různých časových razítkech. Kromě toho poskytují také přehled klíčových událostí u obnovitelného účtu, databáze a grafových prostředků.

Výpis všech verzí databází Gremlin v účtu živé databáze

Výpis všech verzí databází umožňuje zvolit správnou databázi ve scénáři, ve kterém je skutečná doba existence databáze neznámá. Spuštěním následujícího příkazu PowerShellu zobrazte seznam všech verzí databází. Tento příkaz funguje jenom s živými účty. Parametry DatabaseAccountInstanceId a Location jsou získány z vlastností name a location v odpovědi z rutiny Get-AzCosmosDBRestorableDatabaseAccount. Atribut DatabaseAccountInstanceId odkazuje na instanceId vlastnost obnoveného zdrojového databázového účtu:

Get-AzCosmosdbGremlinRestorableDatabase ` 
   -Location "East US" ` 
   -DatabaseAccountInstanceId <DatabaseAccountInstanceId> 

Výpis všech verzí grafů Gremlin databáze v účtu živé databáze

Pomocí následujícího příkazu zobrazte seznam všech verzí rozhraní API pro grafy Gremlin. Tento příkaz funguje jenom s živými účty. Parametr DatabaseRId je ResourceId databáze, kterou chcete obnovit. Je to hodnota atributu ownerResourceid nalezená v odpovědi rutiny Get-AzCosmosdbGremlinRestorableDatabase . Odpověď obsahuje také seznam operací provedených ve všech grafech v této databázi.

Get-AzCosmosdbGremlinRestorableGraph ` 
   -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" ` 
   -DatabaseRId "AoQ13r==" ` 
   -Location "West US" 

Vyhledejte databáze nebo grafy, které je možné obnovit v libovolném časovém razítku.

Pomocí následujícího příkazu získáte seznam databází nebo grafů, které je možné obnovit v libovolném časovém razítku. Tento příkaz funguje jenom s živými účty.

Get-AzCosmosdbGremlinRestorableResource ` 
   -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" ` 
   -Location "West US" ` 
   -RestoreLocation "East US" ` 
   -RestoreTimestamp "2020-07-20T16:09:53+0000" 

Vyčíslení obnovitelných zdrojů pro API pro tabulky

Rutiny výčtu pomáhají zjistit prostředky, které jsou k dispozici pro obnovení v různých časových razítkech. Kromě toho poskytují také informační kanál klíčových událostí na obnovovatelných účtech a prostředcích tabulek.

Výpis všech verzí tabulek databáze v účtu živé databáze

Pomocí následujícího příkazu zobrazíte seznam všech verzí tabulek. Tento příkaz funguje jenom s živými účty.

Get-AzCosmosdbTableRestorableTable ` 
   -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68"   ` 
   -Location "West US" 

Vyhledání tabulek, které je možné obnovit v daném časovém okamžiku

Pomocí následujícího příkazu získáte seznam tabulek, které lze obnovit v libovolném časovém bodu. Tento příkaz funguje jenom s živými účty.

Get-AzCosmosdbTableRestorableResource ` 
   -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" ` 
   -Location "West US" ` 
   -RestoreLocation "East US" ` 
   -RestoreTimestamp "2020-07-20T16:09:53+0000" 

Obnovení účtu pomocí Azure CLI

Před obnovením účtu nainstalujte Azure CLI pomocí následujících kroků:

  1. Instalace nejnovější verze Azure CLI

    • Nainstalujte nejnovější verzi Azure CLI nebo novější než 2.52.0.
    • Pokud jste už rozhraní příkazového řádku nainstalovali, spusťte az upgrade příkaz pro aktualizaci na nejnovější verzi. Tento příkaz bude fungovat pouze s verzí CLI novější než 2.52.0. Pokud máte starší verzi, nainstalujte nejnovější verzi pomocí výše uvedeného odkazu.
  2. Přihlaste se a vyberte své předplatné.

    • Přihlaste se ke svému účtu Azure pomocí az login příkazu.
    • Vyberte požadované předplatné pomocí az account set -s <subscriptionguid> příkazu.

Aktivace operace obnovení pomocí Azure CLI

Nejjednodušší způsob, jak aktivovat obnovení, je vydáním příkazu pro obnovení s názvem cílového účtu, zdrojového účtu, umístění, skupiny prostředků, časového razítka (v UTC) a volitelně názvy databází a kontejnerů. Tady je několik příkladů, jak aktivovat operaci obnovení:

Vytvoření nového účtu služby Azure Cosmos DB obnovením z existujícího účtu


az cosmosdb restore \
 --target-database-account-name <MyRestoredCosmosDBDatabaseAccount> \
 --account-name <MySourceAccount> \
 --restore-timestamp 2020-07-13T16:03:41+0000 \
 --resource-group <TargetResourceGroup> \
 --location "West US" \
 --public-network-access Disabled \
 --disable-ttl True 

Pokud --public-network-access není nastavený, obnovený účet je přístupný z veřejné sítě. Nezapomeňte nastavit Disabled jako možnost --public-network-access pro zamezení přístupu k veřejné síti pro obnovený účet. Nastavení disable-ttl na $true zajišťuje, že hodnota TTL je u obnoveného účtu zakázaná, a pokud tento parametr není zadán, účet bude obnoven s povoleným TTL, pokud byl nastaven dříve.

Note

Pro obnovení s zakázaným přístupem k veřejné síti je minimální stabilní verze azure-cli 2.52.0.

Vytvoření nového účtu služby Azure Cosmos DB obnovením pouze vybraných databází a kontejnerů z existujícího databázového účtu


az cosmosdb restore \
 --resource-group MyResourceGroup \
 --target-database-account-name MyRestoredCosmosDBDatabaseAccount \
 --account-name MySourceAccount \
 --restore-timestamp 2020-07-13T16:03:41+0000 \
 --location "West US" \
 --databases-to-restore name=MyDB1 collections=Collection1 Collection2 \
 --databases-to-restore name=MyDB2 collections=Collection3 Collection4

Vytvoření nového účtu rozhraní API služby Azure Cosmos DB pro účet Gremlin obnovením pouze vybraných databází a grafů z existujícího rozhraní API pro účet Gremlin


az cosmosdb restore \
 --resource-group MyResourceGroup \
 --target-database-account-name MyRestoredCosmosDBDatabaseAccount \
 --account-name MySourceAccount \
 --restore-timestamp 2022-04-13T16:03:41+0000 \
 --location "West US" \
 --gremlin-databases-to-restore name=MyDB1 graphs=graph1 graph2 \
 --gremlin-databases-to-restore name=MyDB2 graphs =graph3 graph4 

Vytvořte nové rozhraní API služby Azure Cosmos DB pro tabulky obnovením pouze vybraných tabulek z existujícího rozhraní API pro tabulky.


az cosmosdb restore \
 --resource-group MyResourceGroup \
 --target-database-account-name MyRestoredCosmosDBDatabaseAccount \
 --account-name MySourceAccount \
 --restore-timestamp 2022-04-14T06:03:41+0000 \
 --location "West US" \
 --tables-to-restore table1 table2 

Získat podrobnosti obnovení z obnoveného účtu

Spuštěním následujícího příkazu získejte podrobnosti o obnovení. Výstup az cosmosdb show příkazu zobrazuje hodnotu createMode vlastnosti. Pokud je hodnota nastavená na Obnovit, znamená to, že se účet obnovil z jiného účtu. Vlastnost restoreParameters obsahuje další podrobnosti, například restoreSource, která má ID zdrojového účtu. Poslední GUID v parametru restoreSource je instanceId zdrojového účtu. A restoreTimestamp bude pod objektem restoreParameters

az cosmosdb show --name MyCosmosDBDatabaseAccount --resource-group MyResourceGroup

Vytvoření výčtu obnovitelných prostředků pro rozhraní API pro NoSQL

Příkazy enumerace popsané níže vám pomůžou zjistit prostředky, které jsou k dispozici pro obnovení v různých časových intervalech. Kromě toho poskytují také kanál klíčových událostí v obnovovatelném účtu, databázi a prostředcích kontejneru.

Výpis všech účtů, které je možné obnovit v aktuálním předplatném

Spuštěním následujícího příkazu Azure CLI zobrazte seznam všech účtů, které je možné obnovit v aktuálním předplatném.

az cosmosdb restorable-database-account list --account-name "Pitracct"

Odpověď zahrnuje všechny databázové účty (živé i odstraněné), které je možné obnovit, a oblasti, ze kterých se dají obnovit:

{
    "accountName": "Pitracct",
    "apiType": "Sql",
    "creationTime": "2021-01-08T23:34:11.095870+00:00",
    "deletionTime": null,
    "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234",
    "identity": null,
    "location": "West US",
    "name": "abcd1234-d1c0-4645-a699-abcd1234",
    "restorableLocations": [
      {
        "creationTime": "2021-01-08T23:34:11.095870+00:00",
        "deletionTime": null,
        "locationName": "West US",
        "regionalDatabaseAccountInstanceId": "f02df26b-c0ec-4829-8bef-3482d36e6230"
      }
    ],
    "tags": null,
    "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts"
  }

Stejně jako CreationTime nebo DeletionTime pro účet, existuje také CreationTime nebo DeletionTime pro oblast. Tyto možnosti vám umožňují vybrat správný region a platný časový rozsah pro obnovení v této oblasti.

Výpis všech verzí databází v účtu živé databáze

Výpis všech verzí databází umožňuje zvolit správnou databázi ve scénáři, ve kterém je skutečná doba existence databáze neznámá.

Spuštěním následujícího příkazu Azure CLI zobrazte seznam všech verzí databází. Tento příkaz funguje jenom s živými účty. Parametry instance-id a location jsou získány z vlastností name a location ve výsledku příkazu az cosmosdb restorable-database-account list. Atribut instanceId je také vlastností zdrojového databázového účtu, který se obnovuje:

az cosmosdb sql restorable-database list \
  --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
  --location "West US"

Tento výstup příkazu teď ukazuje, kdy byla vytvořena a odstraněna databáze.

[
  {
    "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234/restorableSqlDatabases/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
     "name": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
    "resource": {
      "database": {
        "id": "db1"
      },
      "eventTimestamp": "2021-01-08T23:27:25Z",
      "operationType": "Create",
      "ownerId": "db1",
      "ownerResourceId": "YuZAAA=="
    },
   
  },
  {
    "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234/restorableSqlDatabases/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
    "name": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
    "resource": {
      "database": {
        "id": "spdb1"
      },
      "eventTimestamp": "2021-01-08T23:25:25Z",
      "operationType": "Create",
      "ownerId": "spdb1",
      "ownerResourceId": "OIQ1AA=="
    },
 
  }
]

Výpis všech verzí kontejnerů SQL databáze v účtu živé databáze

Pomocí následujícího příkazu zobrazíte seznam všech verzí kontejnerů SQL. Tento příkaz funguje jenom s živými účty. Parametr database-rid je ResourceId databáze, kterou chcete obnovit. Jedná se o hodnotu atributu ownerResourceid nalezeného v odpovědi příkazu az cosmosdb sql restorable-database list.

az cosmosdb sql restorable-container list \
    --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
    --database-rid "OIQ1AA==" \
    --location "West US"

Tento výstup příkazu ukazuje seznam operací prováděných se všemi kontejnery v této databázi:

[
  {
      "eventTimestamp": "2021-01-08T23:25:29Z",
      "operationType": "Replace",
      "ownerId": "procol3",
      "ownerResourceId": "OIQ1APZ7U18="
  },
  {
      "eventTimestamp": "2021-01-08T23:25:26Z",
      "operationType": "Create",
      "ownerId": "procol3",
      "ownerResourceId": "OIQ1APZ7U18="
  },
]

Najít databáze nebo kontejnery, které lze obnovit k libovolnému časovému bodu.

Pomocí následujícího příkazu získáte seznam databází nebo kontejnerů, které je možné obnovit v libovolném časovém razítku. Tento příkaz funguje jenom s živými účty.


az cosmosdb sql restorable-resource list \
  --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
  --location "West US" \
  --restore-location "West US" \  
  --restore-timestamp "2021-01-10T01:00:00+0000"

[
  {
    "collectionNames": [
      "procol1",
      "procol2"
    ],
    "databaseName": "db1"
  },
  {
    "collectionNames": [
      "procol3",
       "spcol1"
    ],
    "databaseName": "spdb1"
  }
]

Vyjmenovat obnovitelné prostředky pro účet rozhraní API pro MongoDB

Příkazy enumerace popsané níže vám pomůžou zjistit prostředky, které jsou k dispozici pro obnovení v různých časových intervalech. Kromě toho poskytují také kanál klíčových událostí v obnovovatelném účtu, databázi a prostředcích kontejneru. Tyto příkazy fungují jenom pro živé účty.

Výpis všech verzí databází MongoDB v účtu živé databáze

az cosmosdb mongodb restorable-database list \
    --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
    --location "West US"

Výpis všech verzí kolekcí databáze MongoDB v aktivním účtu databáze

az cosmosdb mongodb restorable-collection list \
    --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
    --database-rid "AoQ13r==" \
    --location "West US"

Výpis všech prostředků účtu databáze MongoDB, které jsou k dispozici pro obnovení k zadanému časovému razítku a v dané oblasti.

az cosmosdb mongodb restorable-resource list \
    --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
    --location "West US" \
    --restore-location "West US" \
    --restore-timestamp "2020-07-20T16:09:53+0000"

Výpis všech verzí databází v účtu živé databáze

Příkazy enumerace popsané níže vám pomůžou zjistit prostředky, které jsou k dispozici pro obnovení v různých časových intervalech. Kromě toho poskytují také přehled klíčových událostí u obnovitelného účtu, databáze a grafových prostředků. Tyto příkazy fungují jenom pro živé účty.

az cosmosdb gremlin restorable-database list \ 
   --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \ 
   --location "West US"

Tento výstup příkazu teď ukazuje, kdy byla vytvořena a odstraněna databáze.

[ { 
    "id": "/subscriptions/abcd1234-b6ac-4328-a753-abcd1234/providers/Microsoft.DocumentDB/locations/eastus2euap/restorableDatabaseAccounts/abcd1234-4316-483b-8308-abcd1234/restorableGremlinDatabases/abcd1234-0e32-4036-ac9d-abcd1234", 
    "name": "abcd1234-0e32-4036-ac9d-abcd1234", 
    "resource": { 
      "eventTimestamp": "2022-02-09T17:10:18Z", 
      "operationType": "Create", 
      "ownerId": "db1", 
      "ownerResourceId": "1XUdAA==", 
      "rid": "ymn7kwAAAA==" 
    }, 
    "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGremlinDatabases" 
    
  } 
] 

Výpis všech verzí grafů Gremlin databáze v účtu živé databáze

az cosmosdb gremlin restorable-graph list \ 
   --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \ 
   --database-rid "OIQ1AA==" \ 
   --location "West US" 

Tento výstup příkazu ukazuje seznam operací prováděných se všemi kontejnery v této databázi:

[ { 

    "id": "/subscriptions/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b/providers/Microsoft.DocumentDB/locations/eastus2euap/restorableDatabaseAccounts/eeee4efe-ff5f-aa6a-bb7b-cccccc8c8c8c/restorableGraphs/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d", 
    "name": "ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d", 
    "resource": { 
      "eventTimestamp": "2022-02-09T17:10:31Z", 
      "operationType": "Create", 
      "ownerId": "graph1", 
      "ownerResourceId": "1XUdAPv9duQ=", 
      "rid": "IcWqcQAAAA==" 
    }, 
    "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGraphs" 
  } 
] 

Vyhledejte databáze nebo grafy, které je možné obnovit v libovolném časovém razítku.

 
az cosmosdb gremlin restorable-resource list \ 
   --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \ 
   --location "West US" \ 
   --restore-location "West US" \ 
   --restore-timestamp "2021-01-10T01:00:00+0000" 

Tento výstup příkazu ukazuje grafy, které je možné obnovit:

[
 { 
"databaseName": "db1", 
"graphNames": [ "graph1",   "graph3",   "graph2"  ] 
  } 
] 

Vyjmenovat obnovitelné prostředky pro rozhraní API pro účet Table

Příkazy enumerace popsané níže vám pomůžou zjistit prostředky, které jsou k dispozici pro obnovení v různých časových intervalech. Kromě toho poskytují také přehled klíčových událostí na obnovitelném účtu a rozhraní API pro tabulkové zdroje. Tyto příkazy fungují jenom pro živé účty.

Výpis všech verzí tabulek v účtu živé databáze

az cosmosdb table restorable-table list \ 
   --instance-id "abcd1234-d1c0-4645-a699-abcd1234"  
   --location "West US" 
[   { 

"id": "/subscriptions/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b/providers/Microsoft.DocumentDB/locations/WestUS/restorableDatabaseAccounts/aaaa6a6a-bb7b-cc8c-dd9d-eeeeee0e0e0e/restorableTables/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f", 
"name": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f", 
"resource": { 
  "eventTimestamp": "2022-02-09T17:09:54Z", 
  "operationType": "Create", 
  "ownerId": "table1", 
  "ownerResourceId": "tOdDAKYiBhQ=", 
  "rid": "9pvDGwAAAA==" 
  }, 
"type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableTables" 
   }, 

{"id": "/subscriptions/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b/providers/Microsoft.DocumentDB/locations/eastus2euap/restorableDatabaseAccounts/aaaa6a6a-bb7b-cc8c-dd9d-eeeeee0e0e0e/restorableTables/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a", 
"name": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a", 
"resource": { 
  "eventTimestamp": "2022-02-09T20:47:53Z", 
  "operationType": "Create", 
  "ownerId": "table3", 
  "ownerResourceId": "tOdDALBwexw=", 
  "rid": "01DtkgAAAA==" 
}, 
"type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableTables" 

  }, 
] 

Vypište všechny prostředky API pro účet Table, které jsou k dispozici k obnovení v daném časovém bodu a oblasti.

az cosmosdb table restorable-resource list \ 
   --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \ 
   --location "West US" \ 
   --restore-location "West US" \ 
   --restore-timestamp "2020-07-20T16:09:53+0000" 

Následuje výsledek příkazu.

{   
  "tableNames": [ 
"table1", 
"table3", 
"table2" 

  ] 
} 

Obnovení pomocí šablony Azure Resource Manageru

Účet můžete obnovit také pomocí šablony Azure Resource Manageru (ARM). Při definování šablony zahrňte následující parametry:

Obnovení účtu API pro NoSQL nebo MongoDB pomocí šablony ARM

  1. createMode Nastavte parametr na Restore.
  2. restoreParameters Definujte a všimněte si, že hodnota restoreSource je extrahována z výstupu příkazu az cosmosdb restorable-database-account list pro váš zdrojový účet. Atribut ID instance pro název vašeho účtu slouží k obnovení.
  3. restoreMode Nastavte parametr na PointInTime a nakonfigurujte restoreTimestampInUtc hodnotu.

Pomocí následující šablony ARM obnovte účet pro rozhraní API služby Azure Cosmos DB pro NoSQL nebo MongoDB. Další příklady pro jiná rozhraní API jsou k dispozici.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "name": "vinhpitrarmrestore-kal3",
      "type": "Microsoft.DocumentDB/databaseAccounts",
      "apiVersion": "2023-04-15",
      "location": "West US",
      "properties": {
        "locations": [
          {
            "locationName": "West US"
          }
        ],
        "databaseAccountOfferType": "Standard",
        "createMode": "Restore",
        "restoreParameters": {
            "restoreSource": "/subscriptions/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/eeee4efe-ff5f-aa6a-bb7b-cccccc8c8c8c",
            "restoreMode": "PointInTime",
            "restoreTimestampInUtc": "6/24/2020 4:01:48 AM",
            "restoreWithTtlDisabled": "true"
        }
      }
    }
  ]
}

Obnovení rozhraní API pro účet Gremlin pomocí šablony ARM

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "name": "ademo-pitr1",
      "type": "Microsoft.DocumentDB/databaseAccounts",
      "apiVersion": "2023-04-15",
      "location": "West US",
      "properties": {
        "locations": [
          {
            "locationName": "West US"
          }
        ],
        "backupPolicy": { 
          "type": "Continuous" 
        }, 
        "databaseAccountOfferType": "Standard",
        "createMode": "Restore",
        "restoreParameters": {
            "restoreSource": "/subscriptions/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d",
            "restoreMode": "PointInTime",
            "restoreTimestampInUtc": "2021-10-27T23:20:46Z",
            "gremlinDatabasesToRestore": [{ 
                "databaseName": "db1", 
                "graphNames": [ 
                    "graph1", "graph2" 
                ] 
            }]
        }
      }
    }
  ]
}

Obnovení rozhraní API pro účet tabulky pomocí šablony ARM

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "name": "ademo-pitr1",
      "type": "Microsoft.DocumentDB/databaseAccounts",
      "apiVersion": "2023-04-15",
      "location": "West US",
      "properties": {
        "locations": [
          {
            "locationName": "West US"
          }
        ],
        "backupPolicy": { 
          "type": "Continuous" 
        }, 
        "databaseAccountOfferType": "Standard",
        "createMode": "Restore",
        "restoreParameters": {
            "restoreSource": "/subscriptions/aaaa6a6a-bb7b-cc8c-dd9d-eeeeee0e0e0e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4bcb9d82e-ec71-430b-b977-cd6641db85ad",
            "restoreMode": "PointInTime",
            "restoreTimestampInUtc": "2022-04-13T10:20:46Z",
             "tablesToRestore": [ 
                "table1", "table2" 
            ] 
        }
      }
    }
  ]
}

Pak šablonu nasadíte pomocí Azure PowerShellu nebo Azure CLI. Následující příklad ukazuje, jak nasadit šablonu pomocí příkazu Azure CLI:

az deployment group create -g <ResourceGroup> --template-file <RestoreTemplateFilePath> 

Další kroky