Udostępnij za pośrednictwem


Przywracanie konta usługi Azure Cosmos DB korzystającego z trybu ciągłej kopii zapasowej

DOTYCZY: NoSQL MongoDB Gremlin Stół

Funkcja przywracania do punktu w czasie usługi Azure Cosmos DB ułatwia odzyskiwanie po przypadkowej zmianie w kontenerze w celu przywrócenia usuniętego konta, bazy danych lub kontenera lub przywrócenia do dowolnego regionu (w którym istniały kopie zapasowe). Tryb ciągłej kopii zapasowej umożliwia przywracanie do dowolnego punktu z ostatnich 30 dni.

W tym artykule opisano sposób identyfikowania czasu przywracania i przywracania konta na żywo lub usuniętego konta usługi Azure Cosmos DB. Pokazano w nim, jak przywrócić konto przy użyciu witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia lub szablonu usługi Azure Resource Manager.

Przywracanie konta przy użyciu witryny Azure Portal

Przywracanie konta na żywo z przypadkowej modyfikacji

Za pomocą witryny Azure Portal można przywrócić całe konto na żywo lub wybrane bazy danych i kontenery w tej witrynie. Aby przywrócić dane, wykonaj następujące czynności:

  1. Zaloguj się w witrynie Azure Portal.

  2. Przejdź do konta usługi Azure Cosmos DB i otwórz blok Przywracanie do punktu w czasie.

    Uwaga

    Blok przywracania w witrynie Azure Portal jest wypełniany tylko wtedy, gdy masz Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read uprawnienia. Aby dowiedzieć się więcej na temat ustawiania tego uprawnienia, zobacz artykuł Uprawnienia do tworzenia kopii zapasowych i przywracania.

  3. Wypełnij następujące szczegóły, aby przywrócić:

    • Punkt przywracania (UTC) — znacznik czasu w ciągu ostatnich 30 dni. Konto powinno istnieć w tym znaczniku czasu. Punkt przywracania można określić w formacie UTC. Może to być tak blisko sekundy, gdy chcesz go przywrócić. Wybierz link Kliknij tutaj, aby uzyskać pomoc dotyczącą identyfikowania punktu przywracania.

    • Location — region docelowy, w którym jest przywracane konto. Konto powinno istnieć w tym regionie w danym znaczniku czasu (na przykład Zachodnie stany USA lub Wschodnie stany USA). Konto można przywrócić tylko do regionów, w których istniało konto źródłowe.

    • Przywróć zasób — możesz wybrać pozycję Całe konto lub wybraną bazę danych/kontener do przywrócenia. Bazy danych i kontenery powinny istnieć w danym znaczniku czasu. Na podstawie wybranego punktu przywracania i lokalizacji są wypełniane zasoby przywracania, co umożliwia użytkownikowi wybranie określonych baz danych lub kontenerów, które mają zostać przywrócone.

    • Grupa zasobów — grupa zasobów, w ramach której zostanie utworzone i przywrócone konto docelowe. Grupa zasobów musi już istnieć.

    • Przywróć konto docelowe — nazwa konta docelowego. Nazwa konta docelowego musi postępować zgodnie z tymi samymi wytycznymi co podczas tworzenia nowego konta. To konto zostanie utworzone przez proces przywracania w tym samym regionie, w którym istnieje Twoje konto źródłowe.

    Przywróć konto na żywo z przypadkowej modyfikacji witryny Azure Portal.

  4. Po wybraniu powyższych parametrów wybierz przycisk Prześlij , aby rozpocząć przywracanie. Koszt przywracania to jednorazowa opłata, która zależy od rozmiaru danych i kosztu magazynu kopii zapasowych w wybranym regionie. Aby dowiedzieć się więcej, zobacz sekcję Cennik .

Usunięcie konta źródłowego, gdy przywracanie jest w toku, może spowodować niepowodzenie przywracania.

Sygnatura czasowa z możliwością przywracania dla kont na żywo

Aby przywrócić konta na żywo usługi Azure Cosmos DB, które nie zostały usunięte, najlepszym rozwiązaniem jest zawsze identyfikowanie najnowszego znacznika czasu możliwego do przywrócenia dla kontenera. Następnie możesz użyć tego znacznika czasu, aby przywrócić konto do najnowszej wersji.

Identyfikowanie czasu przywracania za pomocą kanału informacyjnego zdarzeń

Jeśli potrzebujesz pomocy przy identyfikowaniu punktu przywracania w witrynie Azure Portal, wybierz link Kliknij tutaj , a następnie przejdź do bloku kanału informacyjnego zdarzeń. Źródło zdarzeń zawiera pełną wierność listy tworzenia, zastępowania, usuwania zdarzeń w bazach danych i kontenerach konta źródłowego.

Jeśli na przykład chcesz przywrócić do punktu przed usunięciem lub zaktualizowaniem określonego kontenera, sprawdź ten kanał zdarzeń. Zdarzenia są wyświetlane w chronologicznie malejącej kolejności czasu, gdy wystąpiły, z ostatnimi zdarzeniami u góry. Możesz przeglądać wyniki i wybierać czas przed lub po zdarzeniu, aby jeszcze bardziej zawęzić czas.

Użyj kanału informacyjnego zdarzeń, aby zidentyfikować czas punktu przywracania.

Uwaga

Kanał informacyjny zdarzeń nie wyświetla zmian w zasobach elementów. Zawsze można ręcznie określić dowolny znacznik czasu w ciągu ostatnich 30 dni (o ile konto istnieje w tym czasie) na potrzeby przywracania.

Przywracanie usuniętego konta

Możesz użyć witryny Azure Portal, aby całkowicie przywrócić usunięte konto w ciągu 30 dni od jego usunięcia. Aby przywrócić usunięte konto, wykonaj następujące kroki:

  1. Zaloguj się w witrynie Azure Portal.

  2. Wyszukaj zasoby usługi Azure Cosmos DB na pasku wyszukiwania globalnego. Wyświetla listę wszystkich istniejących kont.

  3. Następnie wybierz przycisk Przywróć . W bloku Przywracanie zostanie wyświetlona lista usuniętych kont, które można przywrócić w okresie przechowywania, czyli 30 dni od czasu usunięcia.

  4. Wybierz konto, które chcesz przywrócić.

    Przywracanie usuniętego konta z witryny Azure Portal.

    Uwaga

    Blok przywracania w witrynie Azure Portal jest wypełniany tylko wtedy, gdy masz Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read uprawnienia. Aby dowiedzieć się więcej na temat ustawiania tego uprawnienia, zobacz artykuł Uprawnienia do tworzenia kopii zapasowych i przywracania.

  5. Wybierz konto, aby przywrócić i wprowadzić następujące szczegóły, aby przywrócić usunięte konto:

    • Punkt przywracania (UTC) — znacznik czasu w ciągu ostatnich 30 dni. Konto powinno istnieć w tym znaczniku czasu. Określ punkt przywracania w formacie UTC. Może to być tak blisko sekundy, gdy chcesz go przywrócić.

    • Lokalizacja — region docelowy, w którym należy przywrócić konto. Konto źródłowe powinno istnieć w tym regionie w danym znaczniku czasu. Przykład Zachodnie stany USA lub Wschodnie stany USA.

    • Grupa zasobów — grupa zasobów, w ramach której zostanie utworzone i przywrócone konto docelowe. Grupa zasobów musi już istnieć.

    • Przywróć konto docelowe — nazwa konta docelowego musi postępować zgodnie z tymi samymi wytycznymi co podczas tworzenia nowego konta. To konto zostanie utworzone przez proces przywracania w tym samym regionie, w którym istnieje Twoje konto źródłowe.

Śledzenie stanu operacji przywracania

Po zainicjowaniu operacji przywracania wybierz ikonę Dzwonek powiadomień w prawym górnym rogu portalu. Zawiera on link wyświetlający stan przywracanego konta. Gdy przywracanie jest w toku, stan konta to Tworzenie, po zakończeniu operacji przywracania stan konta zmieni się na Online.

Stan przywróconego konta zmienia się z tworzenia na online po zakończeniu operacji.

Pobieranie szczegółów przywracania z przywróconego konta

Po zakończeniu operacji przywracania możesz chcieć znać szczegóły konta źródłowego, z których przywrócono lub czas przywracania.

Aby uzyskać szczegóły przywracania z witryny Azure Portal, wykonaj następujące czynności:

  1. Zaloguj się do witryny Azure Portal i przejdź do przywróconego konta.

  2. Przejdź do okienka Eksportuj szablon . Spowoduje to otwarcie szablonu JSON odpowiadającego przywróconym kontu.

Przywracanie konta przy użyciu programu Azure PowerShell

Przed przywróceniem konta zainstaluj najnowszą wersję programu Azure PowerShell lub wyższą niż 9.6.0. Następnie połącz się z kontem platformy Azure i wybierz wymaganą subskrypcję przy użyciu następujących poleceń:

  1. Zaloguj się do platformy Azure przy użyciu następującego polecenia:

    Connect-AzAccount
    
  2. Wybierz określoną subskrypcję za pomocą następującego polecenia:

    Select-AzSubscription -Subscription <SubscriptionName>
    

Wyzwalanie operacji przywracania dla interfejsu API dla konta NoSQL

Następujące polecenie cmdlet to przykład wyzwalania operacji przywracania za pomocą polecenia przywracania przy użyciu konta docelowego, konta źródłowego, lokalizacji, grupy zasobów, PublicNetworkAccess, DisableTtl i znacznika czasu:


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

Przykład 1: Przywracanie całego konta:


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


Jeśli PublicNetworkAccess to nie jest ustawione, przywrócone konto jest dostępne z sieci publicznej, upewnij się, że należy przekazać Disabled do PublicNetworkAccess opcji wyłączenia dostępu do sieci publicznej dla przywróconego konta. Ustawienie wartości DisableTtl na wartość $true gwarantuje, że czas wygaśnięcia jest wyłączony na przywróconym koncie, a nie dostarcza parametr przywraca konto z włączonym czasem wygaśnięcia, jeśli został ustawiony wcześniej.

Uwaga

W przypadku przywracania z wyłączonym dostępem do sieci publicznej minimalna stabilna wersja modułu Az.CosmosDB to 1.12.0.

Przykład 2. Przywracanie określonych kolekcji i baz danych. W tym przykładzie przywrócono kolekcje MyCol1, MyCol2 z bazy danych MyDB1 i całej bazy danych MyDB2, która zawiera wszystkie pod nim kontenery.

$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"

Przykład 3. Przywracanie interfejsu API dla konta Gremlin. W tym przykładzie przywrócono grafy graph1, graph2 z bazy danych MyDB1 i całej bazy danych MyDB2, która zawiera wszystkie pod nim kontenery.

$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"

Przykład 4. Przywracanie interfejsu API dla konta tabeli. W tym przykładzie tabela table1, table1 z bazy danych 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"

Aby przywrócić konto ciągłe skonfigurowane przy użyciu tożsamości zarządzanej przy użyciu interfejsu wiersza polecenia

Aby przywrócić ciągłe konto klucza zarządzanego przez klienta (CMK), zapoznaj się z krokami podanymi tutaj

Pobieranie szczegółów przywracania z przywróconego konta

Zaimportuj Az.CosmosDB moduł w wersji 1.12.0 i uruchom następujące polecenie, aby uzyskać szczegóły przywracania. Element restoreTimestamp będzie znajdować się w obiekcie restoreParameters:

Get-AzCosmosDBAccount -ResourceGroupName MyResourceGroup -Name MyCosmosDBDatabaseAccount 

Wyliczanie zasobów możliwych do przywrócenia dla interfejsu API dla noSQL

Polecenia cmdlet wyliczenia ułatwiają odnajdywanie zasobów, które są dostępne do przywrócenia w różnych znacznikach czasu. Ponadto udostępniają również źródło kluczowych zdarzeń dotyczących zasobów konta, bazy danych i kontenera, które można przywrócić.

Wyświetl listę wszystkich kont, które można przywrócić w bieżącej subskrypcji

Get-AzCosmosDBRestorableDatabaseAccount Uruchom polecenie programu PowerShell, aby wyświetlić listę wszystkich kont, które można przywrócić w bieżącej subskrypcji.

Odpowiedź zawiera wszystkie konta bazy danych (aktywne i usunięte), które można przywrócić, oraz regiony, z których można je przywrócić.

{
    "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"
  }

Podobnie jak CreationTime w przypadku konta , DeletionTime istnieje CreationTime również element lub DeletionTime dla regionu. Te czasy umożliwiają wybranie odpowiedniego regionu i prawidłowego zakresu czasu do przywrócenia do tego regionu.

Wyświetlanie listy wszystkich wersji baz danych SQL na koncie bazy danych na żywo

Wyświetlenie listy wszystkich wersji baz danych umożliwia wybranie odpowiedniej bazy danych w scenariuszu, w którym rzeczywisty czas istnienia bazy danych jest nieznany.

Uruchom następujące polecenie programu PowerShell, aby wyświetlić listę wszystkich wersji baz danych. To polecenie działa tylko z kontami na żywo. Parametry DatabaseAccountInstanceId i Location są uzyskiwane z name właściwości i location w odpowiedzi Get-AzCosmosDBRestorableDatabaseAccount polecenia cmdlet. Atrybut DatabaseAccountInstanceId odwołuje się do instanceId właściwości przywracanego źródłowego konta bazy danych:


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

Wyświetlanie listy wszystkich wersji kontenerów SQL bazy danych na koncie bazy danych na żywo

Użyj następującego polecenia, aby wyświetlić listę wszystkich wersji kontenerów SQL. To polecenie działa tylko z kontami na żywo. Parametr DatabaseRId jest ResourceId bazą danych, którą chcesz przywrócić. Jest to wartość atrybutu ownerResourceid znalezionego Get-AzCosmosdbSqlRestorableDatabase w odpowiedzi polecenia cmdlet. Odpowiedź zawiera również listę operacji wykonywanych na wszystkich kontenerach w tej bazie danych.


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

Znajdowanie baz danych lub kontenerów, które można przywrócić w dowolnym momencie

Użyj następującego polecenia, aby uzyskać listę baz danych lub kontenerów, które można przywrócić w dowolnym momencie. To polecenie działa tylko z kontami na żywo.


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

Wyliczanie zasobów możliwych do przywrócenia w interfejsie API dla bazy danych MongoDB

Polecenia wyliczenia opisane poniżej ułatwiają odnajdywanie zasobów, które są dostępne do przywrócenia w różnych znacznikach czasu. Ponadto udostępniają również źródło kluczowych zdarzeń dotyczących zasobów konta, bazy danych i kontenera, które można przywrócić. Te polecenia działają tylko dla kont na żywo i są podobne do interfejsu API dla poleceń NoSQL, ale w MongoDB nazwie polecenia zamiast sql.

Wyświetlanie listy wszystkich wersji baz danych MongoDB na koncie bazy danych na żywo


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

Wyświetlanie listy wszystkich wersji kolekcji bazy danych MongoDB na koncie bazy danych na żywo


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

Wyświetl listę wszystkich zasobów konta bazy danych MongoDB, które jest dostępne do przywrócenia w danym znaczniku czasu i regionie


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

Wyliczanie zasobów możliwych do przywrócenia dla interfejsu API dla języka Gremlin

Polecenia cmdlet wyliczenia ułatwiają odnajdywanie zasobów, które są dostępne do przywrócenia w różnych znacznikach czasu. Ponadto udostępniają również źródło kluczowych zdarzeń na zasobach konta, bazy danych i grafu z możliwością przywracania.

Wyświetlanie listy wszystkich wersji baz danych Gremlin na koncie bazy danych na żywo

Wyświetlenie listy wszystkich wersji baz danych umożliwia wybranie odpowiedniej bazy danych w scenariuszu, w którym rzeczywisty czas istnienia bazy danych jest nieznany. Uruchom następujące polecenie programu PowerShell, aby wyświetlić listę wszystkich wersji baz danych. To polecenie działa tylko z kontami na żywo. Parametry DatabaseAccountInstanceId i Location są uzyskiwane z name właściwości i location w odpowiedzi Get-AzCosmosDBRestorableDatabaseAccount polecenia cmdlet. Atrybut DatabaseAccountInstanceId odwołuje się do instanceId właściwości przywracanego źródłowego konta bazy danych:

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

Wyświetlanie listy wszystkich wersji grafów gremlin bazy danych na koncie bazy danych na żywo

Użyj następującego polecenia, aby wyświetlić listę wszystkich wersji interfejsu API dla grafów języka Gremlin. To polecenie działa tylko z kontami na żywo. Parametr DatabaseRId jest ResourceId bazą danych, którą chcesz przywrócić. Jest to wartość atrybutu ownerResourceid znalezionego Get-AzCosmosdbGremlinRestorableDatabase w odpowiedzi polecenia cmdlet. Odpowiedź zawiera również listę operacji wykonywanych na wszystkich grafach w tej bazie danych.

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

Znajdowanie baz danych lub wykresów, które można przywrócić w dowolnym momencie

Użyj następującego polecenia, aby uzyskać listę baz danych lub wykresów, które można przywrócić w dowolnym momencie. To polecenie działa tylko z kontami na żywo.

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

Wyliczanie zasobów możliwych do przywrócenia dla interfejsu API dla tabeli

Polecenia cmdlet wyliczenia ułatwiają odnajdywanie zasobów, które są dostępne do przywrócenia w różnych znacznikach czasu. Ponadto udostępniają również źródło kluczowych zdarzeń dla zasobów konta i tabeli, które można przywrócić.

Wyświetlanie listy wszystkich wersji tabel bazy danych na koncie bazy danych na żywo

Użyj następującego polecenia, aby wyświetlić listę wszystkich wersji tabel. To polecenie działa tylko z kontami na żywo.

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

Znajdowanie tabel, które można przywrócić w dowolnym momencie

Użyj następującego polecenia, aby uzyskać listę tabel, które można przywrócić w dowolnym momencie. To polecenie działa tylko z kontami na żywo.

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

Przywracanie konta przy użyciu interfejsu wiersza polecenia platformy Azure

Przed przywróceniem konta zainstaluj interfejs wiersza polecenia platformy Azure, wykonując następujące czynności:

  1. Instalowanie najnowszej wersji interfejsu wiersza polecenia platformy Azure

    • Zainstaluj najnowszą wersję interfejsu wiersza polecenia platformy Azure lub wyższą niż 2.52.0.
    • Jeśli masz już zainstalowany interfejs wiersza polecenia, uruchom az upgrade polecenie , aby zaktualizować do najnowszej wersji. To polecenie będzie działać tylko z interfejsem wiersza polecenia w wersji nowszej niż 2.52.0. Jeśli masz starszą wersję, użyj powyższego linku, aby zainstalować najnowszą wersję.
  2. Zaloguj się i wybierz swoją subskrypcję

    • Zaloguj się do konta platformy Azure za pomocą az login polecenia .
    • Wybierz wymaganą subskrypcję przy użyciu az account set -s <subscriptionguid> polecenia .

Wyzwalanie operacji przywracania przy użyciu interfejsu wiersza polecenia platformy Azure

Najprostszym sposobem wyzwolenia przywracania jest wystawienie polecenia restore o nazwie konta docelowego, konta źródłowego, lokalizacji, grupy zasobów, znacznika czasu (w formacie UTC) oraz opcjonalnie nazw baz danych i kontenerów. Poniżej przedstawiono kilka przykładów wyzwalania operacji przywracania:

Tworzenie nowego konta usługi Azure Cosmos DB przez przywrócenie z istniejącego konta


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

Jeśli --public-network-access nie ustawiono, przywrócone konto jest dostępne z sieci publicznej. Upewnij się, że należy przekazać Disabled--public-network-access opcję, aby uniemożliwić dostęp do sieci publicznej dla przywróconego konta. Ustawienie wartości disable-ttl na wartość $true gwarantuje, że czas wygaśnięcia jest wyłączony na przywróconym koncie i nie udostępnia tego parametru przywraca konto z włączonym czasem wygaśnięcia, jeśli został ustawiony wcześniej.

Uwaga

W przypadku przywracania z wyłączonym dostępem do sieci publicznej minimalna stabilna wersja interfejsu wiersza polecenia platformy Azure to 2.52.0.

Utwórz nowe konto usługi Azure Cosmos DB, przywracając tylko wybrane bazy danych i kontenery z istniejącego konta bazy danych


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

Utwórz nowy interfejs API usługi Azure Cosmos DB dla konta języka Gremlin, przywracając tylko wybrane bazy danych i grafy z istniejącego interfejsu API dla konta języka 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 

Utwórz nowy interfejs API usługi Azure Cosmos DB dla konta tabeli, przywracając tylko wybrane tabele z istniejącego interfejsu API dla konta tabel


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 

Pobieranie szczegółów przywracania z przywróconego konta

Uruchom następujące polecenie, aby uzyskać szczegóły przywracania. Dane az cosmosdb show wyjściowe polecenia pokazują wartość createMode właściwości. Jeśli wartość jest ustawiona na Przywróć, oznacza to, że konto zostało przywrócone z innego konta. Właściwość restoreParameters zawiera dodatkowe szczegóły, takie jak restoreSource, które mają identyfikator konta źródłowego. Ostatni identyfikator GUID w parametrze restoreSource jest instanceId kontem źródłowym. Obiekt będzie znajdować restoreTimestamp się w restoreParameters obiekcie :

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

Wyliczanie zasobów możliwych do przywrócenia dla interfejsu API dla noSQL

Polecenia wyliczenia opisane poniżej ułatwiają odnajdywanie zasobów, które są dostępne do przywrócenia w różnych znacznikach czasu. Ponadto udostępniają również źródło kluczowych zdarzeń dotyczących zasobów konta, bazy danych i kontenera, które można przywrócić.

Wyświetl listę wszystkich kont, które można przywrócić w bieżącej subskrypcji

Uruchom następujące polecenie interfejsu wiersza polecenia platformy Azure, aby wyświetlić listę wszystkich kont, które można przywrócić w bieżącej subskrypcji

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

Odpowiedź zawiera wszystkie konta bazy danych (aktywne i usunięte), które można przywrócić, oraz regiony, z których można je przywrócić:

{
    "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"
  }

Podobnie jak CreationTime w przypadku konta , DeletionTime istnieje CreationTime również element lub DeletionTime dla regionu. Te czasy umożliwiają wybranie odpowiedniego regionu i prawidłowego zakresu czasu do przywrócenia do tego regionu.

Wyświetlanie listy wszystkich wersji baz danych na koncie bazy danych na żywo

Wyświetlenie listy wszystkich wersji baz danych umożliwia wybranie odpowiedniej bazy danych w scenariuszu, w którym rzeczywisty czas istnienia bazy danych jest nieznany.

Uruchom następujące polecenie interfejsu wiersza polecenia platformy Azure, aby wyświetlić listę wszystkich wersji baz danych. To polecenie działa tylko z kontami na żywo. Parametry instance-id i location są uzyskiwane z name właściwości i location w odpowiedzi az cosmosdb restorable-database-account list polecenia . Atrybut instanceId jest również właściwością źródłowego konta bazy danych, które jest przywracane:

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

Dane wyjściowe tego polecenia pokazują teraz, kiedy baza danych została utworzona i usunięta.

[
  {
    "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=="
    },
 
  }
]

Wyświetlanie listy wszystkich wersji kontenerów SQL bazy danych na koncie bazy danych na żywo

Użyj następującego polecenia, aby wyświetlić listę wszystkich wersji kontenerów SQL. To polecenie działa tylko z kontami na żywo. Parametr database-rid jest ResourceId bazą danych, którą chcesz przywrócić. Jest to wartość atrybutu ownerResourceid znalezionego az cosmosdb sql restorable-database list w odpowiedzi polecenia.

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

Te dane wyjściowe polecenia zawierają listę operacji wykonywanych na wszystkich kontenerach w tej bazie danych:

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

Znajdowanie baz danych lub kontenerów, które można przywrócić w dowolnym momencie

Użyj następującego polecenia, aby uzyskać listę baz danych lub kontenerów, które można przywrócić w dowolnym momencie. To polecenie działa tylko z kontami na żywo.


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"
  }
]

Wyliczanie zasobów możliwych do przywrócenia dla interfejsu API dla konta bazy danych MongoDB

Polecenia wyliczenia opisane poniżej ułatwiają odnajdywanie zasobów, które są dostępne do przywrócenia w różnych znacznikach czasu. Ponadto udostępniają również źródło kluczowych zdarzeń dotyczących zasobów konta, bazy danych i kontenera, które można przywrócić. Te polecenia działają tylko dla kont na żywo.

Wyświetlanie listy wszystkich wersji baz danych MongoDB na koncie bazy danych na żywo

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

Wyświetlanie listy wszystkich wersji kolekcji bazy danych MongoDB na koncie bazy danych na żywo

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

Wyświetl listę wszystkich zasobów konta bazy danych mongodb, które są dostępne do przywrócenia w danym znaczniku czasu i regionie

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"

Wyświetlanie listy wszystkich wersji baz danych na koncie bazy danych na żywo

Polecenia wyliczenia opisane poniżej ułatwiają odnajdywanie zasobów, które są dostępne do przywrócenia w różnych znacznikach czasu. Ponadto udostępniają również źródło kluczowych zdarzeń na zasobach konta, bazy danych i grafu z możliwością przywracania. Te polecenia działają tylko dla kont na żywo.

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

Dane wyjściowe tego polecenia pokazują teraz, kiedy baza danych została utworzona i usunięta.

[ { 
    "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" 
    
  } 
] 

Wyświetlanie listy wszystkich wersji grafów gremlin bazy danych na koncie bazy danych na żywo

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

Te dane wyjściowe polecenia zawierają listę operacji wykonywanych na wszystkich kontenerach w tej bazie danych:

[ { 

    "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" 
  } 
] 

Znajdowanie baz danych lub wykresów, które można przywrócić w dowolnym momencie

 
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" 

W danych wyjściowych tego polecenia są wyświetlane wykresy, które można przywrócić:

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

Wyliczanie zasobów możliwych do przywrócenia dla interfejsu API dla konta tabeli

Polecenia wyliczenia opisane poniżej ułatwiają odnajdywanie zasobów, które są dostępne do przywrócenia w różnych znacznikach czasu. Ponadto udostępniają również kanał informacyjny kluczowych zdarzeń dotyczących możliwego do przywrócenia konta i interfejsu API dla zasobów tabeli. Te polecenia działają tylko dla kont na żywo.

Wyświetlanie listy wszystkich wersji tabel na koncie aktywnej bazy danych

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" 

  }, 
] 

Wyświetl listę wszystkich zasobów interfejsu API dla konta tabeli, które są dostępne do przywrócenia w danym znaczniku czasu i regionie

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" 

Poniżej znajduje się wynik polecenia .

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

  ] 
} 

Przywracanie przy użyciu szablonu usługi Azure Resource Manager

Możesz również przywrócić konto przy użyciu szablonu usługi Azure Resource Manager (ARM). Podczas definiowania szablonu uwzględnij następujące parametry:

Przywracanie interfejsu API dla konta NoSQL lub MongoDB przy użyciu szablonu usługi ARM

  1. Ustaw parametr na createMode Przywróć.
  2. Zdefiniuj restoreParameterselement , zwróć uwagę, że restoreSource wartość jest wyodrębniona z danych wyjściowych polecenia dla konta źródłowego az cosmosdb restorable-database-account list . Atrybut Identyfikator wystąpienia dla nazwy konta służy do przywracania.
  3. restoreMode Ustaw parametr na PointInTime i skonfiguruj restoreTimestampInUtc wartość.

Użyj następującego szablonu usługi ARM, aby przywrócić konto dla interfejsu API usługi Azure Cosmos DB dla bazy danych NoSQL lub MongoDB. Przykłady dla innych interfejsów API są dostępne w następnej kolejności.

{
  "$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"
        }
      }
    }
  ]
}

Przywracanie interfejsu API dla konta języka Gremlin przy użyciu szablonu usługi 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" 
                ] 
            }]
        }
      }
    }
  ]
}

Przywracanie interfejsu API dla konta tabeli przy użyciu szablonu usługi 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" 
            ] 
        }
      }
    }
  ]
}

Następnie wdróż szablon przy użyciu programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure. W poniższym przykładzie pokazano, jak wdrożyć szablon za pomocą polecenia interfejsu wiersza polecenia platformy Azure:

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

Następne kroki